mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-13 22:32:30 +02:00
## Thinking Path > - Paperclip is the open source app people use to manage AI agents for work. > - The personal inbox uses issue activity to identify a person's participation. > - Issue reads can cancel stale recovery actions and record that cleanup as the reader's action. > - This adds unrelated tasks to the inbox and refreshes their activity timestamps. > - A workspace owner hold can also alternate between creation and cancellation after a task finishes. > - This pull request corrects cleanup attribution, excludes historical read cleanup, and retains one exact owner hold. > - Agents can read authorized issue activity to diagnose the same problem themselves. ## Linked Issues or Issue Description Refs #15742 excludes logs by the execution-recovery actor from activity timestamps. This PR covers reader-attributed stale recovery cleanup, personal inbox participation, exact workspace owner holds, and sandbox issue activity access. I searched open issues and PRs for recovery inbox and activity bridge fixes. I found no duplicate for this defect. **What happened?** Loading issue lists cancels stale recovery actions under the reader's identity. The personal inbox treats those rows as user participation. One completed issue had hundreds of such rows and no edits or comments by the affected reader. A retained native workspace owner repeatedly creates a verification action that read projections then cancel. Sandbox agents cannot inspect the issue activity because the reverse bridge rejects the route. **Expected behavior** Automatic cleanup belongs to the system and does not add an issue to a reader's inbox. Historical cleanup rows remain auditable but do not count as participation or recent activity. An unresolved physical workspace owner keeps one stable verification action. Agents can inspect activity only for issues their identity may read. **Steps to reproduce** 1. Finish a task whose native run retains an unverifiable workspace owner receipt. 2. Repeat workspace recovery checks and GET requests for issue detail, compact lists, and recovery actions. 3. Observe new recovery action IDs and reader-attributed cancellations in the activity history. 4. Query the personal inbox for that reader and observe the unrelated task. 5. From a sandbox agent, request GET /api/issues/:id/activity and observe Route not allowed. **Paperclip version or commit** Observed atf5346c05b9. Regression tests use current master behavior. **Deployment mode** Authenticated hosted instance with native and legacy sandbox agents. The inbox defect is independent of the adapter. ## What Changed - Attribute automatic stale recovery cleanup to the recovery system actor. - Exclude exact historical read cleanup rows from personal inbox membership, unread counts, and both activity timestamp queries. Keep all audit rows and explicit user recovery decisions. - Retain owner verification holds only while the exact company, run, issue, and owner fingerprint still match. Apply the same rule to reads and background recovery. - Make repeated checks for the same owner hold leave its identity, attempts, and timestamps unchanged. Keep physical takeover blocked. - Allow GET issue activity through the sandbox bridge. Keep the existing company and issue-read authorization and reject broader audit routes. - Add regressions and update the runtime API and recovery documentation. Refresh generated source references for the documentation edits. Update the paired activity, inbox, and recovery maps. ## Verification - Focused Vitest verification: 315 tests pass across five files. The updated terminal owner hold regression also passes. The files cover issue service, recovery routes, activity authorization, sandbox callback bridge, and native workspace finalization. - `pnpm -r typecheck` and `pnpm build` pass locally. The full general and serialized unit test matrix passes in CI on the latest commit. The duplicate local `pnpm test:run` was stopped after about 30 minutes once that full CI coverage passed; it did not report a local full-suite pass. - `node scripts/check-maps.mjs` passes for all paired areas and capability IDs. - Apex is 5/5 on commit44c3787888. Its access map finding is fixed and resolved. All CI checks are green on this commit. - The new regression repeats reads and background sweeps for done and cancelled tasks. It checks one unchanged hold, zero physical copyback, zero personal inbox participation, and system cleanup after the exact receipt is cleared. - Historical cleanup tests preserve explicit recovery decisions, nullable metadata, unread counts, and the original audit rows. - Authorization tests permit an authorized agent and reject cross-company or issue-boundary reads. Bridge tests reject write methods, extra path segments, and company-wide audit routes. ## Risks Existing inbox items can disappear if their only participation evidence was automatic read cleanup. No data migration or audit deletion is needed. An unresolved workspace owner remains visible after task completion; this preserves the physical writer fence. A stale or cleared owner does not retain the hold. Issue activity access expands only the sandbox transport allowlist and still uses existing controller authorization. ## Model Used OpenAI GPT-6 through Codex, with reasoning, repository inspection, code editing, shell execution, and test tools. The session identifies the model family as GPT-6. A more specific runtime model ID and context window size are not exposed. ## Checklist - [x] I have included a thinking path that traces from project context to this change - [x] I have specified the model used (with version and capability details) - [x] I have checked ROADMAP.md and confirmed this PR does not duplicate planned core work - [x] I have searched GitHub for duplicate or related PRs and linked them above - [x] I have either (a) linked existing issues with `Fixes: #` / `Closes #` / `Refs #` OR (b) described the issue in-PR following the relevant issue template - [x] I have not referenced internal/instance-local Paperclip issues or links (only public GitHub `#NNN` / `github.com/paperclipai/paperclip` URLs) - [x] My branch name describes the change (e.g. `docs/...`, `fix/...`) and contains no internal Paperclip ticket id or instance-derived details - [x] I have run tests locally and they pass - [x] I have added or updated tests where applicable - [x] I have updated relevant documentation to reflect my changes - [x] I have considered and documented any risks above - [x] All Paperclip CI gates are green - [x] Greptile is 5/5 with no open P2s, recommendations, or follow-ups - [x] I will address all Greptile and reviewer comments before requesting merge --------- Co-authored-by: Paperclip <noreply@paperclip.ing> Co-authored-by: Amy (Opus) <noreply@anthropic.com>
1491 lines
65 KiB
YAML
1491 lines
65 KiB
YAML
{
|
|
"schemaVersion": 1,
|
|
"rows": [
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:10",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L10:paperclip-skill",
|
|
"heading": "Paperclip Skill",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:14",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L14:terminology",
|
|
"heading": "Terminology",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:20",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L20:authentication",
|
|
"heading": "Authentication",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:32",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L32:conversation-tasks",
|
|
"heading": "Conversation tasks",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:49",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L49:server-verified-external-chat-turns",
|
|
"heading": "Server-Verified External Chat Turns",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:89",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L89:the-heartbeat-procedure",
|
|
"heading": "The Heartbeat Procedure",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:200",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L200:generated-artifacts-and-work-products",
|
|
"heading": "Generated Artifacts and Work Products",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "register_deliverable",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:248",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L248:status-quick-guide",
|
|
"heading": "Status Quick Guide",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:258",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L258:monitors-and-watchers-say-only-what-you-actually-scheduled",
|
|
"heading": "Monitors and Watchers (say only what you actually scheduled)",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:271",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L271:delegating-review-tasks",
|
|
"heading": "Delegating review tasks",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:282",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L282:managing-a-user-s-inbox",
|
|
"heading": "Managing A User's Inbox",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:290",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L290:issue-dependencies-blockers",
|
|
"heading": "Issue Dependencies (Blockers)",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:315",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L315:requesting-board-approval",
|
|
"heading": "Requesting Board Approval",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:336",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L336:issue-thread-interactions",
|
|
"heading": "Issue-Thread Interactions",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "request_human_input",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:366",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L366:standalone-decisions",
|
|
"heading": "Standalone Decisions",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:470",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L470:mcp-tool-approval-gates",
|
|
"heading": "MCP Tool Approval Gates",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:512",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L512:niche-workflow-pointers",
|
|
"heading": "Niche Workflow Pointers",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:522",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L522:cases",
|
|
"heading": "Cases",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:527",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L527:company-skills-workflow",
|
|
"heading": "Company Skills Workflow",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:538",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L538:routines",
|
|
"heading": "Routines",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:549",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L549:task-files-and-workspace-choices",
|
|
"heading": "Task Files and Workspace Choices",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:555",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L555:issue-workspace-runtime-controls",
|
|
"heading": "Issue Workspace Runtime Controls",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:562",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L562:proposing-credentials-safely",
|
|
"heading": "Proposing Credentials Safely",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:569",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L569:reading-granted-secrets",
|
|
"heading": "Reading Granted Secrets",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:595",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L595:critical-rules",
|
|
"heading": "Critical Rules",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:616",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L616:comment-style-required",
|
|
"heading": "Comment Style (Required)",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "report_progress",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:648",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L648:update",
|
|
"heading": "Update",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:658",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L658:task-documents-and-deliverables",
|
|
"heading": "Task Documents and Deliverables",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "write_document",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:672",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L672:planning-required-when-planning-requested",
|
|
"heading": "Planning (Required when planning requested)",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "write_document",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:703",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L703:key-endpoints-hot-routes",
|
|
"heading": "Key Endpoints (Hot Routes)",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:733",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L733:searching-issues",
|
|
"heading": "Searching Issues",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:743",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L743:full-reference",
|
|
"heading": "Full Reference",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:747",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L747:conversational-confirmation-answers",
|
|
"heading": "Conversational confirmation answers",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "call_api",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:764",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L764:incidental-feedback",
|
|
"heading": "Incidental feedback",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1:paperclip-api-reference",
|
|
"heading": "Paperclip API Reference",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:9",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L9:response-schemas",
|
|
"heading": "Response Schemas",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:11",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L11:agent-record-get-api-agents-me-or-get-api-agents-agentid",
|
|
"heading": "Agent Record (`GET /api/agents/me` or `GET /api/agents/:agentId`)",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:44",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L44:company-portability",
|
|
"heading": "Company Portability",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:116",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L116:issue-with-ancestors-get-api-issues-issueid",
|
|
"heading": "Issue with Ancestors (`GET /api/issues/:issueId`)",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:202",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L202:issue-update-response-patch-api-issues-issueid",
|
|
"heading": "Issue Update Response (`PATCH /api/issues/:issueId`)",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:244",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L244:blocker-diagnostics-get-api-issues-issueid-diagnostics-blockers",
|
|
"heading": "Blocker Diagnostics (`GET /api/issues/:issueId/diagnostics/blockers`)",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:283",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L283:wake-diagnostics-get-api-issues-issueid-diagnostics-wakes",
|
|
"heading": "Wake Diagnostics (`GET /api/issues/:issueId/diagnostics/wakes`)",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:327",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L327:subtree-diagnostics-get-api-issues-issueid-diagnostics-subtree",
|
|
"heading": "Subtree Diagnostics (`GET /api/issues/:issueId/diagnostics/subtree`)",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:375",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L375:execution-policy-fields-on-an-issue",
|
|
"heading": "Execution Policy Fields On An Issue",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:427",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L427:cross-agent-review-gates",
|
|
"heading": "Cross-Agent Review Gates",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:460",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L460:worked-example-ic-heartbeat",
|
|
"heading": "Worked Example: IC Heartbeat",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:465",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L465:1-identity-skip-if-already-in-context",
|
|
"heading": "1. Identity (skip if already in context)",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:469",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L469:2-check-inbox",
|
|
"heading": "2. Check inbox",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:476",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L476:3-already-have-issue-101-in-progress-highest-priority-continue-it",
|
|
"heading": "3. Already have issue-101 in_progress (highest priority). Continue it.",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:483",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L483:4-do-the-actual-work-write-code-run-tests",
|
|
"heading": "4. Do the actual work (write code, run tests)",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:485",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L485:5-work-is-done-update-status-and-comment-in-one-call",
|
|
"heading": "5. Work is done. Update status and comment in one call.",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "report_progress",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:489",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L489:6-still-have-time-checkout-the-next-task",
|
|
"heading": "6. Still have time. Checkout the next task.",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:496",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L496:7-made-partial-progress-not-done-yet-comment-and-exit",
|
|
"heading": "7. Made partial progress, not done yet. Comment and exit.",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "report_progress",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:501",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L501:worked-example-report-a-board-user-s-mine-inbox",
|
|
"heading": "Worked Example: Report A Board User's Mine Inbox",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "report_progress",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:506",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L506:board-user-created-the-requesting-issue",
|
|
"heading": "Board user created the requesting issue.",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:510",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L510:fetch-the-board-user-s-mine-inbox-issues",
|
|
"heading": "Fetch the board user's Mine inbox issues.",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:524",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L524:summarize-it-back-to-the-board-in-a-comment-or-document",
|
|
"heading": "Summarize it back to the board in a comment or document.",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "write_document",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:529",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L529:worked-example-archive-a-resolved-inbox-item",
|
|
"heading": "Worked Example: Archive A Resolved Inbox Item",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:534",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L534:the-responsible-user-s-id-is-resolved-from-the-authenticated-agent-run",
|
|
"heading": "The responsible user's id is resolved from the authenticated agent run.",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:543",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L543:reverse-the-archive-if-it-was-premature-or-no-longer-desired",
|
|
"heading": "Reverse the archive if it was premature or no longer desired.",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:553",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L553:worked-example-reviewer-approver-heartbeat",
|
|
"heading": "Worked Example: Reviewer / Approver Heartbeat",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:592",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L592:worked-example-manager-heartbeat",
|
|
"heading": "Worked Example: Manager Heartbeat",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:595",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L595:1-identity-skip-if-already-in-context",
|
|
"heading": "1. Identity (skip if already in context)",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:599",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L599:2-check-team-status",
|
|
"heading": "2. Check team status",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:606",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L606:3-agent-42-is-blocked-read-comments",
|
|
"heading": "3. Agent-42 is blocked. Read comments.",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "report_progress",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:610",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L610:4-unblock-reassign-and-comment",
|
|
"heading": "4. Unblock: reassign and comment.",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "report_progress",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:614",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L614:5-check-own-assignments",
|
|
"heading": "5. Check own assignments.",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:621",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L621:6-create-subtasks-and-delegate",
|
|
"heading": "6. Create subtasks and delegate.",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:627",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L627:load-tests-depend-on-caching-layer-being-done-first-paperclip-will-auto-wake-agent-55-when-the-blocker-resolves",
|
|
"heading": "^ Load tests depend on caching layer being done first. Paperclip will auto-wake agent-55 when the blocker resolves.",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:632",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L632:7-dashboard-for-health-check",
|
|
"heading": "7. Dashboard for health check.",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:638",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L638:comments-and-mentions",
|
|
"heading": "Comments and @-mentions",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "report_progress",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:645",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L645:update",
|
|
"heading": "Update",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:667",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L667:cross-team-work-and-delegation",
|
|
"heading": "Cross-Team Work and Delegation",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:671",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L671:receiving-cross-team-work",
|
|
"heading": "Receiving cross-team work",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:681",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L681:questions-and-dependencies",
|
|
"heading": "Questions and dependencies",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "request_human_input",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:693",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L693:company-context",
|
|
"heading": "Company Context",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:705",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L705:company-branding-ceo-board",
|
|
"heading": "Company Branding (CEO / Board)",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:725",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L725:openclaw-invite-prompt-ceo",
|
|
"heading": "OpenClaw Invite Prompt (CEO)",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:744",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L744:setting-agent-instructions-path",
|
|
"heading": "Setting Agent Instructions Path",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:777",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L777:project-setup-create-workspace",
|
|
"heading": "Project Setup (Create + Workspace)",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:801",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L801:option-a-one-call-create-with-workspace",
|
|
"heading": "Option A: One-call create with workspace",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:820",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L820:option-b-two-calls-project-first-then-workspace",
|
|
"heading": "Option B: Two calls (project first, then workspace)",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:849",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L849:governance-and-approvals",
|
|
"heading": "Governance and Approvals",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:853",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L853:requesting-a-hire-management-only",
|
|
"heading": "Requesting a hire (management only)",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:918",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L918:ceo-strategy-approval",
|
|
"heading": "CEO strategy approval",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:927",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L927:questions-and-waiting-for-human-input",
|
|
"heading": "Questions and waiting for human input",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "request_human_input",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1031",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1031:issue-thread-confirmations",
|
|
"heading": "Issue-thread confirmations",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1089",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1089:conversational-confirmation-answers",
|
|
"heading": "Conversational confirmation answers",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "call_api",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1095",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1095:checkbox-confirmations",
|
|
"heading": "Checkbox confirmations",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1210",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1210:item-verdict-requests",
|
|
"heading": "Item verdict requests",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1320",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1320:checking-approval-status",
|
|
"heading": "Checking approval status",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1326",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1326:approval-follow-up-requesting-agent",
|
|
"heading": "Approval follow-up (requesting agent)",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1344",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1344:issue-lifecycle",
|
|
"heading": "Issue Lifecycle",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1374",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1374:error-handling",
|
|
"heading": "Error Handling",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1388",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1388:full-api-reference",
|
|
"heading": "Full API Reference",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1390",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1390:agents",
|
|
"heading": "Agents",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1411",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1411:issues-tasks",
|
|
"heading": "Issues (Tasks)",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1452",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1452:companies-projects-goals",
|
|
"heading": "Companies, Projects, Goals",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1476",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1476:routines",
|
|
"heading": "Routines",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1492",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1492:approvals-costs-activity-dashboard",
|
|
"heading": "Approvals, Costs, Activity, Dashboard",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1514",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1514:secrets",
|
|
"heading": "Secrets",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1527",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1527:agent-secret-proposals",
|
|
"heading": "Agent secret proposals",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1580",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1580:re-bind-an-existing-secret-under-a-new-path-no-secret-id",
|
|
"heading": "Re-bind an existing secret under a new path (no secret ID)",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1627",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1627:agent-secret-access",
|
|
"heading": "Agent secret access",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1667",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1667:common-mistakes",
|
|
"heading": "Common Mistakes",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/artifacts.md:1",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/artifacts.md#L1:generated-artifacts-and-work-products",
|
|
"heading": "Generated Artifacts and Work Products",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "register_deliverable",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/artifacts.md:15",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/artifacts.md#L15:workspace-only-file-references",
|
|
"heading": "Workspace-Only File References",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/cases.md:1",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/cases.md#L1:cases",
|
|
"heading": "Cases",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/cases.md:12",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/cases.md#L12:core-model",
|
|
"heading": "Core Model",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/cases.md:29",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/cases.md#L29:upsert-semantics",
|
|
"heading": "Upsert Semantics",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/cases.md:67",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/cases.md#L67:read-and-search",
|
|
"heading": "Read And Search",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/cases.md:90",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/cases.md#L90:documents",
|
|
"heading": "Documents",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "write_document",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/cases.md:118",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/cases.md#L118:fields",
|
|
"heading": "Fields",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/cases.md:151",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/cases.md#L151:issue-links",
|
|
"heading": "Issue Links",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/cases.md:176",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/cases.md#L176:child-cases",
|
|
"heading": "Child Cases",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/cases.md:195",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/cases.md#L195:attachments",
|
|
"heading": "Attachments",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/cases.md:208",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/cases.md#L208:lifecycle",
|
|
"heading": "Lifecycle",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/cases.md:222",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/cases.md#L222:worked-blog-post-example",
|
|
"heading": "Worked Blog Post Example",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/company-skills.md:1",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/company-skills.md#L1:company-skills-workflow",
|
|
"heading": "Company Skills Workflow",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/company-skills.md:5",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/company-skills.md#L5:what-exists",
|
|
"heading": "What Exists",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/company-skills.md:22",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/company-skills.md#L22:permission-model",
|
|
"heading": "Permission Model",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/company-skills.md:29",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/company-skills.md#L29:core-endpoints",
|
|
"heading": "Core Endpoints",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/company-skills.md:65",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/company-skills.md#L65:install-a-skill-into-the-company",
|
|
"heading": "Install A Skill Into The Company",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/company-skills.md:75",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/company-skills.md#L75:app-shipped-catalog",
|
|
"heading": "App-shipped catalog",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/company-skills.md:101",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/company-skills.md#L101:external-source-import",
|
|
"heading": "External source import",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/company-skills.md:105",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/company-skills.md#L105:source-types-in-order-of-preference",
|
|
"heading": "Source types (in order of preference)",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/company-skills.md:116",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/company-skills.md#L116:example-skills-sh-import-preferred",
|
|
"heading": "Example: skills.sh import (preferred)",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/company-skills.md:138",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/company-skills.md#L138:example-github-import",
|
|
"heading": "Example: GitHub import",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/company-skills.md:164",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/company-skills.md#L164:inspect-what-was-installed",
|
|
"heading": "Inspect What Was Installed",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/company-skills.md:181",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/company-skills.md#L181:assign-skills-to-an-existing-agent",
|
|
"heading": "Assign Skills To An Existing Agent",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/company-skills.md:216",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/company-skills.md#L216:include-skills-during-hire-or-create",
|
|
"heading": "Include Skills During Hire Or Create",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/company-skills.md:256",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/company-skills.md#L256:notes",
|
|
"heading": "Notes",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/issue-documents.md:1",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/issue-documents.md#L1:issue-documents-through-the-api",
|
|
"heading": "Issue documents through the API",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "write_document",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/issue-documents.md:8",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/issue-documents.md#L8:create-a-document",
|
|
"heading": "Create a document",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "write_document",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/issue-documents.md:49",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/issue-documents.md#L49:update-or-resolve-an-unclear-write",
|
|
"heading": "Update or resolve an unclear write",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/issue-workspaces.md:1",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/issue-workspaces.md#L1:issue-workspace-runtime-controls",
|
|
"heading": "Issue Workspace Runtime Controls",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/issue-workspaces.md:5",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/issue-workspaces.md#L5:discover-the-workspace",
|
|
"heading": "Discover the Workspace",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/issue-workspaces.md:23",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/issue-workspaces.md#L23:choose-files-and-repositories",
|
|
"heading": "Choose Files and Repositories",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/issue-workspaces.md:37",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/issue-workspaces.md#L37:control-services",
|
|
"heading": "Control Services",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/issue-workspaces.md:42",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/issue-workspaces.md#L42:start-all-configured-services-waits-for-configured-readiness-checks",
|
|
"heading": "Start all configured services; waits for configured readiness checks.",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/issue-workspaces.md:50",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/issue-workspaces.md#L50:restart-all-configured-services",
|
|
"heading": "Restart all configured services.",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/issue-workspaces.md:58",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/issue-workspaces.md#L58:stop-all-running-services",
|
|
"heading": "Stop all running services.",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/issue-workspaces.md:77",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/issue-workspaces.md#L77:read-the-url",
|
|
"heading": "Read the URL",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/issue-workspaces.md:86",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/issue-workspaces.md#L86:mcp-tools",
|
|
"heading": "MCP Tools",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/routines.md:1",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/routines.md#L1:paperclip-routines",
|
|
"heading": "Paperclip Routines",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/routines.md:16",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/routines.md#L16:lifecycle",
|
|
"heading": "Lifecycle",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/routines.md:27",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/routines.md#L27:creating-a-routine",
|
|
"heading": "Creating a Routine",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/routines.md:64",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/routines.md#L64:concurrency-policies",
|
|
"heading": "Concurrency Policies",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/routines.md:76",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/routines.md#L76:catch-up-policies",
|
|
"heading": "Catch-Up Policies",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/routines.md:87",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/routines.md#L87:activity-gated-scheduled-runs",
|
|
"heading": "Activity-Gated Scheduled Runs",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/routines.md:107",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/routines.md#L107:example-skip-quiet-nights",
|
|
"heading": "Example: skip quiet nights",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/routines.md:126",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/routines.md#L126:adding-triggers",
|
|
"heading": "Adding Triggers",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/routines.md:136",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/routines.md#L136:schedule-cron",
|
|
"heading": "Schedule (cron)",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/routines.md:150",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/routines.md#L150:webhook",
|
|
"heading": "Webhook",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/routines.md:167",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/routines.md#L167:api-manual-only",
|
|
"heading": "API (manual only)",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/routines.md:179",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/routines.md#L179:updating-and-deleting-triggers",
|
|
"heading": "Updating and Deleting Triggers",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/routines.md:196",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/routines.md#L196:manual-run",
|
|
"heading": "Manual Run",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/routines.md:212",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/routines.md#L212:updating-a-routine",
|
|
"heading": "Updating a Routine",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/routines.md:223",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/routines.md#L223:reading-routines-and-runs",
|
|
"heading": "Reading Routines and Runs",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/workflows.md:1",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/workflows.md#L1:paperclip-workflow-playbooks",
|
|
"heading": "Paperclip Workflow Playbooks",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/workflows.md:7",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/workflows.md#L7:project-setup-ceo-manager",
|
|
"heading": "Project Setup (CEO/Manager)",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/workflows.md:22",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/workflows.md#L22:openclaw-invite-ceo",
|
|
"heading": "OpenClaw Invite (CEO)",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/workflows.md:50",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/workflows.md#L50:setting-agent-instructions-path",
|
|
"heading": "Setting Agent Instructions Path",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/workflows.md:79",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/workflows.md#L79:company-import-export",
|
|
"heading": "Company Import / Export",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/workflows.md:106",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/workflows.md#L106:self-test-playbook-app-level",
|
|
"heading": "Self-Test Playbook (App-Level)",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
}
|
|
]
|
|
}
|