Create, comment on, update, and list Paperclip tasks from Hermes using scoped Paperclip API credentials.
63
73%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./packages/adapters/hermes/skills/paperclip-task-bridge/SKILL.mdUse this skill when a Hermes-originated request needs to create or update Paperclip work directly. This is the Hermes-to-Paperclip direction, separate from Paperclip waking Hermes through the hermes_local or hermes_gateway adapter.
Configure these in Hermes env/profile secrets, not in prompt text:
PAPERCLIP_API_URL - Paperclip base URL, with or without /api.PAPERCLIP_BRIDGE_API_KEY - a Paperclip agent API key created with scope.kind = "task_bridge".Optional:
PAPERCLIP_API_KEY - fallback env var for older profiles; it must still contain a task_bridge scoped key, never a full agent key.PAPERCLIP_COMPANY_ID - skips one identity lookup when set.PAPERCLIP_AGENT_ID - skips one identity lookup when set.PAPERCLIP_RUN_ID - sent as X-Paperclip-Run-Id on mutating requests when Hermes is running inside a Paperclip heartbeat.Never print or paste API keys. The helper reads credentials from environment variables and only prints response summaries. Do not put a normal claimed agent API key in an internet-facing Hermes runtime; normal keys can use broad same-company Paperclip routes.
Create the key from a board-authenticated Paperclip API session and store the returned token once:
curl -X POST "$PAPERCLIP_API_URL/api/agents/$HERMES_AGENT_ID/keys" \
-H "Authorization: Bearer $BOARD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Hermes task bridge",
"scope": {
"kind": "task_bridge",
"parentIssueId": "00000000-0000-4000-8000-000000000000"
}
}'Use parentIssueId or parentIssueIds when Hermes should only create child tasks under approved work. Use projectId or projectIds when the approved boundary is a project. A bridge key can create tasks only inside that boundary, can comment/update only bridge-created or assigned issues, and cannot use company-wide issue list/search/read surfaces.
Run the helper from this skill directory:
node ./paperclip-task.mjs --helpCommands:
node ./paperclip-task.mjs list-assigned
node ./paperclip-task.mjs create-task --parent-id "00000000-0000-4000-8000-000000000000" --title "Investigate checkout failures" --description "Capture failing request and root cause."
node ./paperclip-task.mjs comment --issue PAP-123 --body "Found the failing request path."
node ./paperclip-task.mjs update-status --issue PAP-123 --status in_review --comment "Ready for review."create-task defaults to assigning the task to the authenticated Hermes agent so the work is immediately actionable. Use --unassigned to create backlog work instead. Use --assignee-agent-id <uuid> only when the Paperclip API key has permission to assign work to that agent.
For multiline bodies, prefer files or stdin:
node ./paperclip-task.mjs create-task --title "Write rollout note" --description-file ./task.md
node ./paperclip-task.mjs comment --issue PAP-123 --body-file -update-status only when the issue has a real disposition: done, in_review, blocked, todo, in_progress, backlog, or cancelled.list-assigned before creating duplicate work when the user asks about current Paperclip assignments.14f20be
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.