mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-22 00:30:19 +02:00
## Thinking Path > - Paperclip is the open source app people use to manage AI agents for work. > - Users create tasks with a title and a description. > - A required title adds work when the prompt already explains the request. > - An agent can name the task once it reads that request. > - This pull request accepts prompt-only tasks and starts them with a short prompt slice. > - A scoped title tool lets the assigned agent replace that slice early without changing execution state. > - A live browser eval checks the real agent call, saved title, audit entry, and preservation of user titles. ## Linked Issues or Issue Description **Subsystem affected** Cross-cutting: task creation, shared contracts, database, server, runner tools, and board UI. **Problem or motivation** Users must currently write a title before they can submit a detailed task prompt. The agent has enough context to write a useful title itself. **Proposed solution** Make the title optional when a description is present. Save the first 120 characters of the normalized prompt as a provisional title. Ask the assigned agent to call `set_task_title` early. Use an atomic provisional-title guard to preserve titles supplied or edited by users. Keep explicit titles supported. Related: #14543 and #14556 concern empty-title submission. This change intentionally enables that submission when a prompt is present, instead of requiring a title. ## What Changed - Add the `titleNeedsGeneration` field with an idempotent migration. Keep existing titles unchanged. - Add `PUT /api/issues/:id/title` and the native and legacy `set_task_title` tool. Enforce company access, active-run ownership, shared, bounded retry receipts across native/HTTP calls, and transactional audit logging. Refresh external-object links after commit, with the same feature gate and plugin detectors as ordinary title edits. - Add early naming guidance in Standard, Ask, and Plan task context. Preserve the description, status, and assignment. - Allow prompt-only root and child task creation, plus draft restoration in the New Task dialog. Keep user titles supported. - Add an opt-in Product E2E suite for prompt-only Standard and Ask tasks, plus an explicit-title control. It checks actual provider calls within the first five tools, persisted state, audit attribution, and the reloaded UI. - Preserve a closed vocabulary of API key maintenance phrases in declared prose while rejecting opaque credential suffixes. Add one bounded naming retry after wording is rejected, without treating the rejected call as a saved title. - Repair the native cleanup receipt check exposed during full verification: accept matching input digests, retain legacy input checks, and reject conflicting receipts. ## Verification - Live Product E2E on `f43478473800e3a46b85c5ee79677efdb15108e7`: **3/3 passed** with native Codex `gpt-5.4-mini`, first attempts only, automatic retries disabled. Standard and Ask each saved “Rotate expired API key” on their first tool call, with matching persisted state and a single same-run audit entry. The explicit-title control retained its user title with zero title writes. All three verified the reloaded browser UI. - Campaign: `local-2026-09-30T21-30-11-021Z`. Earlier failed campaigns are retained separately; they exposed credential-prose handling and prompted the naming recovery fix. No failed result was regraded or deleted. - Reproduce with `pnpm test:e2e:runner -- --id task-titles.runner-codex-mini.local.prompt-title-standard --id task-titles.runner-codex-mini.local.prompt-title-ask --id task-titles.runner-codex-mini.local.preserve-explicit-title --max-automatic-retries 0` and an authorized provider key. - Full `pnpm -r typecheck` and `pnpm build` passed on the latest commit. The runner build used the configured external eval source tree. - Product E2E unit suite: **61 files, 818 tests passed**; E2E typecheck and UI token gates passed. - Title API/native regressions cover prompt-only and explicit child creation, user edits, ownership/company isolation, external reference refresh, cross-surface retry replay, and the 64-key limit without receipt eviction. All passed. Prompt-context coverage: **44 tests passed**. - Rust credential regressions: **35 tests passed**, including benign maintenance qualifiers and opaque credential rejection in every declared prose field. Catalog/report reconciliation: **28 tests passed**. Native recovery: **560 tests passed**. - Broad local `pnpm test:run`: **14,555 tests passed** in the general server group; two suites failed to initialize embedded PostgreSQL and the existing 40,000-file Git streaming stress test exceeded its 300-second macOS timeout. All three suites then passed in isolation (**5 tests passed**) without code or timeout changes. The original full local command exited nonzero and is not being represented as a clean full run. - Latest-head GitHub checks are green: **53 passed, 4 skipped, zero failed or pending**, including all test shards and the canary packaging dry run. Greptile reviewed the same commit at **5/5**, with zero unresolved review threads. ## Risks - The additive database field must reach the server and UI together. The migration uses `IF NOT EXISTS` and defaults existing tasks to a final title. - Title generation depends on the assigned agent running. Tasks without a run keep their provisional title. - Live qualification covers the native Codex path in Standard and Ask modes. API/legacy and Plan behavior have deterministic coverage. - The credential-prose exception validates the entire suffix against a closed maintenance vocabulary. Unknown suffixes, assignments, quoted values, credential prefixes, and diagnostics retain strict checks. ## Model Used OpenAI Codex, based on GPT-6, with reasoning, tool use, and code execution. The exact deployment ID and context window are not exposed in this session. The live eval uses the native Codex `gpt-5.4-mini` profile. ## 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>
1428 lines
62 KiB
YAML
1428 lines
62 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:18",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L18:authentication",
|
|
"heading": "Authentication",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:30",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L30:conversation-tasks",
|
|
"heading": "Conversation tasks",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:47",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L47: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:87",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L87:the-heartbeat-procedure",
|
|
"heading": "The Heartbeat Procedure",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:197",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L197: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:245",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L245:status-quick-guide",
|
|
"heading": "Status Quick Guide",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:255",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L255: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:268",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L268:delegating-review-tasks",
|
|
"heading": "Delegating review tasks",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:279",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L279: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:287",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L287:issue-dependencies-blockers",
|
|
"heading": "Issue Dependencies (Blockers)",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:312",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L312:requesting-board-approval",
|
|
"heading": "Requesting Board Approval",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:333",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L333:issue-thread-interactions",
|
|
"heading": "Issue-Thread Interactions",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "request_human_input",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:362",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L362:standalone-decisions",
|
|
"heading": "Standalone Decisions",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:466",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L466: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:508",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L508:niche-workflow-pointers",
|
|
"heading": "Niche Workflow Pointers",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:518",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L518:cases",
|
|
"heading": "Cases",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:523",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L523:company-skills-workflow",
|
|
"heading": "Company Skills Workflow",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:534",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L534:routines",
|
|
"heading": "Routines",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:545",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L545: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:552",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L552:proposing-credentials-safely",
|
|
"heading": "Proposing Credentials Safely",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:559",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L559:reading-granted-secrets",
|
|
"heading": "Reading Granted Secrets",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:585",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L585:critical-rules",
|
|
"heading": "Critical Rules",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:606",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L606:comment-style-required",
|
|
"heading": "Comment Style (Required)",
|
|
"primaryDisposition": "always_agent_tool",
|
|
"semanticOperation": "report_progress",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:638",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L638:update",
|
|
"heading": "Update",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:648",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L648: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:681",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L681: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:710",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L710:searching-issues",
|
|
"heading": "Searching Issues",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/SKILL.md:720",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/SKILL.md#L720:full-reference",
|
|
"heading": "Full Reference",
|
|
"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: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: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:1028",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1028: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:1086",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1086: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:1092",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1092:checkbox-confirmations",
|
|
"heading": "Checkbox confirmations",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1207",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1207: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:1317",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1317: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:1323",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1323: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:1341",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1341:issue-lifecycle",
|
|
"heading": "Issue Lifecycle",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1371",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1371:error-handling",
|
|
"heading": "Error Handling",
|
|
"primaryDisposition": "control_plane_owned",
|
|
"semanticOperation": "runtime_reconciliation",
|
|
"expectedMockState": "runtime_decision_record"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1385",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1385: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:1387",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1387:agents",
|
|
"heading": "Agents",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1408",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1408:issues-tasks",
|
|
"heading": "Issues (Tasks)",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1449",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1449: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:1473",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1473:routines",
|
|
"heading": "Routines",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1489",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1489: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:1511",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1511:secrets",
|
|
"heading": "Secrets",
|
|
"primaryDisposition": "optional_agent_tool",
|
|
"semanticOperation": "scoped_discovery",
|
|
"expectedMockState": "operation_result"
|
|
},
|
|
{
|
|
"id": "skill:skills/paperclip/references/api-reference.md:1524",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1524: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:1577",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1577: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:1624",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1624: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:1664",
|
|
"kind": "skill_heading",
|
|
"sourceAnchor": "skills/paperclip/references/api-reference.md#L1664: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-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"
|
|
}
|
|
]
|
|
}
|