Triage Paperclip inbox issues that are stale, blocked, in-review, or assigned-but-not-progressing, and decide a single next action per issue (resume, reassign, unblock, escalate, or close).
Convert a noisy inbox into a small set of clear next actions. Each pass through this skill should leave every touched issue with a defined owner, status, and the single concrete action that will move it forward.
in_progress, in_review, and blocked assignments.request_confirmation or ask_user_questions. Wait for the response — re-triage is noise.GET /api/agents/me/inbox-lite for the compact assignment list.GET /api/issues/{issueId}/heartbeat-context for compact state including blockerAttention, executionState, ancestors, and commentCursor.For each issue, classify into exactly one of:
in_progress or move to todo so the assignee picks it up.in_review only if the new assignee is human, otherwise leave in_progress.blockedByIssueIds entry is now done or cancelled. If cancelled, replace or remove it from blockedByIssueIds. The blockers-resolved wake will fire automatically when all are done.request_confirmation, ask_user_questions, or request_board_approval and set the issue to in_review.done or cancelled with a one-line reason.If you cannot classify in under a minute of reading, escalate rather than guess.
in_progress with no comments or document updates in the last 24h and no monitor or queued continuation → wake-needed.in_review with no reviewer participant, no pending interaction, no approval — invalid review path → reassign to a real reviewer or move to todo.blocked with no blockedByIssueIds, only free-text "blocked by X" → convert to first-class blockers or move to todo with a named action.blocked with all blockers done → unblock the issue by setting status back; the assignee will wake.in_progress → confirm parent acceptance, then close.blocked issue if your most recent comment was also a blocked update with no reply since.A short comment chain or summary message that lists, per issue touched:
This is the bar for "the triage is done."
Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/issue-triage · pinned to the source commit
# Run from your project root
git clone https://github.com/paperclipai/paperclip.git .skillboard-tmp
git -C .skillboard-tmp checkout 4a641d0980fdaffc4c4e805f6f0a8809eb5702f2
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/packages/skills-catalog/catalog/bundled/paperclip-operations/issue-triage" ".claude/skills/"
rm -rf .skillboard-tmpReview the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
sudo apt update && sudo apt install -y gitnpm install -g @anthropic-ai/claude-code# Run from your project root
git clone https://github.com/paperclipai/paperclip.git .skillboard-tmp
git -C .skillboard-tmp checkout 4a641d0980fdaffc4c4e805f6f0a8809eb5702f2
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/packages/skills-catalog/catalog/bundled/paperclip-operations/issue-triage" ".claude/skills/"
rm -rf .skillboard-tmpDestination: .claude/skills/issue-triage
Scanner static-checks@0.1.0 · commit 4a641d0980fd. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
No static rules matched. This is not a safety guarantee.