mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-13 23:39:21 +02:00
## Thinking Path > - Paperclip is the open source app people use to manage AI agents for work. > - Task questions remain saved so a person can answer them later. > - The composer moves an old question into history after a newer human message. > - Native completion still treated every pending question as a required response. > - This caused agents to demand an old answer after the person moved work forward. > - This pull request shares the historical-question rule across context and task execution. > - Agents can finish verified work while the original question remains answerable. ## Linked Issues or Issue Description Refs #15229, Refs #14613, Refs #13130. **What happened?** An agent repeatedly asked a person to answer a question that had moved into feed history. Completion feedback explicitly told the agent to request a response. The saved pending row also blocked task completion. **Expected behavior** A question before newer human direction remains answerable in the feed. Its pending state alone must not require another reminder or stop completed work. A new input blocker, an approval, or a configured review stage must keep its gate. **Steps to reproduce** 1. Let a task agent create an ordinary question. 2. Dismiss the question and send a newer task message. 3. Let the agent finish the requested work and submit its completion report. 4. Observe a demand to answer the old question and a retained completion gate. ## What Changed - Add one company-scoped predicate for historical questions. Only later human comments count. Exclude agent attribution, run attribution, system notices, and untrusted source data. - Apply the predicate to completion feedback, native waits, finalization, commit validation, retry validation, blocked routing, and successful-run handoff. - Include question classification and guidance in heartbeat context and both native task-context tools. Add the guidance to fresh and resumed task prompts. - Replace automatic reminders for current ordinary questions with instructions to assess the real blocker, continue independent work, and withdraw obsolete questions through the existing API. - Preserve historical question rows during completion while cancelling their live native source runs through the existing post-commit and recovery paths. Let an authorized human answer them after completion without reopening work or creating a response wake. Preserve cancellation, current-input, approval, permission, credential, connection, and review gates. Add no dismissal storage or migration. - Document the rule in the execution contract and agent skill. Refresh generated capability source anchors. Add database-backed status, context, attribution, and governance regression tests. ## Verification - `pnpm build` passed. The server rebuild also passed after the lifecycle fix. Generated capability contract and inventory checks passed after the agent documentation update. - `pnpm -r typecheck` passed. Final `pnpm --filter @paperclipai/server exec tsc --noEmit` also passed after the last test additions. - Lifecycle and interaction regressions passed: 224 tests in 3 suites. Context and prompt tests also passed. Final historical-question cases passed (33 tests), native cancellation/recovery cases passed (6 tests), and the existing interaction/confirmation suites passed (72 tests). The full local `pnpm test:run` was attempted and stopped after more than two hours with unrelated fixture/hook timeout failures; it did not pass. All 52 successful GitHub checks are green on the latest commit, including the complete test matrix; no checks are pending or failing. Greptile is 5/5 and both review threads are resolved. - Regression cases cover the old-question/new-human-message sequence, final task status, answering after completion with no wake, live-run cancellation and crash recovery, current input blockers, both task-context tools, API context, timestamp precision, attribution boundaries, and protected gates. ## Risks - A later human task message makes an earlier ordinary question historical even if its input is still missing. The agent must identify the current blocker and ask only for information that still prevents work. - Browser dismissal remains a local preference. Dismissal without a later human message is not recorded by this change. - No schema change or data migration. Completion retains ordinary historical questions; cancellation still expires them. A completed task accepts historical answers only from an authorized human and creates no response-delivery outbox row. Governed requests retain their gates. ## Model Used OpenAI Codex, GPT-6, with repository editing, code execution, and browser diagnostics. The exact deployment model ID and context-window size are not exposed in this session. ## 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>
1473 lines
64 KiB
YAML
1473 lines
64 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:198",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L198: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:246",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L246:status-quick-guide",
|
|
"heading": "Status Quick Guide",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:256",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L256: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:269",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L269:delegating-review-tasks",
|
|
"heading": "Delegating review tasks",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:280",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L280: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:288",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L288:issue-dependencies-blockers",
|
|
"heading": "Issue Dependencies (Blockers)",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:313",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L313:requesting-board-approval",
|
|
"heading": "Requesting Board Approval",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:334",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L334:issue-thread-interactions",
|
|
"heading": "Issue-Thread Interactions",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "request_human_input",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:364",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L364:standalone-decisions",
|
|
"heading": "Standalone Decisions",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:468",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L468: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:510",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L510:niche-workflow-pointers",
|
|
"heading": "Niche Workflow Pointers",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:520",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L520:cases",
|
|
"heading": "Cases",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:525",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L525:company-skills-workflow",
|
|
"heading": "Company Skills Workflow",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:536",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L536:routines",
|
|
"heading": "Routines",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:547",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L547: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:554",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L554:proposing-credentials-safely",
|
|
"heading": "Proposing Credentials Safely",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:561",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L561:reading-granted-secrets",
|
|
"heading": "Reading Granted Secrets",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:587",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L587:critical-rules",
|
|
"heading": "Critical Rules",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:608",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L608:comment-style-required",
|
|
"heading": "Comment Style (Required)",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "report_progress",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:640",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L640:update",
|
|
"heading": "Update",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:650",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L650: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:664",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L664: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:695",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L695: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:724",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L724:searching-issues",
|
|
"heading": "Searching Issues",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:734",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L734:full-reference",
|
|
"heading": "Full Reference",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:738",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L738:conversational-confirmation-answers",
|
|
"heading": "Conversational confirmation answers",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "call_api",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:755",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L755: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:110",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L110: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:196",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L196: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:238",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L238: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:277",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L277: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:321",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L321: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:369",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L369: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:421",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L421: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:454",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L454: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:459",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L459: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:463",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L463: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:470",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L470: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:477",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L477: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:479",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L479: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:483",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L483: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:490",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L490: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:495",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L495: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:500",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L500: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:504",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L504: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:518",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L518: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:523",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L523: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:528",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L528: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:537",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L537: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:547",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L547: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:586",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L586: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:589",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L589: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:593",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L593: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:600",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L600: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:604",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L604: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:608",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L608: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:615",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L615: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:621",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L621: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:626",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L626: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:632",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L632: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:639",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L639:update",
|
|
"heading": "Update",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:661",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L661: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:665",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L665: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:675",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L675: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:687",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L687:company-context",
|
|
"heading": "Company Context",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:699",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L699: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:719",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L719: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:738",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L738: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:771",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L771: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:795",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L795: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:814",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L814: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:843",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L843: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:847",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L847: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:912",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L912: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:921",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L921: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:1025",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1025: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:1083",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1083: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:1089",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1089:checkbox-confirmations",
|
|
"heading": "Checkbox confirmations",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1204",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1204: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:1314",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1314: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:1320",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1320: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:1338",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1338:issue-lifecycle",
|
|
"heading": "Issue Lifecycle",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1368",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1368:error-handling",
|
|
"heading": "Error Handling",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1382",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1382: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:1384",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1384:agents",
|
|
"heading": "Agents",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1405",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1405:issues-tasks",
|
|
"heading": "Issues (Tasks)",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1446",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1446: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:1470",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1470:routines",
|
|
"heading": "Routines",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1486",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1486: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:1508",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1508:secrets",
|
|
"heading": "Secrets",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1521",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1521: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:1574",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1574: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:1621",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1621: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:1661",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1661: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:control-services",
|
|
"heading": "Control Services",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/issue-workspaces.md:28",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/issue-workspaces.md#L28: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:36",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/issue-workspaces.md#L36: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:44",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/issue-workspaces.md#L44: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:63",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/issue-workspaces.md#L63: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:72",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/issue-workspaces.md#L72: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"
|
|
}
|
|
]
|
|
}
|