Skip to content

✨ feat: add Paper session skills and cross-agent plugin manifests - #8

Merged
isabensusan merged 2 commits into
mainfrom
add-paper-session-skills
Aug 28, 2026
Merged

✨ feat: add Paper session skills and cross-agent plugin manifests#8
isabensusan merged 2 commits into
mainfrom
add-paper-session-skills

Conversation

@isabensusan

@isabensusan isabensusan commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

What

Five new skills that let coding agents get value from the org's recorded Paper sessions:

Skill Covers
recall Before starting work: search org history, turn the closest precedent into an anchored playbook
search Org-wide semantic search (all authors, all harnesses) + time/author browsing, console deep links via ?trace=
digest Today / 7d / 30d org activity report built from sessions list rollups only, with cursor pagination
generate-skill paperctl skill generate from recorded sessions (user-confirmation gate), then skill sync install
session-link Resolve the agent's own live session to its tapes id and console link; the harness-id-vs-tapes-id trap

Plus plugin manifests so the same skills install across harnesses — Claude Code (.claude-plugin/ plugin + marketplace), skills.sh (.agents/plugins/), Codex, Cursor, Gemini CLI — a CONTRIBUTING with skill-authoring conventions, and README sections for per-agent installation. Existing flake, CI, and the remaining skills are untouched; the new skill dirs are picked up by mkSkillsFlake automatically.

Removes pull-from-paper: the search skill supersedes it (same ground — org-wide lookup through paperctl — plus console deep links and owner-scoping). Its two unique gotchas were folded into search (--auth-subject silently returns zero rows on an email; login is an interactive device flow), and the tapes skill's cross-references now point at search.

Grounding

Every command, flag, JSON field, and URL was verified against paperctl v0.26.0 --help, the tapes API source (search-hit and skill response structs), and the console router (/sessions/$sessionId, ?trace= deep-link). The session-link resolution ladder was verified end-to-end from inside a live recorded session; the digest pagination and aggregation were run against a real org window.

For reviewers

  • paperctl search / paperctl skill return HTTP 404 on tapes deployments that predate those endpoints; the skills document that failure mode explicitly.

Refs PCC-1289

🤖 Generated with Claude Code

Five skills over paperctl for orgs recording sessions in Paper — recall,
search, digest, generate-skill, session-link — plus plugin manifests so
the repo installs into Claude Code, skills.sh, Codex, Cursor, and Gemini
CLI, and a CONTRIBUTING with skill-authoring conventions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@greptile-apps

greptile-apps Bot commented Aug 27, 2026

Copy link
Copy Markdown

Greptile Summary

The PR adds five Paper session workflows and cross-agent installation metadata.

  • Adds recall, semantic search, activity digest, skill generation, and live-session linking guidance.
  • Adds Claude, Codex, Cursor, Gemini, and skills.sh plugin metadata and installation documentation.
  • Adds contributor conventions for authoring and validating skills.

Confidence Score: 4/5

The ownership-pagination defect should be fixed before merging because it can make “my session” searches return a false negative.

The search workflow recognizes that session lists are cursor-paginated but retrieves only the first 200 owned sessions before making a definitive ownership conclusion.

Files Needing Attention: skills/search/SKILL.md

Important Files Changed

Filename Overview
skills/search/SKILL.md Adds org-wide search and ownership filtering, but the one-page ownership intersection can incorrectly exclude older user-owned sessions.
skills/digest/SKILL.md Adds a rollup-only activity report with explicit cursor pagination, aggregation fields, and reporting safeguards.
skills/generate-skill/SKILL.md Adds a confirmation-gated workflow for generating and locally syncing organization skills.
skills/recall/SKILL.md Adds precedent retrieval with anchored playbook synthesis and explicit handling for unavailable or empty search results.
skills/session-link/SKILL.md Adds resolution guidance distinguishing harness session IDs from tapes IDs before constructing console links.
README.md Documents the new skills, prerequisites, and installation procedures for supported agent environments.
.claude-plugin/marketplace.json Registers the repository as a Claude Code marketplace containing the Paper plugin.
.claude-plugin/plugin.json Defines Paper plugin identity and descriptive metadata for Claude Code.
.codex-plugin/plugin.json Defines Codex plugin metadata and points discovery at the repository skills directory.
.cursor-plugin/plugin.json Defines Cursor plugin metadata and points discovery at the repository skills directory.
gemini-extension.json Adds the root extension metadata used by Gemini CLI installation.
Prompt To Fix All With AI
### Issue 1
skills/search/SKILL.md:62-66
**Ownership intersection stops early**

If a user has more than 200 recorded sessions and an owned search hit is outside the first page, this workflow excludes that hit and reports that the user has no such session. Follow `next_cursor` until empty before treating the ownership intersection as complete.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (1): Last reviewed commit: "✨ feat: add Paper session skills and cro..." | Re-trigger Greptile

Comment thread skills/search/SKILL.md
Comment on lines +62 to +66
2. `paperctl sessions list --auth-subject <user_id> --json --limit 200` → the
user's own session ids.
3. Keep only hits whose `session_id` is in that set. None left means the user
has no such session — say so, and leave teammates' hits unopened rather
than "double-checking" owners with `sessions get`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Ownership intersection stops early

If a user has more than 200 recorded sessions and an owned search hit is outside the first page, this workflow excludes that hit and reports that the user has no such session. Follow next_cursor until empty before treating the ownership intersection as complete.

Knowledge Base Used: Developer workflow skills

Prompt To Fix With AI
This is a comment left during a code review.
Path: skills/search/SKILL.md
Line: 62-66

Comment:
**Ownership intersection stops early**

If a user has more than 200 recorded sessions and an owned search hit is outside the first page, this workflow excludes that hit and reports that the user has no such session. Follow `next_cursor` until empty before treating the ownership intersection as complete.

**Knowledge Base Used:** [Developer workflow skills](https://app.greptile.com/paper-compute/-/custom-context/knowledge-base/papercomputeco/skills/-/docs/developer-workflow-skills.md)

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

The search skill covers the same ground (org-wide lookup through
paperctl) with console deep links and owner-scoping. Folded
pull-from-paper's two unique gotchas into search — --auth-subject
silently returns zero rows on an email, and login is an interactive
device flow — and retargeted the tapes skill's cross-references.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@linear-code

linear-code Bot commented Aug 27, 2026

Copy link
Copy Markdown

PCC-1289

@isabensusan
isabensusan merged commit 1f71274 into main Aug 28, 2026
6 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant