✨ feat: add Paper session skills and cross-agent plugin manifests - #8
Conversation
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>
|
| 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
| 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`. |
There was a problem hiding this 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
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>
What
Five new skills that let coding agents get value from the org's recorded Paper sessions:
recallsearch?trace=digestsessions listrollups only, with cursor paginationgenerate-skillpaperctl skill generatefrom recorded sessions (user-confirmation gate), thenskill syncinstallsession-linkPlus 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 bymkSkillsFlakeautomatically.Removes
pull-from-paper: thesearchskill supersedes it (same ground — org-wide lookup throughpaperctl— plus console deep links and owner-scoping). Its two unique gotchas were folded intosearch(--auth-subjectsilently returns zero rows on an email; login is an interactive device flow), and thetapesskill's cross-references now point atsearch.Grounding
Every command, flag, JSON field, and URL was verified against
paperctlv0.26.0--help, the tapes API source (search-hit and skill response structs), and the console router (/sessions/$sessionId,?trace=deep-link). Thesession-linkresolution ladder was verified end-to-end from inside a live recorded session; thedigestpagination and aggregation were run against a real org window.For reviewers
paperctl search/paperctl skillreturn HTTP 404 on tapes deployments that predate those endpoints; the skills document that failure mode explicitly.Refs PCC-1289
🤖 Generated with Claude Code