A Paperclip plugin for reviewing agent-produced documents linked to issues.
- Document inbox -- all agent-produced documents start as "pending" for your review
- Review workflow -- approve, request changes, reject, or dismiss documents
- Issue integration -- reviews post comments back to the linked issue
- Agent wake-up -- optionally wake the assigned agent when revisions are requested
- Issue context -- see the linked issue's details without leaving the review UI
- Filtering -- filter by review status, search across document names and issue identifiers
The plugin adds a Document Review page to your Paperclip sidebar at /{companyPrefix}/file-viewer.
| Layer | File | Description |
|---|---|---|
| Worker | src/worker.ts |
Reads native Paperclip issue documents via the SDK. Review state stored in plugin state (scoped per-issue). Actions: review, dismiss, reset-review. |
| UI | src/ui/index.tsx |
Inbox/Approved/Dismissed/All tabs, document content preview, issue context panel, inline review actions with optional agent wake-up. |
| Manifest | src/manifest.ts |
Plugin metadata, capabilities, and UI slot declarations. |
Unlike v0.3 which maintained a separate file store, v0.4 reads documents directly from Paperclip's native issue document system via ctx.issues.documents. Review state (pending/approved/changes_requested/rejected/dismissed) is stored as a plugin state overlay scoped to each issue+document.
When you review a document:
- The review status is saved in plugin state
- A comment is posted on the linked issue (e.g. "Document Review: approved document
post") - If you request changes or reject, you can optionally wake the assigned agent with your feedback
plugin.state.read/plugin.state.write-- review state storagecompanies.read/issues.read/issue.documents.read-- read documentsissue.comments.create-- post review comments on issuesagents.read/agents.invoke-- wake agents for revisionsui.page.register/ui.sidebar.register-- UI slots
npx paperclipai plugin install ./paperclip-file-viewer --localnpm install
npm run build| Status | Meaning |
|---|---|
| pending | Needs review (default for all documents) |
| approved | Content approved |
| changes_requested | Revisions needed (agent can be woken) |
| rejected | Content rejected (agent can be woken) |
| dismissed | No review needed (removed from inbox) |
This plugin was designed, coded, and debugged entirely by Paperclip AI agents running on a self-hosted Paperclip instance. v0.4 upgrade designed by Claude.
MIT