From ed42cb2be3142c603da971d46cae362e82cce093 Mon Sep 17 00:00:00 2001 From: Dotta Date: Fri, 2 Oct 2026 16:48:49 -0500 Subject: [PATCH] Use one declared skill source list for both capability inventories MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Include the issue-document reference in the normative inventory and calibrate coverage of every declared source without changing each inventory’s existing heading parsing scope. Co-Authored-By: Paperclip --- .../docs/capability-contract.md | 119 +- .../check-capability-inventory.test.mjs | 2 +- .../scripts/lib/capability-inventory.mjs | 12 +- .../spec/capability/capabilities.yaml | 1730 +++++++++-------- .../src/generated/capability-contract.ts | 4 +- .../test/capability-contract.test.mjs | 12 + 6 files changed, 970 insertions(+), 909 deletions(-) diff --git a/packages/paperclip-runner/docs/capability-contract.md b/packages/paperclip-runner/docs/capability-contract.md index 9bc3d85c41b..1d5de0253d6 100644 --- a/packages/paperclip-runner/docs/capability-contract.md +++ b/packages/paperclip-runner/docs/capability-contract.md @@ -8,9 +8,9 @@ The skill/reference inventory and eval cases are the only normative behavior sou ## Baseline Counts -- Skill/reference headings: 157 +- Skill/reference headings: 160 - Eval cases: 106 across 16 groups -- Total normative rows: 263 +- Total normative rows: 266 - Legacy MCP aliases folded into normative rows: 42 | Eval group | Cases | @@ -72,62 +72,6 @@ The skill/reference inventory and eval cases are the only normative behavior sou | skill:skills/paperclip/SKILL.md:searching-issues:711 | optional_agent_tool | skills/paperclip/SKILL.md:711 | | skill:skills/paperclip/SKILL.md:full-reference:721 | optional_agent_tool | skills/paperclip/SKILL.md:721 | | skill:skills/paperclip/SKILL.md:conversational-confirmation-answers:725 | always_agent_tool | skills/paperclip/SKILL.md:725 | -| skill:skills/paperclip/references/artifacts.md:generated-artifacts-and-work-products:1 | always_agent_tool | skills/paperclip/references/artifacts.md:1 | -| skill:skills/paperclip/references/artifacts.md:workspace-only-file-references:15 | optional_agent_tool | skills/paperclip/references/artifacts.md:15 | -| skill:skills/paperclip/references/cases.md:cases:1 | optional_agent_tool | skills/paperclip/references/cases.md:1 | -| skill:skills/paperclip/references/cases.md:core-model:12 | optional_agent_tool | skills/paperclip/references/cases.md:12 | -| skill:skills/paperclip/references/cases.md:upsert-semantics:29 | optional_agent_tool | skills/paperclip/references/cases.md:29 | -| skill:skills/paperclip/references/cases.md:read-and-search:67 | optional_agent_tool | skills/paperclip/references/cases.md:67 | -| skill:skills/paperclip/references/cases.md:documents:90 | always_agent_tool | skills/paperclip/references/cases.md:90 | -| skill:skills/paperclip/references/cases.md:fields:118 | optional_agent_tool | skills/paperclip/references/cases.md:118 | -| skill:skills/paperclip/references/cases.md:issue-links:151 | optional_agent_tool | skills/paperclip/references/cases.md:151 | -| skill:skills/paperclip/references/cases.md:child-cases:176 | optional_agent_tool | skills/paperclip/references/cases.md:176 | -| skill:skills/paperclip/references/cases.md:attachments:195 | optional_agent_tool | skills/paperclip/references/cases.md:195 | -| skill:skills/paperclip/references/cases.md:lifecycle:208 | optional_agent_tool | skills/paperclip/references/cases.md:208 | -| skill:skills/paperclip/references/cases.md:worked-blog-post-example:222 | optional_agent_tool | skills/paperclip/references/cases.md:222 | -| skill:skills/paperclip/references/company-skills.md:company-skills-workflow:1 | optional_agent_tool | skills/paperclip/references/company-skills.md:1 | -| skill:skills/paperclip/references/company-skills.md:what-exists:5 | optional_agent_tool | skills/paperclip/references/company-skills.md:5 | -| skill:skills/paperclip/references/company-skills.md:permission-model:22 | optional_agent_tool | skills/paperclip/references/company-skills.md:22 | -| skill:skills/paperclip/references/company-skills.md:core-endpoints:29 | optional_agent_tool | skills/paperclip/references/company-skills.md:29 | -| skill:skills/paperclip/references/company-skills.md:install-a-skill-into-the-company:65 | optional_agent_tool | skills/paperclip/references/company-skills.md:65 | -| skill:skills/paperclip/references/company-skills.md:app-shipped-catalog:75 | optional_agent_tool | skills/paperclip/references/company-skills.md:75 | -| skill:skills/paperclip/references/company-skills.md:external-source-import:101 | optional_agent_tool | skills/paperclip/references/company-skills.md:101 | -| skill:skills/paperclip/references/company-skills.md:source-types-in-order-of-preference:105 | optional_agent_tool | skills/paperclip/references/company-skills.md:105 | -| skill:skills/paperclip/references/company-skills.md:example-skills-sh-import-preferred:116 | optional_agent_tool | skills/paperclip/references/company-skills.md:116 | -| skill:skills/paperclip/references/company-skills.md:example-github-import:138 | optional_agent_tool | skills/paperclip/references/company-skills.md:138 | -| skill:skills/paperclip/references/company-skills.md:inspect-what-was-installed:164 | optional_agent_tool | skills/paperclip/references/company-skills.md:164 | -| skill:skills/paperclip/references/company-skills.md:assign-skills-to-an-existing-agent:181 | optional_agent_tool | skills/paperclip/references/company-skills.md:181 | -| skill:skills/paperclip/references/company-skills.md:include-skills-during-hire-or-create:216 | optional_agent_tool | skills/paperclip/references/company-skills.md:216 | -| skill:skills/paperclip/references/company-skills.md:notes:256 | optional_agent_tool | skills/paperclip/references/company-skills.md:256 | -| skill:skills/paperclip/references/issue-workspaces.md:issue-workspace-runtime-controls:1 | optional_agent_tool | skills/paperclip/references/issue-workspaces.md:1 | -| skill:skills/paperclip/references/issue-workspaces.md:discover-the-workspace:5 | optional_agent_tool | skills/paperclip/references/issue-workspaces.md:5 | -| skill:skills/paperclip/references/issue-workspaces.md:control-services:23 | optional_agent_tool | skills/paperclip/references/issue-workspaces.md:23 | -| skill:skills/paperclip/references/issue-workspaces.md:start-all-configured-services-waits-for-configured-readiness-checks:28 | optional_agent_tool | skills/paperclip/references/issue-workspaces.md:28 | -| skill:skills/paperclip/references/issue-workspaces.md:restart-all-configured-services:36 | optional_agent_tool | skills/paperclip/references/issue-workspaces.md:36 | -| skill:skills/paperclip/references/issue-workspaces.md:stop-all-running-services:44 | optional_agent_tool | skills/paperclip/references/issue-workspaces.md:44 | -| skill:skills/paperclip/references/issue-workspaces.md:read-the-url:63 | optional_agent_tool | skills/paperclip/references/issue-workspaces.md:63 | -| skill:skills/paperclip/references/issue-workspaces.md:mcp-tools:72 | optional_agent_tool | skills/paperclip/references/issue-workspaces.md:72 | -| skill:skills/paperclip/references/routines.md:paperclip-routines:1 | optional_agent_tool | skills/paperclip/references/routines.md:1 | -| skill:skills/paperclip/references/routines.md:lifecycle:16 | optional_agent_tool | skills/paperclip/references/routines.md:16 | -| skill:skills/paperclip/references/routines.md:creating-a-routine:27 | optional_agent_tool | skills/paperclip/references/routines.md:27 | -| skill:skills/paperclip/references/routines.md:concurrency-policies:64 | optional_agent_tool | skills/paperclip/references/routines.md:64 | -| skill:skills/paperclip/references/routines.md:catch-up-policies:76 | optional_agent_tool | skills/paperclip/references/routines.md:76 | -| skill:skills/paperclip/references/routines.md:activity-gated-scheduled-runs:87 | optional_agent_tool | skills/paperclip/references/routines.md:87 | -| skill:skills/paperclip/references/routines.md:example-skip-quiet-nights:107 | optional_agent_tool | skills/paperclip/references/routines.md:107 | -| skill:skills/paperclip/references/routines.md:adding-triggers:126 | optional_agent_tool | skills/paperclip/references/routines.md:126 | -| skill:skills/paperclip/references/routines.md:schedule-cron:136 | optional_agent_tool | skills/paperclip/references/routines.md:136 | -| skill:skills/paperclip/references/routines.md:webhook:150 | optional_agent_tool | skills/paperclip/references/routines.md:150 | -| skill:skills/paperclip/references/routines.md:api-manual-only:167 | optional_agent_tool | skills/paperclip/references/routines.md:167 | -| skill:skills/paperclip/references/routines.md:updating-and-deleting-triggers:179 | optional_agent_tool | skills/paperclip/references/routines.md:179 | -| skill:skills/paperclip/references/routines.md:manual-run:196 | optional_agent_tool | skills/paperclip/references/routines.md:196 | -| skill:skills/paperclip/references/routines.md:updating-a-routine:212 | optional_agent_tool | skills/paperclip/references/routines.md:212 | -| skill:skills/paperclip/references/routines.md:reading-routines-and-runs:223 | optional_agent_tool | skills/paperclip/references/routines.md:223 | -| skill:skills/paperclip/references/workflows.md:paperclip-workflow-playbooks:1 | optional_agent_tool | skills/paperclip/references/workflows.md:1 | -| skill:skills/paperclip/references/workflows.md:project-setup-ceo-manager:7 | optional_agent_tool | skills/paperclip/references/workflows.md:7 | -| skill:skills/paperclip/references/workflows.md:openclaw-invite-ceo:22 | optional_agent_tool | skills/paperclip/references/workflows.md:22 | -| skill:skills/paperclip/references/workflows.md:setting-agent-instructions-path:50 | optional_agent_tool | skills/paperclip/references/workflows.md:50 | -| skill:skills/paperclip/references/workflows.md:company-import-export:79 | optional_agent_tool | skills/paperclip/references/workflows.md:79 | -| skill:skills/paperclip/references/workflows.md:self-test-playbook-app-level:106 | optional_agent_tool | skills/paperclip/references/workflows.md:106 | | skill:skills/paperclip/references/api-reference.md:paperclip-api-reference:1 | optional_agent_tool | skills/paperclip/references/api-reference.md:1 | | skill:skills/paperclip/references/api-reference.md:response-schemas:9 | optional_agent_tool | skills/paperclip/references/api-reference.md:9 | | skill:skills/paperclip/references/api-reference.md:agent-record-get-api-agents-me-or-get-api-agents-agentid:11 | optional_agent_tool | skills/paperclip/references/api-reference.md:11 | @@ -198,6 +142,65 @@ The skill/reference inventory and eval cases are the only normative behavior sou | skill:skills/paperclip/references/api-reference.md:agent-secret-proposals:1521 | optional_agent_tool | skills/paperclip/references/api-reference.md:1521 | | skill:skills/paperclip/references/api-reference.md:agent-secret-access:1621 | optional_agent_tool | skills/paperclip/references/api-reference.md:1621 | | skill:skills/paperclip/references/api-reference.md:common-mistakes:1661 | optional_agent_tool | skills/paperclip/references/api-reference.md:1661 | +| skill:skills/paperclip/references/artifacts.md:generated-artifacts-and-work-products:1 | always_agent_tool | skills/paperclip/references/artifacts.md:1 | +| skill:skills/paperclip/references/artifacts.md:workspace-only-file-references:15 | optional_agent_tool | skills/paperclip/references/artifacts.md:15 | +| skill:skills/paperclip/references/cases.md:cases:1 | optional_agent_tool | skills/paperclip/references/cases.md:1 | +| skill:skills/paperclip/references/cases.md:core-model:12 | optional_agent_tool | skills/paperclip/references/cases.md:12 | +| skill:skills/paperclip/references/cases.md:upsert-semantics:29 | optional_agent_tool | skills/paperclip/references/cases.md:29 | +| skill:skills/paperclip/references/cases.md:read-and-search:67 | optional_agent_tool | skills/paperclip/references/cases.md:67 | +| skill:skills/paperclip/references/cases.md:documents:90 | always_agent_tool | skills/paperclip/references/cases.md:90 | +| skill:skills/paperclip/references/cases.md:fields:118 | optional_agent_tool | skills/paperclip/references/cases.md:118 | +| skill:skills/paperclip/references/cases.md:issue-links:151 | optional_agent_tool | skills/paperclip/references/cases.md:151 | +| skill:skills/paperclip/references/cases.md:child-cases:176 | optional_agent_tool | skills/paperclip/references/cases.md:176 | +| skill:skills/paperclip/references/cases.md:attachments:195 | optional_agent_tool | skills/paperclip/references/cases.md:195 | +| skill:skills/paperclip/references/cases.md:lifecycle:208 | optional_agent_tool | skills/paperclip/references/cases.md:208 | +| skill:skills/paperclip/references/cases.md:worked-blog-post-example:222 | optional_agent_tool | skills/paperclip/references/cases.md:222 | +| skill:skills/paperclip/references/company-skills.md:company-skills-workflow:1 | optional_agent_tool | skills/paperclip/references/company-skills.md:1 | +| skill:skills/paperclip/references/company-skills.md:what-exists:5 | optional_agent_tool | skills/paperclip/references/company-skills.md:5 | +| skill:skills/paperclip/references/company-skills.md:permission-model:22 | optional_agent_tool | skills/paperclip/references/company-skills.md:22 | +| skill:skills/paperclip/references/company-skills.md:core-endpoints:29 | optional_agent_tool | skills/paperclip/references/company-skills.md:29 | +| skill:skills/paperclip/references/company-skills.md:install-a-skill-into-the-company:65 | optional_agent_tool | skills/paperclip/references/company-skills.md:65 | +| skill:skills/paperclip/references/company-skills.md:app-shipped-catalog:75 | optional_agent_tool | skills/paperclip/references/company-skills.md:75 | +| skill:skills/paperclip/references/company-skills.md:external-source-import:101 | optional_agent_tool | skills/paperclip/references/company-skills.md:101 | +| skill:skills/paperclip/references/company-skills.md:source-types-in-order-of-preference:105 | optional_agent_tool | skills/paperclip/references/company-skills.md:105 | +| skill:skills/paperclip/references/company-skills.md:example-skills-sh-import-preferred:116 | optional_agent_tool | skills/paperclip/references/company-skills.md:116 | +| skill:skills/paperclip/references/company-skills.md:example-github-import:138 | optional_agent_tool | skills/paperclip/references/company-skills.md:138 | +| skill:skills/paperclip/references/company-skills.md:inspect-what-was-installed:164 | optional_agent_tool | skills/paperclip/references/company-skills.md:164 | +| skill:skills/paperclip/references/company-skills.md:assign-skills-to-an-existing-agent:181 | optional_agent_tool | skills/paperclip/references/company-skills.md:181 | +| skill:skills/paperclip/references/company-skills.md:include-skills-during-hire-or-create:216 | optional_agent_tool | skills/paperclip/references/company-skills.md:216 | +| skill:skills/paperclip/references/company-skills.md:notes:256 | optional_agent_tool | skills/paperclip/references/company-skills.md:256 | +| skill:skills/paperclip/references/issue-documents.md:issue-documents-through-the-api:1 | always_agent_tool | skills/paperclip/references/issue-documents.md:1 | +| skill:skills/paperclip/references/issue-documents.md:create-a-document:8 | always_agent_tool | skills/paperclip/references/issue-documents.md:8 | +| skill:skills/paperclip/references/issue-documents.md:update-or-resolve-an-unclear-write:40 | optional_agent_tool | skills/paperclip/references/issue-documents.md:40 | +| skill:skills/paperclip/references/issue-workspaces.md:issue-workspace-runtime-controls:1 | optional_agent_tool | skills/paperclip/references/issue-workspaces.md:1 | +| skill:skills/paperclip/references/issue-workspaces.md:discover-the-workspace:5 | optional_agent_tool | skills/paperclip/references/issue-workspaces.md:5 | +| skill:skills/paperclip/references/issue-workspaces.md:control-services:23 | optional_agent_tool | skills/paperclip/references/issue-workspaces.md:23 | +| skill:skills/paperclip/references/issue-workspaces.md:start-all-configured-services-waits-for-configured-readiness-checks:28 | optional_agent_tool | skills/paperclip/references/issue-workspaces.md:28 | +| skill:skills/paperclip/references/issue-workspaces.md:restart-all-configured-services:36 | optional_agent_tool | skills/paperclip/references/issue-workspaces.md:36 | +| skill:skills/paperclip/references/issue-workspaces.md:stop-all-running-services:44 | optional_agent_tool | skills/paperclip/references/issue-workspaces.md:44 | +| skill:skills/paperclip/references/issue-workspaces.md:read-the-url:63 | optional_agent_tool | skills/paperclip/references/issue-workspaces.md:63 | +| skill:skills/paperclip/references/issue-workspaces.md:mcp-tools:72 | optional_agent_tool | skills/paperclip/references/issue-workspaces.md:72 | +| skill:skills/paperclip/references/routines.md:paperclip-routines:1 | optional_agent_tool | skills/paperclip/references/routines.md:1 | +| skill:skills/paperclip/references/routines.md:lifecycle:16 | optional_agent_tool | skills/paperclip/references/routines.md:16 | +| skill:skills/paperclip/references/routines.md:creating-a-routine:27 | optional_agent_tool | skills/paperclip/references/routines.md:27 | +| skill:skills/paperclip/references/routines.md:concurrency-policies:64 | optional_agent_tool | skills/paperclip/references/routines.md:64 | +| skill:skills/paperclip/references/routines.md:catch-up-policies:76 | optional_agent_tool | skills/paperclip/references/routines.md:76 | +| skill:skills/paperclip/references/routines.md:activity-gated-scheduled-runs:87 | optional_agent_tool | skills/paperclip/references/routines.md:87 | +| skill:skills/paperclip/references/routines.md:example-skip-quiet-nights:107 | optional_agent_tool | skills/paperclip/references/routines.md:107 | +| skill:skills/paperclip/references/routines.md:adding-triggers:126 | optional_agent_tool | skills/paperclip/references/routines.md:126 | +| skill:skills/paperclip/references/routines.md:schedule-cron:136 | optional_agent_tool | skills/paperclip/references/routines.md:136 | +| skill:skills/paperclip/references/routines.md:webhook:150 | optional_agent_tool | skills/paperclip/references/routines.md:150 | +| skill:skills/paperclip/references/routines.md:api-manual-only:167 | optional_agent_tool | skills/paperclip/references/routines.md:167 | +| skill:skills/paperclip/references/routines.md:updating-and-deleting-triggers:179 | optional_agent_tool | skills/paperclip/references/routines.md:179 | +| skill:skills/paperclip/references/routines.md:manual-run:196 | optional_agent_tool | skills/paperclip/references/routines.md:196 | +| skill:skills/paperclip/references/routines.md:updating-a-routine:212 | optional_agent_tool | skills/paperclip/references/routines.md:212 | +| skill:skills/paperclip/references/routines.md:reading-routines-and-runs:223 | optional_agent_tool | skills/paperclip/references/routines.md:223 | +| skill:skills/paperclip/references/workflows.md:paperclip-workflow-playbooks:1 | optional_agent_tool | skills/paperclip/references/workflows.md:1 | +| skill:skills/paperclip/references/workflows.md:project-setup-ceo-manager:7 | optional_agent_tool | skills/paperclip/references/workflows.md:7 | +| skill:skills/paperclip/references/workflows.md:openclaw-invite-ceo:22 | optional_agent_tool | skills/paperclip/references/workflows.md:22 | +| skill:skills/paperclip/references/workflows.md:setting-agent-instructions-path:50 | optional_agent_tool | skills/paperclip/references/workflows.md:50 | +| skill:skills/paperclip/references/workflows.md:company-import-export:79 | optional_agent_tool | skills/paperclip/references/workflows.md:79 | +| skill:skills/paperclip/references/workflows.md:self-test-playbook-app-level:106 | optional_agent_tool | skills/paperclip/references/workflows.md:106 | ## Legacy MCP Alias Index diff --git a/packages/paperclip-runner/scripts/check-capability-inventory.test.mjs b/packages/paperclip-runner/scripts/check-capability-inventory.test.mjs index f81047ccf4c..b15372d3291 100644 --- a/packages/paperclip-runner/scripts/check-capability-inventory.test.mjs +++ b/packages/paperclip-runner/scripts/check-capability-inventory.test.mjs @@ -42,7 +42,7 @@ function validInventories() { schemaVersion: 2, inventoryRole: "normative", generatedFrom: ["skills/paperclip/SKILL.md"], - rows: Array.from({ length: 157 }, (_, index) => row(`capability-${index}`)), + rows: Array.from({ length: 160 }, (_, index) => row(`capability-${index}`)), }, evaluations: { schemaVersion: 2, diff --git a/packages/paperclip-runner/scripts/lib/capability-inventory.mjs b/packages/paperclip-runner/scripts/lib/capability-inventory.mjs index be9dd2ce7d9..5f04ef61eee 100644 --- a/packages/paperclip-runner/scripts/lib/capability-inventory.mjs +++ b/packages/paperclip-runner/scripts/lib/capability-inventory.mjs @@ -221,16 +221,16 @@ export async function buildInventories({ repoRoot, evalRoot }) { } export async function buildSkillInventory(repoRoot) { - const skillRoot = resolve(repoRoot, "skills/paperclip"); - const skillFiles = ["SKILL.md", "references/artifacts.md", "references/cases.md", "references/company-skills.md", "references/issue-workspaces.md", "references/routines.md", "references/workflows.md", "references/api-reference.md"]; + const { skillSources: skillFiles } = JSON.parse(await readFile(resolve(repoRoot, + "packages/paperclip-runner/spec/capability/source-contract.json"), "utf8")); const rows = (await Promise.all(skillFiles.map(async (file) => parseSkillHeadings( - await readFile(resolve(skillRoot, file), "utf8"), - `skills/paperclip/${file}`, + await readFile(resolve(repoRoot, file), "utf8"), + file, )))).flat(); return { schemaVersion: 2, inventoryRole: "normative", - generatedFrom: skillFiles.map((file) => `skills/paperclip/${file}`), + generatedFrom: skillFiles, rows, }; } @@ -247,7 +247,7 @@ export async function buildMcpInventory(repoRoot) { export function validateInventories(inventories) { const errors = []; - const expectedCounts = { capabilities: 157, evaluations: 106, legacyMcpAliases: 42 }; + const expectedCounts = { capabilities: 160, evaluations: 106, legacyMcpAliases: 42 }; const normativeNames = ["capabilities", "evaluations"]; const normativeRows = new Map(); const globalNormativeIds = new Set(); diff --git a/packages/paperclip-runner/spec/capability/capabilities.yaml b/packages/paperclip-runner/spec/capability/capabilities.yaml index fc458728c5c..7d626d13120 100644 --- a/packages/paperclip-runner/spec/capability/capabilities.yaml +++ b/packages/paperclip-runner/spec/capability/capabilities.yaml @@ -4,13 +4,14 @@ "inventoryRole": "normative", "generatedFrom": [ "skills/paperclip/SKILL.md", + "skills/paperclip/references/api-reference.md", "skills/paperclip/references/artifacts.md", "skills/paperclip/references/cases.md", "skills/paperclip/references/company-skills.md", + "skills/paperclip/references/issue-documents.md", "skills/paperclip/references/issue-workspaces.md", "skills/paperclip/references/routines.md", - "skills/paperclip/references/workflows.md", - "skills/paperclip/references/api-reference.md" + "skills/paperclip/references/workflows.md" ], "rows": [ { @@ -478,846 +479,6 @@ "skill:skills/paperclip/SKILL.md:725" ] }, - { - "id": "skill:skills/paperclip/references/artifacts.md:generated-artifacts-and-work-products:1", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/artifacts.md:1", - "title": "Generated Artifacts and Work Products", - "expectedSemantics": "Skill guidance headed “Generated Artifacts and Work Products”.", - "primaryDisposition": "always_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/artifacts.md:1" - ] - }, - { - "id": "skill:skills/paperclip/references/artifacts.md:workspace-only-file-references:15", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/artifacts.md:15", - "title": "Workspace-Only File References", - "expectedSemantics": "Skill guidance headed “Workspace-Only File References”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/artifacts.md:15" - ] - }, - { - "id": "skill:skills/paperclip/references/cases.md:cases:1", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/cases.md:1", - "title": "Cases", - "expectedSemantics": "Skill guidance headed “Cases”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/cases.md:1" - ] - }, - { - "id": "skill:skills/paperclip/references/cases.md:core-model:12", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/cases.md:12", - "title": "Core Model", - "expectedSemantics": "Skill guidance headed “Core Model”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/cases.md:12" - ] - }, - { - "id": "skill:skills/paperclip/references/cases.md:upsert-semantics:29", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/cases.md:29", - "title": "Upsert Semantics", - "expectedSemantics": "Skill guidance headed “Upsert Semantics”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/cases.md:29" - ] - }, - { - "id": "skill:skills/paperclip/references/cases.md:read-and-search:67", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/cases.md:67", - "title": "Read And Search", - "expectedSemantics": "Skill guidance headed “Read And Search”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/cases.md:67" - ] - }, - { - "id": "skill:skills/paperclip/references/cases.md:documents:90", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/cases.md:90", - "title": "Documents", - "expectedSemantics": "Skill guidance headed “Documents”.", - "primaryDisposition": "always_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/cases.md:90" - ] - }, - { - "id": "skill:skills/paperclip/references/cases.md:fields:118", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/cases.md:118", - "title": "Fields", - "expectedSemantics": "Skill guidance headed “Fields”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/cases.md:118" - ] - }, - { - "id": "skill:skills/paperclip/references/cases.md:issue-links:151", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/cases.md:151", - "title": "Issue Links", - "expectedSemantics": "Skill guidance headed “Issue Links”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/cases.md:151" - ] - }, - { - "id": "skill:skills/paperclip/references/cases.md:child-cases:176", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/cases.md:176", - "title": "Child Cases", - "expectedSemantics": "Skill guidance headed “Child Cases”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/cases.md:176" - ] - }, - { - "id": "skill:skills/paperclip/references/cases.md:attachments:195", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/cases.md:195", - "title": "Attachments", - "expectedSemantics": "Skill guidance headed “Attachments”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/cases.md:195" - ] - }, - { - "id": "skill:skills/paperclip/references/cases.md:lifecycle:208", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/cases.md:208", - "title": "Lifecycle", - "expectedSemantics": "Skill guidance headed “Lifecycle”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/cases.md:208" - ] - }, - { - "id": "skill:skills/paperclip/references/cases.md:worked-blog-post-example:222", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/cases.md:222", - "title": "Worked Blog Post Example", - "expectedSemantics": "Skill guidance headed “Worked Blog Post Example”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/cases.md:222" - ] - }, - { - "id": "skill:skills/paperclip/references/company-skills.md:company-skills-workflow:1", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/company-skills.md:1", - "title": "Company Skills Workflow", - "expectedSemantics": "Skill guidance headed “Company Skills Workflow”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/company-skills.md:1" - ] - }, - { - "id": "skill:skills/paperclip/references/company-skills.md:what-exists:5", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/company-skills.md:5", - "title": "What Exists", - "expectedSemantics": "Skill guidance headed “What Exists”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/company-skills.md:5" - ] - }, - { - "id": "skill:skills/paperclip/references/company-skills.md:permission-model:22", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/company-skills.md:22", - "title": "Permission Model", - "expectedSemantics": "Skill guidance headed “Permission Model”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/company-skills.md:22" - ] - }, - { - "id": "skill:skills/paperclip/references/company-skills.md:core-endpoints:29", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/company-skills.md:29", - "title": "Core Endpoints", - "expectedSemantics": "Skill guidance headed “Core Endpoints”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/company-skills.md:29" - ] - }, - { - "id": "skill:skills/paperclip/references/company-skills.md:install-a-skill-into-the-company:65", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/company-skills.md:65", - "title": "Install A Skill Into The Company", - "expectedSemantics": "Skill guidance headed “Install A Skill Into The Company”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/company-skills.md:65" - ] - }, - { - "id": "skill:skills/paperclip/references/company-skills.md:app-shipped-catalog:75", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/company-skills.md:75", - "title": "App-shipped catalog", - "expectedSemantics": "Skill guidance headed “App-shipped catalog”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/company-skills.md:75" - ] - }, - { - "id": "skill:skills/paperclip/references/company-skills.md:external-source-import:101", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/company-skills.md:101", - "title": "External source import", - "expectedSemantics": "Skill guidance headed “External source import”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/company-skills.md:101" - ] - }, - { - "id": "skill:skills/paperclip/references/company-skills.md:source-types-in-order-of-preference:105", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/company-skills.md:105", - "title": "Source types (in order of preference)", - "expectedSemantics": "Skill guidance headed “Source types (in order of preference)”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/company-skills.md:105" - ] - }, - { - "id": "skill:skills/paperclip/references/company-skills.md:example-skills-sh-import-preferred:116", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/company-skills.md:116", - "title": "Example: skills.sh import (preferred)", - "expectedSemantics": "Skill guidance headed “Example: skills.sh import (preferred)”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/company-skills.md:116" - ] - }, - { - "id": "skill:skills/paperclip/references/company-skills.md:example-github-import:138", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/company-skills.md:138", - "title": "Example: GitHub import", - "expectedSemantics": "Skill guidance headed “Example: GitHub import”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/company-skills.md:138" - ] - }, - { - "id": "skill:skills/paperclip/references/company-skills.md:inspect-what-was-installed:164", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/company-skills.md:164", - "title": "Inspect What Was Installed", - "expectedSemantics": "Skill guidance headed “Inspect What Was Installed”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/company-skills.md:164" - ] - }, - { - "id": "skill:skills/paperclip/references/company-skills.md:assign-skills-to-an-existing-agent:181", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/company-skills.md:181", - "title": "Assign Skills To An Existing Agent", - "expectedSemantics": "Skill guidance headed “Assign Skills To An Existing Agent”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/company-skills.md:181" - ] - }, - { - "id": "skill:skills/paperclip/references/company-skills.md:include-skills-during-hire-or-create:216", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/company-skills.md:216", - "title": "Include Skills During Hire Or Create", - "expectedSemantics": "Skill guidance headed “Include Skills During Hire Or Create”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/company-skills.md:216" - ] - }, - { - "id": "skill:skills/paperclip/references/company-skills.md:notes:256", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/company-skills.md:256", - "title": "Notes", - "expectedSemantics": "Skill guidance headed “Notes”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/company-skills.md:256" - ] - }, - { - "id": "skill:skills/paperclip/references/issue-workspaces.md:issue-workspace-runtime-controls:1", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/issue-workspaces.md:1", - "title": "Issue Workspace Runtime Controls", - "expectedSemantics": "Skill guidance headed “Issue Workspace Runtime Controls”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/issue-workspaces.md:1" - ] - }, - { - "id": "skill:skills/paperclip/references/issue-workspaces.md:discover-the-workspace:5", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/issue-workspaces.md:5", - "title": "Discover the Workspace", - "expectedSemantics": "Skill guidance headed “Discover the Workspace”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/issue-workspaces.md:5" - ] - }, - { - "id": "skill:skills/paperclip/references/issue-workspaces.md:control-services:23", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/issue-workspaces.md:23", - "title": "Control Services", - "expectedSemantics": "Skill guidance headed “Control Services”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/issue-workspaces.md:23" - ] - }, - { - "id": "skill:skills/paperclip/references/issue-workspaces.md:start-all-configured-services-waits-for-configured-readiness-checks:28", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/issue-workspaces.md:28", - "title": "Start all configured services; waits for configured readiness checks.", - "expectedSemantics": "Skill guidance headed “Start all configured services; waits for configured readiness checks.”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/issue-workspaces.md:28" - ] - }, - { - "id": "skill:skills/paperclip/references/issue-workspaces.md:restart-all-configured-services:36", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/issue-workspaces.md:36", - "title": "Restart all configured services.", - "expectedSemantics": "Skill guidance headed “Restart all configured services.”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/issue-workspaces.md:36" - ] - }, - { - "id": "skill:skills/paperclip/references/issue-workspaces.md:stop-all-running-services:44", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/issue-workspaces.md:44", - "title": "Stop all running services.", - "expectedSemantics": "Skill guidance headed “Stop all running services.”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/issue-workspaces.md:44" - ] - }, - { - "id": "skill:skills/paperclip/references/issue-workspaces.md:read-the-url:63", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/issue-workspaces.md:63", - "title": "Read the URL", - "expectedSemantics": "Skill guidance headed “Read the URL”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/issue-workspaces.md:63" - ] - }, - { - "id": "skill:skills/paperclip/references/issue-workspaces.md:mcp-tools:72", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/issue-workspaces.md:72", - "title": "MCP Tools", - "expectedSemantics": "Skill guidance headed “MCP Tools”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/issue-workspaces.md:72" - ] - }, - { - "id": "skill:skills/paperclip/references/routines.md:paperclip-routines:1", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/routines.md:1", - "title": "Paperclip Routines", - "expectedSemantics": "Skill guidance headed “Paperclip Routines”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/routines.md:1" - ] - }, - { - "id": "skill:skills/paperclip/references/routines.md:lifecycle:16", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/routines.md:16", - "title": "Lifecycle", - "expectedSemantics": "Skill guidance headed “Lifecycle”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/routines.md:16" - ] - }, - { - "id": "skill:skills/paperclip/references/routines.md:creating-a-routine:27", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/routines.md:27", - "title": "Creating a Routine", - "expectedSemantics": "Skill guidance headed “Creating a Routine”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/routines.md:27" - ] - }, - { - "id": "skill:skills/paperclip/references/routines.md:concurrency-policies:64", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/routines.md:64", - "title": "Concurrency Policies", - "expectedSemantics": "Skill guidance headed “Concurrency Policies”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/routines.md:64" - ] - }, - { - "id": "skill:skills/paperclip/references/routines.md:catch-up-policies:76", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/routines.md:76", - "title": "Catch-Up Policies", - "expectedSemantics": "Skill guidance headed “Catch-Up Policies”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/routines.md:76" - ] - }, - { - "id": "skill:skills/paperclip/references/routines.md:activity-gated-scheduled-runs:87", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/routines.md:87", - "title": "Activity-Gated Scheduled Runs", - "expectedSemantics": "Skill guidance headed “Activity-Gated Scheduled Runs”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/routines.md:87" - ] - }, - { - "id": "skill:skills/paperclip/references/routines.md:example-skip-quiet-nights:107", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/routines.md:107", - "title": "Example: skip quiet nights", - "expectedSemantics": "Skill guidance headed “Example: skip quiet nights”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/routines.md:107" - ] - }, - { - "id": "skill:skills/paperclip/references/routines.md:adding-triggers:126", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/routines.md:126", - "title": "Adding Triggers", - "expectedSemantics": "Skill guidance headed “Adding Triggers”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/routines.md:126" - ] - }, - { - "id": "skill:skills/paperclip/references/routines.md:schedule-cron:136", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/routines.md:136", - "title": "Schedule (cron)", - "expectedSemantics": "Skill guidance headed “Schedule (cron)”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/routines.md:136" - ] - }, - { - "id": "skill:skills/paperclip/references/routines.md:webhook:150", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/routines.md:150", - "title": "Webhook", - "expectedSemantics": "Skill guidance headed “Webhook”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/routines.md:150" - ] - }, - { - "id": "skill:skills/paperclip/references/routines.md:api-manual-only:167", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/routines.md:167", - "title": "API (manual only)", - "expectedSemantics": "Skill guidance headed “API (manual only)”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/routines.md:167" - ] - }, - { - "id": "skill:skills/paperclip/references/routines.md:updating-and-deleting-triggers:179", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/routines.md:179", - "title": "Updating and Deleting Triggers", - "expectedSemantics": "Skill guidance headed “Updating and Deleting Triggers”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/routines.md:179" - ] - }, - { - "id": "skill:skills/paperclip/references/routines.md:manual-run:196", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/routines.md:196", - "title": "Manual Run", - "expectedSemantics": "Skill guidance headed “Manual Run”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/routines.md:196" - ] - }, - { - "id": "skill:skills/paperclip/references/routines.md:updating-a-routine:212", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/routines.md:212", - "title": "Updating a Routine", - "expectedSemantics": "Skill guidance headed “Updating a Routine”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/routines.md:212" - ] - }, - { - "id": "skill:skills/paperclip/references/routines.md:reading-routines-and-runs:223", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/routines.md:223", - "title": "Reading Routines and Runs", - "expectedSemantics": "Skill guidance headed “Reading Routines and Runs”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/routines.md:223" - ] - }, - { - "id": "skill:skills/paperclip/references/workflows.md:paperclip-workflow-playbooks:1", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/workflows.md:1", - "title": "Paperclip Workflow Playbooks", - "expectedSemantics": "Skill guidance headed “Paperclip Workflow Playbooks”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/workflows.md:1" - ] - }, - { - "id": "skill:skills/paperclip/references/workflows.md:project-setup-ceo-manager:7", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/workflows.md:7", - "title": "Project Setup (CEO/Manager)", - "expectedSemantics": "Skill guidance headed “Project Setup (CEO/Manager)”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/workflows.md:7" - ] - }, - { - "id": "skill:skills/paperclip/references/workflows.md:openclaw-invite-ceo:22", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/workflows.md:22", - "title": "OpenClaw Invite (CEO)", - "expectedSemantics": "Skill guidance headed “OpenClaw Invite (CEO)”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/workflows.md:22" - ] - }, - { - "id": "skill:skills/paperclip/references/workflows.md:setting-agent-instructions-path:50", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/workflows.md:50", - "title": "Setting Agent Instructions Path", - "expectedSemantics": "Skill guidance headed “Setting Agent Instructions Path”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/workflows.md:50" - ] - }, - { - "id": "skill:skills/paperclip/references/workflows.md:company-import-export:79", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/workflows.md:79", - "title": "Company Import / Export", - "expectedSemantics": "Skill guidance headed “Company Import / Export”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/workflows.md:79" - ] - }, - { - "id": "skill:skills/paperclip/references/workflows.md:self-test-playbook-app-level:106", - "sourceKind": "skill_heading", - "sourceAnchor": "skills/paperclip/references/workflows.md:106", - "title": "Self-Test Playbook (App-Level)", - "expectedSemantics": "Skill guidance headed “Self-Test Playbook (App-Level)”.", - "primaryDisposition": "optional_agent_tool", - "requiredGrants": [], - "assertionClasses": [ - "control_plane_invariant" - ], - "evidenceIds": [ - "skill:skills/paperclip/references/workflows.md:106" - ] - }, { "id": "skill:skills/paperclip/references/api-reference.md:paperclip-api-reference:1", "sourceKind": "skill_heading", @@ -2367,6 +1528,891 @@ "evidenceIds": [ "skill:skills/paperclip/references/api-reference.md:1661" ] + }, + { + "id": "skill:skills/paperclip/references/artifacts.md:generated-artifacts-and-work-products:1", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/artifacts.md:1", + "title": "Generated Artifacts and Work Products", + "expectedSemantics": "Skill guidance headed “Generated Artifacts and Work Products”.", + "primaryDisposition": "always_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/artifacts.md:1" + ] + }, + { + "id": "skill:skills/paperclip/references/artifacts.md:workspace-only-file-references:15", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/artifacts.md:15", + "title": "Workspace-Only File References", + "expectedSemantics": "Skill guidance headed “Workspace-Only File References”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/artifacts.md:15" + ] + }, + { + "id": "skill:skills/paperclip/references/cases.md:cases:1", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/cases.md:1", + "title": "Cases", + "expectedSemantics": "Skill guidance headed “Cases”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/cases.md:1" + ] + }, + { + "id": "skill:skills/paperclip/references/cases.md:core-model:12", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/cases.md:12", + "title": "Core Model", + "expectedSemantics": "Skill guidance headed “Core Model”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/cases.md:12" + ] + }, + { + "id": "skill:skills/paperclip/references/cases.md:upsert-semantics:29", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/cases.md:29", + "title": "Upsert Semantics", + "expectedSemantics": "Skill guidance headed “Upsert Semantics”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/cases.md:29" + ] + }, + { + "id": "skill:skills/paperclip/references/cases.md:read-and-search:67", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/cases.md:67", + "title": "Read And Search", + "expectedSemantics": "Skill guidance headed “Read And Search”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/cases.md:67" + ] + }, + { + "id": "skill:skills/paperclip/references/cases.md:documents:90", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/cases.md:90", + "title": "Documents", + "expectedSemantics": "Skill guidance headed “Documents”.", + "primaryDisposition": "always_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/cases.md:90" + ] + }, + { + "id": "skill:skills/paperclip/references/cases.md:fields:118", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/cases.md:118", + "title": "Fields", + "expectedSemantics": "Skill guidance headed “Fields”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/cases.md:118" + ] + }, + { + "id": "skill:skills/paperclip/references/cases.md:issue-links:151", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/cases.md:151", + "title": "Issue Links", + "expectedSemantics": "Skill guidance headed “Issue Links”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/cases.md:151" + ] + }, + { + "id": "skill:skills/paperclip/references/cases.md:child-cases:176", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/cases.md:176", + "title": "Child Cases", + "expectedSemantics": "Skill guidance headed “Child Cases”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/cases.md:176" + ] + }, + { + "id": "skill:skills/paperclip/references/cases.md:attachments:195", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/cases.md:195", + "title": "Attachments", + "expectedSemantics": "Skill guidance headed “Attachments”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/cases.md:195" + ] + }, + { + "id": "skill:skills/paperclip/references/cases.md:lifecycle:208", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/cases.md:208", + "title": "Lifecycle", + "expectedSemantics": "Skill guidance headed “Lifecycle”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/cases.md:208" + ] + }, + { + "id": "skill:skills/paperclip/references/cases.md:worked-blog-post-example:222", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/cases.md:222", + "title": "Worked Blog Post Example", + "expectedSemantics": "Skill guidance headed “Worked Blog Post Example”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/cases.md:222" + ] + }, + { + "id": "skill:skills/paperclip/references/company-skills.md:company-skills-workflow:1", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/company-skills.md:1", + "title": "Company Skills Workflow", + "expectedSemantics": "Skill guidance headed “Company Skills Workflow”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/company-skills.md:1" + ] + }, + { + "id": "skill:skills/paperclip/references/company-skills.md:what-exists:5", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/company-skills.md:5", + "title": "What Exists", + "expectedSemantics": "Skill guidance headed “What Exists”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/company-skills.md:5" + ] + }, + { + "id": "skill:skills/paperclip/references/company-skills.md:permission-model:22", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/company-skills.md:22", + "title": "Permission Model", + "expectedSemantics": "Skill guidance headed “Permission Model”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/company-skills.md:22" + ] + }, + { + "id": "skill:skills/paperclip/references/company-skills.md:core-endpoints:29", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/company-skills.md:29", + "title": "Core Endpoints", + "expectedSemantics": "Skill guidance headed “Core Endpoints”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/company-skills.md:29" + ] + }, + { + "id": "skill:skills/paperclip/references/company-skills.md:install-a-skill-into-the-company:65", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/company-skills.md:65", + "title": "Install A Skill Into The Company", + "expectedSemantics": "Skill guidance headed “Install A Skill Into The Company”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/company-skills.md:65" + ] + }, + { + "id": "skill:skills/paperclip/references/company-skills.md:app-shipped-catalog:75", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/company-skills.md:75", + "title": "App-shipped catalog", + "expectedSemantics": "Skill guidance headed “App-shipped catalog”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/company-skills.md:75" + ] + }, + { + "id": "skill:skills/paperclip/references/company-skills.md:external-source-import:101", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/company-skills.md:101", + "title": "External source import", + "expectedSemantics": "Skill guidance headed “External source import”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/company-skills.md:101" + ] + }, + { + "id": "skill:skills/paperclip/references/company-skills.md:source-types-in-order-of-preference:105", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/company-skills.md:105", + "title": "Source types (in order of preference)", + "expectedSemantics": "Skill guidance headed “Source types (in order of preference)”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/company-skills.md:105" + ] + }, + { + "id": "skill:skills/paperclip/references/company-skills.md:example-skills-sh-import-preferred:116", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/company-skills.md:116", + "title": "Example: skills.sh import (preferred)", + "expectedSemantics": "Skill guidance headed “Example: skills.sh import (preferred)”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/company-skills.md:116" + ] + }, + { + "id": "skill:skills/paperclip/references/company-skills.md:example-github-import:138", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/company-skills.md:138", + "title": "Example: GitHub import", + "expectedSemantics": "Skill guidance headed “Example: GitHub import”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/company-skills.md:138" + ] + }, + { + "id": "skill:skills/paperclip/references/company-skills.md:inspect-what-was-installed:164", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/company-skills.md:164", + "title": "Inspect What Was Installed", + "expectedSemantics": "Skill guidance headed “Inspect What Was Installed”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/company-skills.md:164" + ] + }, + { + "id": "skill:skills/paperclip/references/company-skills.md:assign-skills-to-an-existing-agent:181", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/company-skills.md:181", + "title": "Assign Skills To An Existing Agent", + "expectedSemantics": "Skill guidance headed “Assign Skills To An Existing Agent”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/company-skills.md:181" + ] + }, + { + "id": "skill:skills/paperclip/references/company-skills.md:include-skills-during-hire-or-create:216", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/company-skills.md:216", + "title": "Include Skills During Hire Or Create", + "expectedSemantics": "Skill guidance headed “Include Skills During Hire Or Create”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/company-skills.md:216" + ] + }, + { + "id": "skill:skills/paperclip/references/company-skills.md:notes:256", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/company-skills.md:256", + "title": "Notes", + "expectedSemantics": "Skill guidance headed “Notes”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/company-skills.md:256" + ] + }, + { + "id": "skill:skills/paperclip/references/issue-documents.md:issue-documents-through-the-api:1", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/issue-documents.md:1", + "title": "Issue documents through the API", + "expectedSemantics": "Skill guidance headed “Issue documents through the API”.", + "primaryDisposition": "always_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/issue-documents.md:1" + ] + }, + { + "id": "skill:skills/paperclip/references/issue-documents.md:create-a-document:8", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/issue-documents.md:8", + "title": "Create a document", + "expectedSemantics": "Skill guidance headed “Create a document”.", + "primaryDisposition": "always_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/issue-documents.md:8" + ] + }, + { + "id": "skill:skills/paperclip/references/issue-documents.md:update-or-resolve-an-unclear-write:40", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/issue-documents.md:40", + "title": "Update or resolve an unclear write", + "expectedSemantics": "Skill guidance headed “Update or resolve an unclear write”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/issue-documents.md:40" + ] + }, + { + "id": "skill:skills/paperclip/references/issue-workspaces.md:issue-workspace-runtime-controls:1", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/issue-workspaces.md:1", + "title": "Issue Workspace Runtime Controls", + "expectedSemantics": "Skill guidance headed “Issue Workspace Runtime Controls”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/issue-workspaces.md:1" + ] + }, + { + "id": "skill:skills/paperclip/references/issue-workspaces.md:discover-the-workspace:5", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/issue-workspaces.md:5", + "title": "Discover the Workspace", + "expectedSemantics": "Skill guidance headed “Discover the Workspace”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/issue-workspaces.md:5" + ] + }, + { + "id": "skill:skills/paperclip/references/issue-workspaces.md:control-services:23", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/issue-workspaces.md:23", + "title": "Control Services", + "expectedSemantics": "Skill guidance headed “Control Services”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/issue-workspaces.md:23" + ] + }, + { + "id": "skill:skills/paperclip/references/issue-workspaces.md:start-all-configured-services-waits-for-configured-readiness-checks:28", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/issue-workspaces.md:28", + "title": "Start all configured services; waits for configured readiness checks.", + "expectedSemantics": "Skill guidance headed “Start all configured services; waits for configured readiness checks.”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/issue-workspaces.md:28" + ] + }, + { + "id": "skill:skills/paperclip/references/issue-workspaces.md:restart-all-configured-services:36", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/issue-workspaces.md:36", + "title": "Restart all configured services.", + "expectedSemantics": "Skill guidance headed “Restart all configured services.”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/issue-workspaces.md:36" + ] + }, + { + "id": "skill:skills/paperclip/references/issue-workspaces.md:stop-all-running-services:44", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/issue-workspaces.md:44", + "title": "Stop all running services.", + "expectedSemantics": "Skill guidance headed “Stop all running services.”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/issue-workspaces.md:44" + ] + }, + { + "id": "skill:skills/paperclip/references/issue-workspaces.md:read-the-url:63", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/issue-workspaces.md:63", + "title": "Read the URL", + "expectedSemantics": "Skill guidance headed “Read the URL”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/issue-workspaces.md:63" + ] + }, + { + "id": "skill:skills/paperclip/references/issue-workspaces.md:mcp-tools:72", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/issue-workspaces.md:72", + "title": "MCP Tools", + "expectedSemantics": "Skill guidance headed “MCP Tools”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/issue-workspaces.md:72" + ] + }, + { + "id": "skill:skills/paperclip/references/routines.md:paperclip-routines:1", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/routines.md:1", + "title": "Paperclip Routines", + "expectedSemantics": "Skill guidance headed “Paperclip Routines”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/routines.md:1" + ] + }, + { + "id": "skill:skills/paperclip/references/routines.md:lifecycle:16", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/routines.md:16", + "title": "Lifecycle", + "expectedSemantics": "Skill guidance headed “Lifecycle”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/routines.md:16" + ] + }, + { + "id": "skill:skills/paperclip/references/routines.md:creating-a-routine:27", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/routines.md:27", + "title": "Creating a Routine", + "expectedSemantics": "Skill guidance headed “Creating a Routine”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/routines.md:27" + ] + }, + { + "id": "skill:skills/paperclip/references/routines.md:concurrency-policies:64", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/routines.md:64", + "title": "Concurrency Policies", + "expectedSemantics": "Skill guidance headed “Concurrency Policies”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/routines.md:64" + ] + }, + { + "id": "skill:skills/paperclip/references/routines.md:catch-up-policies:76", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/routines.md:76", + "title": "Catch-Up Policies", + "expectedSemantics": "Skill guidance headed “Catch-Up Policies”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/routines.md:76" + ] + }, + { + "id": "skill:skills/paperclip/references/routines.md:activity-gated-scheduled-runs:87", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/routines.md:87", + "title": "Activity-Gated Scheduled Runs", + "expectedSemantics": "Skill guidance headed “Activity-Gated Scheduled Runs”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/routines.md:87" + ] + }, + { + "id": "skill:skills/paperclip/references/routines.md:example-skip-quiet-nights:107", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/routines.md:107", + "title": "Example: skip quiet nights", + "expectedSemantics": "Skill guidance headed “Example: skip quiet nights”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/routines.md:107" + ] + }, + { + "id": "skill:skills/paperclip/references/routines.md:adding-triggers:126", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/routines.md:126", + "title": "Adding Triggers", + "expectedSemantics": "Skill guidance headed “Adding Triggers”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/routines.md:126" + ] + }, + { + "id": "skill:skills/paperclip/references/routines.md:schedule-cron:136", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/routines.md:136", + "title": "Schedule (cron)", + "expectedSemantics": "Skill guidance headed “Schedule (cron)”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/routines.md:136" + ] + }, + { + "id": "skill:skills/paperclip/references/routines.md:webhook:150", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/routines.md:150", + "title": "Webhook", + "expectedSemantics": "Skill guidance headed “Webhook”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/routines.md:150" + ] + }, + { + "id": "skill:skills/paperclip/references/routines.md:api-manual-only:167", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/routines.md:167", + "title": "API (manual only)", + "expectedSemantics": "Skill guidance headed “API (manual only)”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/routines.md:167" + ] + }, + { + "id": "skill:skills/paperclip/references/routines.md:updating-and-deleting-triggers:179", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/routines.md:179", + "title": "Updating and Deleting Triggers", + "expectedSemantics": "Skill guidance headed “Updating and Deleting Triggers”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/routines.md:179" + ] + }, + { + "id": "skill:skills/paperclip/references/routines.md:manual-run:196", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/routines.md:196", + "title": "Manual Run", + "expectedSemantics": "Skill guidance headed “Manual Run”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/routines.md:196" + ] + }, + { + "id": "skill:skills/paperclip/references/routines.md:updating-a-routine:212", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/routines.md:212", + "title": "Updating a Routine", + "expectedSemantics": "Skill guidance headed “Updating a Routine”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/routines.md:212" + ] + }, + { + "id": "skill:skills/paperclip/references/routines.md:reading-routines-and-runs:223", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/routines.md:223", + "title": "Reading Routines and Runs", + "expectedSemantics": "Skill guidance headed “Reading Routines and Runs”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/routines.md:223" + ] + }, + { + "id": "skill:skills/paperclip/references/workflows.md:paperclip-workflow-playbooks:1", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/workflows.md:1", + "title": "Paperclip Workflow Playbooks", + "expectedSemantics": "Skill guidance headed “Paperclip Workflow Playbooks”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/workflows.md:1" + ] + }, + { + "id": "skill:skills/paperclip/references/workflows.md:project-setup-ceo-manager:7", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/workflows.md:7", + "title": "Project Setup (CEO/Manager)", + "expectedSemantics": "Skill guidance headed “Project Setup (CEO/Manager)”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/workflows.md:7" + ] + }, + { + "id": "skill:skills/paperclip/references/workflows.md:openclaw-invite-ceo:22", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/workflows.md:22", + "title": "OpenClaw Invite (CEO)", + "expectedSemantics": "Skill guidance headed “OpenClaw Invite (CEO)”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/workflows.md:22" + ] + }, + { + "id": "skill:skills/paperclip/references/workflows.md:setting-agent-instructions-path:50", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/workflows.md:50", + "title": "Setting Agent Instructions Path", + "expectedSemantics": "Skill guidance headed “Setting Agent Instructions Path”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/workflows.md:50" + ] + }, + { + "id": "skill:skills/paperclip/references/workflows.md:company-import-export:79", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/workflows.md:79", + "title": "Company Import / Export", + "expectedSemantics": "Skill guidance headed “Company Import / Export”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/workflows.md:79" + ] + }, + { + "id": "skill:skills/paperclip/references/workflows.md:self-test-playbook-app-level:106", + "sourceKind": "skill_heading", + "sourceAnchor": "skills/paperclip/references/workflows.md:106", + "title": "Self-Test Playbook (App-Level)", + "expectedSemantics": "Skill guidance headed “Self-Test Playbook (App-Level)”.", + "primaryDisposition": "optional_agent_tool", + "requiredGrants": [], + "assertionClasses": [ + "control_plane_invariant" + ], + "evidenceIds": [ + "skill:skills/paperclip/references/workflows.md:106" + ] } ] } diff --git a/packages/paperclip-runner/src/generated/capability-contract.ts b/packages/paperclip-runner/src/generated/capability-contract.ts index 0d145a06c44..70aaf0ac063 100644 --- a/packages/paperclip-runner/src/generated/capability-contract.ts +++ b/packages/paperclip-runner/src/generated/capability-contract.ts @@ -6,9 +6,9 @@ export type CapabilityPrimaryDisposition = | "optional_agent_tool"; export const capabilityInventoryCounts = { - "skillReferenceCapabilities": 157, + "skillReferenceCapabilities": 160, "evalCases": 106, - "normativeRows": 263, + "normativeRows": 266, "legacyMcpAliases": 42 } as const; diff --git a/packages/paperclip-runner/test/capability-contract.test.mjs b/packages/paperclip-runner/test/capability-contract.test.mjs index 39bc5d3e026..ac0d7e0d13e 100644 --- a/packages/paperclip-runner/test/capability-contract.test.mjs +++ b/packages/paperclip-runner/test/capability-contract.test.mjs @@ -52,3 +52,15 @@ test("conversational answer guidance has the same agent-operation classification for (const row of [...generated, ...spec]) assert.equal(row.primaryDisposition, "always_agent_tool"); for (const row of generated) assert.equal(row.semanticOperation, "call_api"); }); + +test("both capability inventories cover every declared skill source", async () => { + const contract = JSON.parse(await readFile(resolve(import.meta.dirname, "../spec/capability/source-contract.json"), "utf8")); + const generated = await readRows("capabilities.yaml"); + const normative = decodeInventory(await readFile(resolve(import.meta.dirname, "../spec/capability/capabilities.yaml"), "utf8")); + assert.deepEqual(normative.generatedFrom, contract.skillSources); + for (const source of contract.skillSources) { + assert.ok(generated.some(row => row.sourceAnchor.startsWith(`${source}#`)), `Missing generated source ${source}`); + assert.ok(normative.rows.some(row => row.sourceAnchor.startsWith(`${source}:`)), `Missing normative source ${source}`); + } + assert.equal(normative.rows.filter(row => row.sourceAnchor.startsWith("skills/paperclip/references/issue-documents.md:")).length, 3); +});