@ccoalm/ccl-skills 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (561) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +49 -0
  3. package/dist/assets/marketplace/.agents/plugins/marketplace.json +12 -0
  4. package/dist/assets/marketplace/.claude-plugin/marketplace.json +13 -0
  5. package/dist/assets/marketplace/marketplace-manifest.json +12 -0
  6. package/dist/assets/marketplace/plugins/ccl-skills/.claude-plugin/marketplace.json +16 -0
  7. package/dist/assets/marketplace/plugins/ccl-skills/.claude-plugin/plugin.json +5 -0
  8. package/dist/assets/marketplace/plugins/ccl-skills/.codex-plugin/plugin.json +5 -0
  9. package/dist/assets/marketplace/plugins/ccl-skills/.worktree-only +3 -0
  10. package/dist/assets/marketplace/plugins/ccl-skills/agent-context/session-start.md +45 -0
  11. package/dist/assets/marketplace/plugins/ccl-skills/agent-context/subagent-start.md +12 -0
  12. package/dist/assets/marketplace/plugins/ccl-skills/hooks/AGENTS.md +19 -0
  13. package/dist/assets/marketplace/plugins/ccl-skills/hooks/guard-delegation-owner.sh +125 -0
  14. package/dist/assets/marketplace/plugins/ccl-skills/hooks/guard-edit-isolation.sh +102 -0
  15. package/dist/assets/marketplace/plugins/ccl-skills/hooks/guard-merge-authorization.sh +1156 -0
  16. package/dist/assets/marketplace/plugins/ccl-skills/hooks/hooks.json +131 -0
  17. package/dist/assets/marketplace/plugins/ccl-skills/hooks/merge-authorization-prompt.sh +142 -0
  18. package/dist/assets/marketplace/plugins/ccl-skills/hooks/owner-dispatch-guard.sh +12 -0
  19. package/dist/assets/marketplace/plugins/ccl-skills/hooks/owner-dispatch-stop.sh +13 -0
  20. package/dist/assets/marketplace/plugins/ccl-skills/hooks/remind-post-merge-cleanup.sh +144 -0
  21. package/dist/assets/marketplace/plugins/ccl-skills/hooks/session-context.sh +87 -0
  22. package/dist/assets/marketplace/plugins/ccl-skills/hooks/session-start.sh +86 -0
  23. package/dist/assets/marketplace/plugins/ccl-skills/hooks/skill-extraction-gate-stop.sh +69 -0
  24. package/dist/assets/marketplace/plugins/ccl-skills/hooks/subagent-start.sh +26 -0
  25. package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_guard_delegation_owner.sh +329 -0
  26. package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_guard_edit_isolation.sh +322 -0
  27. package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_guard_merge_authorization.sh +902 -0
  28. package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_merge_authorization_prompt.sh +178 -0
  29. package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_remind_post_merge_cleanup.sh +121 -0
  30. package/dist/assets/marketplace/plugins/ccl-skills/hooks/test_session_start.sh +170 -0
  31. package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/AGENTS.md +17 -0
  32. package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/ccl-skills.ts +564 -0
  33. package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-install-skills.md +14 -0
  34. package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-update-skills.md +44 -0
  35. package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-verify-skills.md +109 -0
  36. package/dist/assets/marketplace/plugins/ccl-skills/packages/opencode-plugin/commands/ccl-worktree-check.md +36 -0
  37. package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/AGENTS.md +28 -0
  38. package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/README.md +276 -0
  39. package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/owner-dispatch.example.json +10 -0
  40. package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/owner-dispatch.sh +1307 -0
  41. package/dist/assets/marketplace/plugins/ccl-skills/scripts/owner-dispatch/test.sh +941 -0
  42. package/dist/assets/marketplace/plugins/ccl-skills/skills/agents-file-coverage-gate/SKILL.md +45 -0
  43. package/dist/assets/marketplace/plugins/ccl-skills/skills/agents-file-coverage-gate/agents/openai.yaml +4 -0
  44. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/SKILL.md +188 -0
  45. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/agents/openai.yaml +4 -0
  46. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/android-dev.md +92 -0
  47. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/flutter-dev.md +80 -0
  48. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/ios-dev.md +72 -0
  49. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/kotlin-multiplatform.md +93 -0
  50. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/mobile-platform-boundaries.md +77 -0
  51. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/mobile-quality-release.md +77 -0
  52. package/dist/assets/marketplace/plugins/ccl-skills/skills/app-cross-platform-dev/references/source-evidence-map.md +64 -0
  53. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/SKILL.md +353 -0
  54. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/agents/openai.yaml +4 -0
  55. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/client-routing.md +419 -0
  56. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/manual-invocation-and-prompts.md +126 -0
  57. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/staged-review-contract.md +197 -0
  58. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/references/timeout-auth-and-capabilities.md +179 -0
  59. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/AGENTS.md +98 -0
  60. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/classify_envelope.py +93 -0
  61. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/classify_timeout_exit.sh +15 -0
  62. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/claude_review.sh +1438 -0
  63. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/codex_review.sh +324 -0
  64. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/concern_excerpt.py +295 -0
  65. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/egress_schema.py +214 -0
  66. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/init_policy_matrix.py +642 -0
  67. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/kimi_packet_mcp.py +181 -0
  68. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/kimi_review.sh +1165 -0
  69. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/opencode_review.sh +1190 -0
  70. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_cli_review.py +946 -0
  71. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_opencode_review.py +474 -0
  72. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_probe_result.py +1899 -0
  73. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/parse_review_json.py +200 -0
  74. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/review_gate.py +2845 -0
  75. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/review_gate.sh +6 -0
  76. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/run_claude_capture.py +71 -0
  77. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/runtime-surface-verification-design.md +53 -0
  78. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_classify_envelope.sh +68 -0
  79. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_claude_review_probe.sh +2311 -0
  80. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_cli_review_wrappers.sh +1832 -0
  81. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_code_review_identity.sh +73 -0
  82. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_concern_excerpt.sh +245 -0
  83. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_egress_schema.sh +177 -0
  84. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_init_policy_matrix.sh +272 -0
  85. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_kimi_packet_mcp.py +195 -0
  86. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_opencode_review_concurrency.sh +120 -0
  87. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_opencode_review_retry.sh +1005 -0
  88. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_parse_opencode_review.sh +258 -0
  89. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_parse_probe_result.sh +574 -0
  90. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_parse_review_json.sh +349 -0
  91. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_client_compat.py +434 -0
  92. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_client_order.sh +264 -0
  93. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/test_review_gate.sh +2412 -0
  94. package/dist/assets/marketplace/plugins/ccl-skills/skills/code-review/scripts/verify_native_skill_binding.py +123 -0
  95. package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/SKILL.md +153 -0
  96. package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/agents/openai.yaml +4 -0
  97. package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/references/diagnosis-playbook.md +54 -0
  98. package/dist/assets/marketplace/plugins/ccl-skills/skills/defect-diagnosis/references/prevention-routing.md +36 -0
  99. package/dist/assets/marketplace/plugins/ccl-skills/skills/feature-risk-router/SKILL.md +69 -0
  100. package/dist/assets/marketplace/plugins/ccl-skills/skills/feature-risk-router/agents/openai.yaml +4 -0
  101. package/dist/assets/marketplace/plugins/ccl-skills/skills/feature-risk-router/references/security-review-gate.md +41 -0
  102. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/SKILL.md +165 -0
  103. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/agents/openai.yaml +4 -0
  104. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/api-security-boundaries.md +47 -0
  105. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/architecture-playbook.md +160 -0
  106. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/artifact-generation-architecture.md +37 -0
  107. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/audit-history-architecture.md +29 -0
  108. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/bulk-workflow-architecture.md +33 -0
  109. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/config-rule-routing-architecture.md +34 -0
  110. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/cross-cutting-concerns.md +72 -0
  111. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/data-modeling-and-migrations.md +79 -0
  112. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/data-platform-architecture.md +210 -0
  113. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/dependency-platform.md +105 -0
  114. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/developer-tooling-architecture.md +38 -0
  115. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/error-contract-architecture.md +36 -0
  116. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/event-driven-architecture.md +260 -0
  117. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/http-gateway-architecture.md +74 -0
  118. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/mq-consumer-architecture.md +38 -0
  119. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/multi-tenant-isolation.md +275 -0
  120. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/notification-architecture.md +25 -0
  121. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/ops-checklist.md +57 -0
  122. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/performance-capacity-architecture.md +38 -0
  123. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/protobuf-contract-architecture.md +119 -0
  124. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/redis-cache-coordination.md +93 -0
  125. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/release-runtime-readiness.md +65 -0
  126. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/replay-comparison-architecture.md +26 -0
  127. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/runtime-observability.md +94 -0
  128. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/service-scaffold.md +76 -0
  129. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/source-evidence-map.md +55 -0
  130. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-architecture/references/workflow-state-architecture.md +38 -0
  131. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/SKILL.md +159 -0
  132. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/agents/openai.yaml +4 -0
  133. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/artifact-generation-patterns.md +37 -0
  134. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/audit-history-patterns.md +28 -0
  135. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/bulk-import-export-patterns.md +56 -0
  136. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/config-rule-routing-patterns.md +38 -0
  137. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/data-access-patterns.md +55 -0
  138. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/db-schema-and-dal-patterns.md +109 -0
  139. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/dependency-client-patterns.md +130 -0
  140. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/developer-tooling-patterns.md +70 -0
  141. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/domain-feature-patterns.md +78 -0
  142. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/engineering-patterns.md +119 -0
  143. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/error-contract-patterns.md +55 -0
  144. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/feature-playbook.md +61 -0
  145. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/http-gateway-client-patterns.md +76 -0
  146. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/mq-consumer-patterns.md +55 -0
  147. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/notification-patterns.md +42 -0
  148. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/observability-implementation-patterns.md +101 -0
  149. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/performance-capacity-patterns.md +44 -0
  150. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/protobuf-contract-patterns.md +72 -0
  151. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/public-api-integration-patterns.md +56 -0
  152. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/quality-and-testing-patterns.md +91 -0
  153. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/redis-cache-lock-patterns.md +123 -0
  154. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/release-ops-patterns.md +112 -0
  155. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/reliability-patterns.md +83 -0
  156. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/replay-comparison-patterns.md +32 -0
  157. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/scaffold-and-codegen.md +86 -0
  158. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/source-evidence-map.md +54 -0
  159. package/dist/assets/marketplace/plugins/ccl-skills/skills/go-microservice-dev/references/state-machine-task-patterns.md +45 -0
  160. package/dist/assets/marketplace/plugins/ccl-skills/skills/grill-me/SKILL.md +80 -0
  161. package/dist/assets/marketplace/plugins/ccl-skills/skills/grill-me/agents/openai.yaml +4 -0
  162. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/SKILL.md +117 -0
  163. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/agents/openai.yaml +4 -0
  164. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-approval-auto-reviewer.md +106 -0
  165. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-command-sandbox.md +441 -0
  166. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-context-freshness.md +47 -0
  167. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-credentials-auth.md +13 -0
  168. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-extensions-skills.md +13 -0
  169. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-file-edit-protocol.md +129 -0
  170. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-ide-integration.md +5 -0
  171. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-input-ingestion.md +13 -0
  172. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-instruction-composition.md +13 -0
  173. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-lifecycle-hooks.md +92 -0
  174. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-messaging.md +5 -0
  175. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-runtime-bootstrap.md +5 -0
  176. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-session-persistence.md +448 -0
  177. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-task-orchestration.md +13 -0
  178. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-tool-dispatch.md +123 -0
  179. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/agent-turn-lifecycle.md +131 -0
  180. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/inference-capacity-operations.md +162 -0
  181. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/llm-client-gateway.md +156 -0
  182. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/model-prompt-evaluation.md +146 -0
  183. package/dist/assets/marketplace/plugins/ccl-skills/skills/llm-inference-integration/references/retrieval-agent-safety.md +273 -0
  184. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/SKILL.md +202 -0
  185. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/agents/openai.yaml +4 -0
  186. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/contracts-and-state.md +62 -0
  187. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/cross-stack-alignment.md +94 -0
  188. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/framework-choice.md +76 -0
  189. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/online-practice-uptake.md +56 -0
  190. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/platform-capabilities.md +91 -0
  191. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/product-page-checklist.md +40 -0
  192. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/qa-release.md +72 -0
  193. package/dist/assets/marketplace/plugins/ccl-skills/skills/miniapp-product-dev/references/source-evidence-map.md +82 -0
  194. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-agent-delegation/SKILL.md +103 -0
  195. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-agent-delegation/agents/openai.yaml +5 -0
  196. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-agent-delegation/references/multi-agent-delegation-playbook.md +100 -0
  197. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/SKILL.md +70 -0
  198. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/agents/openai.yaml +4 -0
  199. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/references/public-data-acquisition.md +549 -0
  200. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/references/public-disclosure-channels.md +97 -0
  201. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/references/research-prompts.md +66 -0
  202. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/scripts/AGENTS.md +32 -0
  203. package/dist/assets/marketplace/plugins/ccl-skills/skills/multi-perspective-research/scripts/test-public-data-acquisition-recipes.sh +379 -0
  204. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/SKILL.md +244 -0
  205. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/agents/openai.yaml +4 -0
  206. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/alerting-and-on-call.md +76 -0
  207. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/framework-middleware-checklist.md +142 -0
  208. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/infra-component-deployment.md +268 -0
  209. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/log-correlation-recipe.md +124 -0
  210. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/log-schema-canonical.md +208 -0
  211. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/metrics-conventions.md +105 -0
  212. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/obs-stack-architecture.md +107 -0
  213. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/sli-slo-design.md +95 -0
  214. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-observability/references/source-register.md +11 -0
  215. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/SKILL.md +303 -0
  216. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/agents/openai.yaml +4 -0
  217. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/canary-and-rollout-strategy.md +163 -0
  218. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/config-center-via-etcd.md +245 -0
  219. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/custom-control-plane-boundary.md +298 -0
  220. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/deploy-cli-concrete-recipe.md +312 -0
  221. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/deploy-pipeline.md +165 -0
  222. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/env-and-lane-matrix.md +126 -0
  223. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/lane-orchestration-control-plane.md +383 -0
  224. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/multi-region-and-cluster.md +135 -0
  225. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/promotion-gate-and-review.md +149 -0
  226. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/python-package-registry-release.md +462 -0
  227. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/rollback-playbook.md +123 -0
  228. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/secret-and-config-management.md +231 -0
  229. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-release-engineering/references/version-authority-and-deprecation.md +21 -0
  230. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/SKILL.md +276 -0
  231. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/agents/openai.yaml +4 -0
  232. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/dual-sidecar-and-traffic-config-center.md +127 -0
  233. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/framework-middleware.md +143 -0
  234. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/grpc-authority-workaround.md +90 -0
  235. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/http-response-envelope-contract.md +24 -0
  236. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/mesh-architecture.md +127 -0
  237. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/multi-env-routing.md +192 -0
  238. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/protobuf-http-contract-signals.md +64 -0
  239. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/retry-timeout-circuit-breaker.md +124 -0
  240. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/rpc-framework-recipe.md +494 -0
  241. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/service-discovery-choice.md +113 -0
  242. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/service-discovery-migration-playbook.md +231 -0
  243. package/dist/assets/marketplace/plugins/ccl-skills/skills/platform-service-connectivity/references/service-discovery-recipe.md +131 -0
  244. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/SKILL.md +235 -0
  245. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/agents/openai.yaml +4 -0
  246. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/adr-convention.md +146 -0
  247. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-checklist.md +30 -0
  248. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-evaluation-report-template.md +25 -0
  249. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-execution-spec.md +108 -0
  250. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-sop.md +457 -0
  251. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/algorithm-launch-templates.md +24 -0
  252. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/artifact-egress-confidentiality.md +58 -0
  253. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/code-review-checklist.md +86 -0
  254. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/cross-repo-coordination.md +46 -0
  255. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/delivery-lifecycle.md +192 -0
  256. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/design-review-gate-mechanics.md +62 -0
  257. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/design-routing-and-readiness.md +45 -0
  258. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/diagnostic-spec-match-gate.md +36 -0
  259. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/dispatch-owner-skills.md +35 -0
  260. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/dormant-code-activation.md +47 -0
  261. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/existing-project-assessment-report.md +223 -0
  262. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/external-skill-augmentation.md +46 -0
  263. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/feature-deprecation-cascade.md +15 -0
  264. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/high-risk-resilience-gates.md +73 -0
  265. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/implementation-completeness-and-minimality.md +120 -0
  266. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/implementation-entry-reentry-gate.md +122 -0
  267. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/modular-monolith-heuristic.md +105 -0
  268. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/pre-final-continuation-gate.md +115 -0
  269. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/problem-resolution-and-learning.md +62 -0
  270. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/quality-attributes.md +112 -0
  271. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/quality-remediation-program.md +88 -0
  272. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/rd-standards-doc-family-checklist.md +27 -0
  273. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/refactoring-discipline.md +52 -0
  274. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/review-reception.md +34 -0
  275. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/shared-gate-artifact-classification.md +76 -0
  276. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/source-evidence-map.md +31 -0
  277. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/status-tracker-sync.md +77 -0
  278. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/sync-spec-repo-contract.md +25 -0
  279. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/verify-developer-experience.md +34 -0
  280. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/references/worktree-mechanics.md +55 -0
  281. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/scripts/AGENTS.md +18 -0
  282. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-rd-workflow/scripts/check-agent-contract-coverage.sh +213 -0
  283. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/SKILL.md +136 -0
  284. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/agents/openai.yaml +9 -0
  285. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/analytics-visualization-interactions.md +206 -0
  286. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/behavioral-aesthetic-logic.md +108 -0
  287. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/complex-creation-interactions.md +194 -0
  288. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/design-execution-checklist.md +214 -0
  289. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/design-impl-naming-and-versioning.md +53 -0
  290. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/design-intake-and-acceptance.md +129 -0
  291. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/design-system-source-of-truth.md +97 -0
  292. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/external-ui-ux-quality-benchmarks.md +79 -0
  293. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/frontend-code-evidence-map.md +63 -0
  294. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/interaction-design-patterns.md +146 -0
  295. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/layout-recipes-and-screenshot-acceptance.md +250 -0
  296. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/multi-project-token-consistency.md +237 -0
  297. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/multi-stack-strategy.md +65 -0
  298. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/operational-processing-workflows.md +237 -0
  299. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/platform-mobile-patterns.md +324 -0
  300. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/platform-web-desktop-patterns.md +456 -0
  301. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/product-lifecycle-acceptance-and-iteration.md +114 -0
  302. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/product-surface-patterns.md +79 -0
  303. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/resource-management-interactions.md +113 -0
  304. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/scenario-community-patterns.md +133 -0
  305. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/source-map.md +130 -0
  306. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/tokens-and-components.md +47 -0
  307. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/trust-sensitive-ai-and-data-patterns.md +96 -0
  308. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/ui-ux-audit.md +106 -0
  309. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/ui-ux-design-development.md +176 -0
  310. package/dist/assets/marketplace/plugins/ccl-skills/skills/product-ui-ux-design/references/visual-craft.md +111 -0
  311. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/SKILL.md +157 -0
  312. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/agents/openai.yaml +4 -0
  313. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/ai-service-integration-boundaries.md +57 -0
  314. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/api-contract-and-schema.md +62 -0
  315. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/api-security-boundaries.md +39 -0
  316. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/architecture-playbook.md +46 -0
  317. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/async-execution-model.md +24 -0
  318. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/background-jobs-and-scheduling.md +18 -0
  319. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/batch-and-pipeline-architecture.md +11 -0
  320. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/config-secrets-runtime.md +22 -0
  321. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/data-modeling-and-migrations.md +64 -0
  322. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/data-platform-architecture.md +211 -0
  323. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/event-driven-architecture.md +263 -0
  324. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/multi-tenant-isolation.md +281 -0
  325. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/observability-and-ops.md +26 -0
  326. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/packaging-runtime-readiness.md +20 -0
  327. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/redis-cache-coordination.md +41 -0
  328. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/reliability-and-error-contract.md +17 -0
  329. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/source-evidence-map.md +55 -0
  330. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-architecture/references/web-framework-boundaries.md +26 -0
  331. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/SKILL.md +143 -0
  332. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/agents/openai.yaml +4 -0
  333. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/ai-service-wiring-patterns.md +16 -0
  334. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/async-and-worker-patterns.md +24 -0
  335. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/background-job-patterns.md +18 -0
  336. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/batch-and-artifact-patterns.md +13 -0
  337. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/dependency-client-patterns.md +39 -0
  338. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/error-handling-patterns.md +26 -0
  339. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/feature-playbook.md +43 -0
  340. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/observability-implementation-patterns.md +31 -0
  341. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/project-structure-and-tooling.md +24 -0
  342. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/public-api-security-patterns.md +52 -0
  343. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/redis-cache-lock-patterns.md +78 -0
  344. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/schema-and-validation-patterns.md +23 -0
  345. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/source-evidence-map.md +56 -0
  346. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/sqlalchemy-and-migrations-patterns.md +99 -0
  347. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/testing-and-quality-patterns.md +61 -0
  348. package/dist/assets/marketplace/plugins/ccl-skills/skills/python-service-dev/references/web-framework-patterns.md +35 -0
  349. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/SKILL.md +91 -0
  350. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/agents/openai.yaml +4 -0
  351. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/config-runtime-readback.md +20 -0
  352. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/mr-merge-authorization.md +31 -0
  353. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/post-release-env-reset.md +31 -0
  354. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/release-closeout-evidence.md +20 -0
  355. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/release-scope-confirmation.md +21 -0
  356. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/tag-and-prod-pipeline-gate.md +20 -0
  357. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/test-scope-prompt.md +24 -0
  358. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-coordination/references/watcher-discipline.md +14 -0
  359. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/SKILL.md +64 -0
  360. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/agents/openai.yaml +4 -0
  361. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/references/comment-safe-release-doc.md +19 -0
  362. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/references/release-evidence-workflow.md +23 -0
  363. package/dist/assets/marketplace/plugins/ccl-skills/skills/release-doc-writer/references/release-testing-scope-section.md +15 -0
  364. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-baseline/SKILL.md +87 -0
  365. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-baseline/agents/openai.yaml +4 -0
  366. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/SKILL.md +130 -0
  367. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/agents/openai.yaml +4 -0
  368. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/references/prd-composition-contract.md +35 -0
  369. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/references/requirement-closure-contract.md +86 -0
  370. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-doc-writer/references/security-four-questions.md +38 -0
  371. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-intent/SKILL.md +91 -0
  372. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-intent/agents/openai.yaml +4 -0
  373. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-scope/SKILL.md +88 -0
  374. package/dist/assets/marketplace/plugins/ccl-skills/skills/requirement-scope/agents/openai.yaml +4 -0
  375. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/SKILL.md +337 -0
  376. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/agents/openai.yaml +4 -0
  377. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/analysis-parse-fix-test-challenge-replay.md +47 -0
  378. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/attribution-verification.md +69 -0
  379. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/bootstrap-slim-c3-obligation-table.md +112 -0
  380. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/coverage-exhaustion-traps.md +45 -0
  381. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/description-authoring.md +162 -0
  382. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/dual-track-review-gate.md +507 -0
  383. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/eval-routing.md +86 -0
  384. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/evidence-card-template.md +51 -0
  385. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/example-domain-preselect.md +79 -0
  386. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/external-practice-controls.md +57 -0
  387. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/extraction-lifecycle-handoff.md +65 -0
  388. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/extraction-quickstart.md +194 -0
  389. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/firing-point-placement.md +75 -0
  390. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/harness-patterns-and-eval.md +286 -0
  391. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/incident-postmortem-extraction.md +190 -0
  392. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/l0-l1-l2-routing.md +114 -0
  393. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/online-skill-review.md +47 -0
  394. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/parallel-stack-references-pattern.md +164 -0
  395. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/r0-leakage-audit.md +90 -0
  396. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/recurring-anti-patterns-checklist.md +320 -0
  397. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/resume-paused-delivery.md +16 -0
  398. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/review-feedback-mining.md +33 -0
  399. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/review-finding-standards.md +57 -0
  400. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/review-rubric.md +40 -0
  401. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/rule-consolidation.md +118 -0
  402. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/skill-listing-budget.md +19 -0
  403. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/source-register.md +254 -0
  404. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/source-to-skill-extraction.md +658 -0
  405. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/two-source-extraction-pattern.md +167 -0
  406. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/uiux-judgment-extraction.md +179 -0
  407. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/uiux-routing-map.md +51 -0
  408. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/references/validation-and-landing.md +180 -0
  409. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/AGENTS.md +18 -0
  410. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-ccl-skills.sh +1452 -0
  411. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-evidence-card-leak.sh +491 -0
  412. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-mr-target-freshness.sh +173 -0
  413. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-size-budget.sh +488 -0
  414. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/check-sync-pointers.sh +419 -0
  415. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-golden-trace.rb +197 -0
  416. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-health.rb +327 -0
  417. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-routing-bank.rb +401 -0
  418. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/eval-routing.rb +248 -0
  419. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/generic-r0-leak-scan.sh +282 -0
  420. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/governing-chain-diff.py +321 -0
  421. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/impact-chain-gate.rb +964 -0
  422. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/register-firing-path-resolution.rb +708 -0
  423. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/skill-behavior-eval.py +540 -0
  424. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/source-register-lifecycle.rb +51 -0
  425. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/source-register-pending-status.rb +55 -0
  426. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_ai_coding_implementation_gates.sh +829 -0
  427. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_impact_chain_refscripts.sh +1203 -0
  428. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_r0_status.sh +75 -0
  429. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_register_pending_exclusion.sh +137 -0
  430. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_regressions.sh +173 -0
  431. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_route_drift.sh +377 -0
  432. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_size_budget.sh +833 -0
  433. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_skill_catalog.sh +491 -0
  434. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_ccl_source_register_lifecycle.sh +114 -0
  435. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_mr_target_freshness.sh +261 -0
  436. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_check_sync_pointers.sh +538 -0
  437. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_controlled_escalation_pins.sh +154 -0
  438. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_eval_routing_bank_grader_diagnostics.sh +190 -0
  439. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_eval_routing_bank_surface_binding.sh +178 -0
  440. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_eval_routing_prose_target.sh +86 -0
  441. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_generic_r0_leak_scan.sh +131 -0
  442. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_git_identity_predicate_gate.sh +243 -0
  443. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_governing_chain_diff.sh +419 -0
  444. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_impact_chain_gate_dateless_host.sh +120 -0
  445. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_register_firing_path_resolution.sh +724 -0
  446. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_register_firing_path_wiring.sh +414 -0
  447. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_regression_runner_registration.sh +34 -0
  448. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_routing_bank_integrity.sh +205 -0
  449. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_routing_pointer_integrity.sh +194 -0
  450. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_validate_skill_credential_cwd.sh +61 -0
  451. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_validate_skill_cross_refs.sh +111 -0
  452. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/test_validate_skill_root_depth.sh +53 -0
  453. package/dist/assets/marketplace/plugins/ccl-skills/skills/skill-extraction-workflow/scripts/validate-skill.sh +257 -0
  454. package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/SKILL.md +98 -0
  455. package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/agents/openai.yaml +4 -0
  456. package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/references/input-state-machines.md +36 -0
  457. package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/references/streaming-rich-output.md +130 -0
  458. package/dist/assets/marketplace/plugins/ccl-skills/skills/terminal-cli-dev/references/terminal-side-channels.md +96 -0
  459. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/SKILL.md +408 -0
  460. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/agents/openai.yaml +4 -0
  461. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/AGENTS.md +18 -0
  462. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/bitable-setup.md +573 -0
  463. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/ci_templates/README.md +120 -0
  464. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/ci_templates/github-actions.yml +119 -0
  465. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/ci_templates/gitlab-ci.yml +76 -0
  466. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/ci_templates/jenkins.Jenkinsfile +106 -0
  467. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/classical-test-design-techniques.md +279 -0
  468. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/gen_report.py +2807 -0
  469. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/makefile-template.md +200 -0
  470. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/report-config-schema.md +272 -0
  471. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/run_pytestless.py +475 -0
  472. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/source-to-case-workflows.md +258 -0
  473. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc-marker-conventions.md +316 -0
  474. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc-review-and-prioritization.md +145 -0
  475. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/AGENTS.md +16 -0
  476. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/tc.dart +129 -0
  477. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/tc.go +197 -0
  478. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/tc.py +135 -0
  479. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/tc_helpers/tc.ts +285 -0
  480. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/test_gen_report.py +2144 -0
  481. package/dist/assets/marketplace/plugins/ccl-skills/skills/test-artifact-management/references/update-lifecycle.md +62 -0
  482. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/SKILL.md +212 -0
  483. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/agents/openai.yaml +4 -0
  484. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/ci-fixtures-and-flake-control.md +75 -0
  485. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/client-runtime-test-matrices.md +50 -0
  486. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/data-and-workflow-testing.md +34 -0
  487. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/design-closed-contract-oracles.md +31 -0
  488. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/e2e-real-flow-testing.md +71 -0
  489. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/fitness-functions.md +240 -0
  490. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/integration-contract-testing.md +235 -0
  491. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/non-functional-specialized-scenarios.md +296 -0
  492. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/rd-testing-standard-template.md +126 -0
  493. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/run-killing-mutation-walk.md +43 -0
  494. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/scenario-testing.md +136 -0
  495. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/source-evidence-map.md +59 -0
  496. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/structured-tc-input-translation.md +67 -0
  497. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/test-code-authoring-patterns.md +392 -0
  498. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/test-data-and-determinism.md +39 -0
  499. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/test-topology-and-commands.md +92 -0
  500. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/unit-testing.md +46 -0
  501. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/vendored-contract-drift-checklist.md +64 -0
  502. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/references/verify-enforcement-mechanisms.md +18 -0
  503. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/AGENTS.md +17 -0
  504. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/client-terminal-ansi-check.py +140 -0
  505. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/client-terminal-ansi-check.test.sh +75 -0
  506. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/lang-basics-ast-check.py +170 -0
  507. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/lang-basics-ast-check.test.sh +87 -0
  508. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/lang-basics-go-check.go +198 -0
  509. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/lang-basics-go-check.test.sh +109 -0
  510. package/dist/assets/marketplace/plugins/ccl-skills/skills/testing-strategy/scripts/test_mutation_backup_recipe.sh +237 -0
  511. package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/SKILL.md +184 -0
  512. package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/agents/openai.yaml +4 -0
  513. package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/comment-safe-feishu.md +93 -0
  514. package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/cross-model-co-review.md +3 -0
  515. package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/delivery-face-closeout.md +60 -0
  516. package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/doc-charter-first.md +17 -0
  517. package/dist/assets/marketplace/plugins/ccl-skills/skills/tighten-doc/references/session-vantage-leakage.md +58 -0
  518. package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/SKILL.md +126 -0
  519. package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/agents/openai.yaml +4 -0
  520. package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/complex-workspace-patterns.md +47 -0
  521. package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/embedded-h5-in-host.md +87 -0
  522. package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/react-architecture.md +194 -0
  523. package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/source-evidence-map.md +60 -0
  524. package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/web-quality-release.md +190 -0
  525. package/dist/assets/marketplace/plugins/ccl-skills/skills/web-react-dev/references/web-ui-quality.md +83 -0
  526. package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/SKILL.md +179 -0
  527. package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/agents/openai.yaml +4 -0
  528. package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/references/shared-branch-rebase.md +25 -0
  529. package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/AGENTS.md +23 -0
  530. package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/test_worktree_status.sh +207 -0
  531. package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/test_worktree_sweep.sh +481 -0
  532. package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/worktree-status.sh +325 -0
  533. package/dist/assets/marketplace/plugins/ccl-skills/skills/worktree-isolation/scripts/worktree-sweep.sh +245 -0
  534. package/dist/assets/release.json +2797 -0
  535. package/dist/claude-adapter.d.ts +9 -0
  536. package/dist/claude-adapter.js +240 -0
  537. package/dist/cli-worker.d.ts +1 -0
  538. package/dist/cli-worker.js +32 -0
  539. package/dist/cli.d.ts +22 -0
  540. package/dist/cli.js +214 -0
  541. package/dist/codex-host.d.ts +30 -0
  542. package/dist/codex-host.js +162 -0
  543. package/dist/fs-safe.d.ts +21 -0
  544. package/dist/fs-safe.js +241 -0
  545. package/dist/index.d.ts +2 -0
  546. package/dist/index.js +1 -0
  547. package/dist/manifest.d.ts +8 -0
  548. package/dist/manifest.js +135 -0
  549. package/dist/opencode-adapter.d.ts +10 -0
  550. package/dist/opencode-adapter.js +416 -0
  551. package/dist/operations.d.ts +3 -0
  552. package/dist/operations.js +956 -0
  553. package/dist/paths.d.ts +20 -0
  554. package/dist/paths.js +4 -0
  555. package/dist/types.d.ts +58 -0
  556. package/dist/types.js +1 -0
  557. package/dist/unified.d.ts +4 -0
  558. package/dist/unified.js +64 -0
  559. package/dist/version.d.ts +2 -0
  560. package/dist/version.js +5 -0
  561. package/package.json +35 -0
@@ -0,0 +1,642 @@
1
+ #!/usr/bin/env python3
2
+ """Self-audit oracle for the reviewer init gate.
3
+
4
+ Not a re-read of the implementation: an INDEPENDENT statement of the intended
5
+ policy, exhaustively crossed over the init-event shape space, diffed against
6
+ what the parser + the wrapper's routing table actually do end to end.
7
+
8
+ Intended policy (stated here, not derived from the code):
9
+
10
+ A. Isolation proof is the exact `tools` allowlist plus the tool_use scan.
11
+ Any declared/invoked tool outside the expectation, or any non-empty
12
+ customization list, is a BREACH -> terminal.
13
+ B. A known field carrying a known-unsafe value (`permissionMode` outside
14
+ {default, plan}) is a proven BREACH -> terminal.
15
+ C. Anything we cannot verify -- an unrecognized surface-shaped field, or an
16
+ authority knob that vanished / was renamed / was added -- is UNVERIFIABLE
17
+ -> refuse, but fallback-eligible so review routes to another client.
18
+ D. Routine version drift -- unknown scalar metadata, empty containers, new
19
+ `agents`/`capabilities` member strings -- is TOLERATED.
20
+ E. Breach beats unverifiable beats drift: a run that is both must report the
21
+ stronger class.
22
+ F. The verdict must never be steerable by CLI-supplied text: a field NAME
23
+ cannot select which routing arm matches.
24
+ G. HOST VOCABULARY is unverifiable, not a proven breach. The built-in
25
+ command/skill allowlists are a snapshot of names the host owns and this
26
+ repo does not, so a BARE identifier they do not recognise cannot be shown
27
+ to be a user customization -- it is class C, not class A. A NAMESPACED,
28
+ path-shaped, duplicated or unparseable entry is still a customization and
29
+ stays terminal, and `plugins` is never host vocabulary. Refusal is
30
+ unchanged either way; only the next action differs, so no path that was
31
+ terminal becomes TOLERATED.
32
+ H. A same-executable, no-tool, no-plugin baseline may establish whole-string
33
+ host command/skill names only for a formal init reporting the same CLI
34
+ version. The baseline never establishes tools, authority, or schema.
35
+
36
+ Every row below is (case, init-event, expected verdict class), run through the
37
+ parse paths it declares. Policy G rows declare the review-skill paths, because
38
+ that is the only invocation shape whose customization lists are populated at all
39
+ (measured: 46 commands / 16 skills under `--plugin-dir`, both empty under
40
+ `--disable-slash-commands`) -- and it is the shape the skill-free paths never
41
+ exercised, which is why an earlier vocabulary outage passed a green matrix.
42
+ Each shape is crossed over BOTH parse implementations, since only
43
+ `--runtime-surface-only` selects the main-invocation branch.
44
+
45
+ Pass an alternate parser path as argv[1] to check a candidate or a mutant
46
+ against the same policy -- that is how this oracle is validated: it must report
47
+ mismatches for a deliberately weakened parser, or its clean verdict means
48
+ nothing. That walk is now EXECUTED by `test_init_policy_matrix.sh` rather than
49
+ recorded here as prose: per-mutant scores were a hand-maintained number that
50
+ every added row invalidated, and a sensitivity claim nothing runs is one
51
+ refactor away from being vacuous.
52
+ """
53
+ from __future__ import annotations
54
+
55
+ import json
56
+ import subprocess
57
+ import sys
58
+ import tempfile
59
+ from pathlib import Path
60
+
61
+ SCRIPT_DIR = Path(__file__).resolve().parent
62
+ PARSER = SCRIPT_DIR / "parse_probe_result.py"
63
+ WRAPPER = SCRIPT_DIR / "claude_review.sh"
64
+
65
+ # Verdict classes the wrapper distinguishes, in decreasing strength.
66
+ TOLERATED = "tolerated" # run accepted
67
+ TERMINAL = "terminal" # refused, lane stops
68
+ FALLBACK = "fallback" # refused, review routes to another client
69
+
70
+ BASE = {
71
+ "type": "system",
72
+ "subtype": "init",
73
+ "tools": [],
74
+ "mcp_servers": [],
75
+ "slash_commands": [],
76
+ "skills": [],
77
+ "plugins": [],
78
+ "permissionMode": "default",
79
+ }
80
+ RESULT = {"type": "result", "subtype": "success", "is_error": False, "result": "ok"}
81
+
82
+
83
+ def init(**overrides):
84
+ ev = dict(BASE)
85
+ for key, value in overrides.items():
86
+ if value is ...:
87
+ ev.pop(key, None)
88
+ else:
89
+ ev[key] = value
90
+ return ev
91
+
92
+
93
+ def case(
94
+ name,
95
+ ev,
96
+ expected,
97
+ extra_events=(),
98
+ paths=("probe", "main"),
99
+ host_baseline=None,
100
+ ):
101
+ """One row. `paths` names the invocation shapes it is meaningful under.
102
+
103
+ The two default paths declare no native skills, so their customization
104
+ lists are empty in every real run and any entry is a breach. Policy G rows
105
+ therefore declare the two review-skill paths instead -- see SKILL_BASE.
106
+ """
107
+ return {
108
+ "name": name,
109
+ "events": [ev, *extra_events, RESULT],
110
+ "expected": expected,
111
+ "paths": paths,
112
+ "host_baseline": host_baseline,
113
+ }
114
+
115
+
116
+ # Routing arms in claude_review.sh, mirrored here so field-name steering is
117
+ # testable. If a field name can make one of these match, policy F is violated.
118
+ ROUTING_PHRASES = [
119
+ "permission",
120
+ "tool invocation",
121
+ "unexpected tool",
122
+ "runtime isolation",
123
+ "runtime capability",
124
+ "Bash tool",
125
+ "unrecognized surface-shaped init field",
126
+ "unclassifiable host-vocabulary entry",
127
+ ]
128
+
129
+ CASES = [
130
+ # --- D: routine drift is tolerated -------------------------------------
131
+ case("clean", init(), TOLERATED),
132
+ case("real-2.1.220", init(
133
+ agents=["claude", "Explore", "general-purpose", "Plan"],
134
+ capabilities=["interrupt_receipt_v1", "interrupt_cancel_queued_v1",
135
+ "msg_lifecycle_v1"],
136
+ fast_mode_state="off",
137
+ fast_mode_disabled_reason="sdk_opt_in_required",
138
+ claude_code_version="2.1.220",
139
+ ), TOLERATED),
140
+ case("unknown-scalar-str", init(future_mode="compact"), TOLERATED),
141
+ case("unknown-scalar-bool", init(future_flag=False), TOLERATED),
142
+ case("unknown-scalar-int", init(future_count=0), TOLERATED),
143
+ case("unknown-scalar-null", init(future_null=None), TOLERATED),
144
+ case("unknown-empty-list", init(future_list=[]), TOLERATED),
145
+ case("unknown-empty-dict", init(future_dict={}), TOLERATED),
146
+ case("new-agent-name", init(agents=["FutureAgent"]), TOLERATED),
147
+ case("new-capability-token", init(capabilities=["future_protocol_v1"]), TOLERATED),
148
+ case("permission-mode-plan", init(permissionMode="plan"), TOLERATED),
149
+
150
+ # --- C: unverifiable -> fallback ---------------------------------------
151
+ case("unknown-nonempty-list", init(future_surface=["x"]), FALLBACK),
152
+ case("unknown-nonempty-dict", init(future_surface={"a": 1}), FALLBACK),
153
+ case("authority-absent", init(permissionMode=...), FALLBACK),
154
+ case("authority-renamed", init(permissionMode=..., permission_mode="bypassPermissions"),
155
+ FALLBACK),
156
+ case("authority-added-scalar", init(dangerously_skip_permissions=True), FALLBACK),
157
+ case("authority-added-container", init(bypass_rules=["x"]), FALLBACK),
158
+ case("authority-added-sandbox", init(sandbox_disabled=True), FALLBACK),
159
+ # The ADDED variant of a renamed-knob name: presence still holds, so only
160
+ # the name guard can catch it.
161
+ case("authority-added-named", init(authorityLevel="elevated"), FALLBACK),
162
+ case("authority-added-admin", init(adminMode=True), FALLBACK),
163
+ case("authority-added-superuser", init(superuser_mode=True), FALLBACK),
164
+ # ...and the name guard must not fire on benign metadata that merely shares
165
+ # a prefix. A false positive here is the outage class, not a safe default.
166
+ case("benign-author", init(author="someone"), TOLERATED),
167
+ case("benign-workspace-root", init(workspace_root="/tmp/x"), TOLERATED),
168
+ case("benign-root-dir", init(root_dir="/tmp/x"), TOLERATED),
169
+ case("benign-authenticated", init(authenticated=True), TOLERATED),
170
+
171
+ # --- B: proven unsafe value -> terminal --------------------------------
172
+ case("bypass-permissions", init(permissionMode="bypassPermissions"), TERMINAL),
173
+ case("accept-edits", init(permissionMode="acceptEdits"), TERMINAL),
174
+
175
+ # --- A: breach -> terminal ---------------------------------------------
176
+ case("declared-tool", init(tools=["Write"]), TERMINAL),
177
+ case("declared-bash", init(tools=["Bash"]), TERMINAL),
178
+ case("declared-skill", init(skills=["x"]), TERMINAL),
179
+ case("declared-plugin", init(plugins=["x"]), TERMINAL),
180
+ case("declared-mcp", init(mcp_servers=["x"]), TERMINAL),
181
+ case("declared-command", init(slash_commands=["x"]), TERMINAL),
182
+ case("invoked-tool", init(), TERMINAL, extra_events=[
183
+ {"type": "assistant", "message": {"content": [
184
+ {"type": "tool_use", "name": "Write", "input": {}}]}}]),
185
+ case("missing-tools", init(tools=...), TERMINAL),
186
+ case("wrong-type-tools", init(tools="none"), TERMINAL),
187
+ case("missing-skills", init(skills=...), TERMINAL),
188
+ case("agents-non-string", init(agents=[{"name": "x"}]), FALLBACK),
189
+ case("capabilities-non-list", init(capabilities="x"), FALLBACK),
190
+ case("known-metadata-turned-container", init(cwd={"path": "x"}), FALLBACK),
191
+
192
+ # --- E: stronger class wins on combination ------------------------------
193
+ case("drift+breach", init(future_surface=["x"], skills=["y"]), TERMINAL),
194
+ case("drift+unsafe-value", init(future_surface=["x"],
195
+ permissionMode="bypassPermissions"), TERMINAL),
196
+ case("authority+breach", init(permissionMode=..., tools=["Write"]), TERMINAL),
197
+ case("authority+drift", init(permissionMode=..., future_surface=["x"]), FALLBACK),
198
+
199
+ # Multi-init streams: every check that holds per event must be evaluated per
200
+ # event. A later init that drops or renames a field cannot be masked by an
201
+ # earlier one that stated it -- the union is not the contract.
202
+ case("second-init-drops-authority", init(), FALLBACK,
203
+ extra_events=[init(permissionMode=...)]),
204
+ case("second-init-renames-authority", init(), FALLBACK,
205
+ extra_events=[init(permissionMode=..., authorityLevel="elevated")]),
206
+ case("second-init-declares-tool", init(), TERMINAL,
207
+ extra_events=[init(tools=["Bash"])]),
208
+ ]
209
+
210
+ # --- F: no CLI-supplied field name may steer the routing arm ---------------
211
+ for phrase in ROUTING_PHRASES:
212
+ CASES.append(case(
213
+ f"steer-drift[{phrase}]",
214
+ init(**{phrase: ["x"]}) if " " not in phrase else init(),
215
+ FALLBACK,
216
+ ) if " " not in phrase else case(f"steer-drift[{phrase}]",
217
+ {**BASE, phrase: ["x"]}, FALLBACK))
218
+ # the same phrase attached to a genuine breach must NOT soften it
219
+ CASES.append(case(f"steer-breach[{phrase}]",
220
+ {**BASE, "skills": ["y"], phrase: ["x"]}, TERMINAL))
221
+ # Field names are not the only CLI-supplied text reaching the routed reason:
222
+ # tool names, skill/plugin/command identifiers and invoked-tool names are
223
+ # interpolated too, and they may contain spaces just as freely. A breach
224
+ # must stay terminal no matter what the inspected CLI calls its surfaces.
225
+ CASES.append(case(f"steer-tool-name[{phrase}]",
226
+ {**BASE, "tools": [phrase]}, TERMINAL))
227
+ CASES.append(case(f"steer-skill-name[{phrase}]",
228
+ {**BASE, "skills": [phrase]}, TERMINAL))
229
+ CASES.append(case(f"steer-invoked-tool[{phrase}]", dict(BASE), TERMINAL,
230
+ extra_events=[{"type": "assistant", "message": {"content": [
231
+ {"type": "tool_use", "name": phrase, "input": {}}]}}]))
232
+
233
+
234
+ # --- G: host vocabulary, on the review-skill path --------------------------
235
+ # The only shape whose customization lists are populated in a real run. The
236
+ # selected skill name must NOT also be a built-in skill name, or the
237
+ # ambiguous-selected-owner guard fires on every row and masks the verdict under
238
+ # test (observed while measuring the pre-change behaviour).
239
+ SELECTED_SKILL = "product-rd-workflow"
240
+ SKILL_BASE = {
241
+ **BASE,
242
+ "slash_commands": ["init", "agents"],
243
+ "skills": [f"ccl-skills:{SELECTED_SKILL}", "dataviz"],
244
+ "plugins": [{"name": "ccl-skills"}],
245
+ }
246
+
247
+
248
+ def skill_init(**overrides):
249
+ ev = dict(SKILL_BASE)
250
+ for key, value in overrides.items():
251
+ if value is ...:
252
+ ev.pop(key, None)
253
+ else:
254
+ ev[key] = value
255
+ return ev
256
+
257
+
258
+ def skill_case(name, ev, expected, extra_events=(), host_baseline=None):
259
+ return case(name, ev, expected, extra_events,
260
+ paths=("skill", "skill-probe"),
261
+ host_baseline=host_baseline)
262
+
263
+
264
+ def with_command(*extra):
265
+ return skill_init(slash_commands=[*SKILL_BASE["slash_commands"], *extra])
266
+
267
+
268
+ def with_skill(*extra):
269
+ return skill_init(skills=[*SKILL_BASE["skills"], *extra])
270
+
271
+
272
+ CASES += [
273
+ # the base itself must be accepted, or every row below proves nothing
274
+ skill_case("skill-clean", skill_init(), TOLERATED),
275
+
276
+ # Real Claude Code 2.1.233 owner-aware init drift. These three commands and
277
+ # terminal_slash_commands were captured from the exact safe-mode/plugin
278
+ # invocation used by claude_review.sh. They are host vocabulary/metadata,
279
+ # not an extra invocable surface; the exact tools list remains independently
280
+ # pinned by policy A.
281
+ skill_case(
282
+ "real-2.1.233-owner",
283
+ skill_init(
284
+ slash_commands=[
285
+ *SKILL_BASE["slash_commands"],
286
+ "__remote-workflow",
287
+ "auto-mode-setup",
288
+ "autocompact",
289
+ "list-agents",
290
+ ],
291
+ terminal_slash_commands=["init", "agents"],
292
+ claude_code_version="2.1.233",
293
+ ),
294
+ TOLERATED,
295
+ host_baseline=init(
296
+ slash_commands=[
297
+ *SKILL_BASE["slash_commands"],
298
+ "__remote-workflow",
299
+ "auto-mode-setup",
300
+ "autocompact",
301
+ "list-agents",
302
+ ],
303
+ skills=["dataviz"],
304
+ plugins=[],
305
+ terminal_slash_commands=["init", "agents"],
306
+ claude_code_version="2.1.233",
307
+ ),
308
+ ),
309
+ skill_case(
310
+ "host-baseline-version-mismatch",
311
+ skill_init(
312
+ slash_commands=[
313
+ *SKILL_BASE["slash_commands"],
314
+ "auto-mode-setup",
315
+ ],
316
+ claude_code_version="2.1.234",
317
+ ),
318
+ FALLBACK,
319
+ host_baseline=init(
320
+ slash_commands=["auto-mode-setup"],
321
+ claude_code_version="2.1.233",
322
+ ),
323
+ ),
324
+ skill_case(
325
+ "host-baseline-does-not-allow-unbaselined-command",
326
+ skill_init(
327
+ slash_commands=[
328
+ *SKILL_BASE["slash_commands"],
329
+ "baseline-command",
330
+ "formal-only-command",
331
+ ],
332
+ claude_code_version="2.1.233",
333
+ ),
334
+ FALLBACK,
335
+ host_baseline=init(
336
+ slash_commands=["baseline-command"],
337
+ skills=["dataviz"],
338
+ claude_code_version="2.1.233",
339
+ ),
340
+ ),
341
+ skill_case(
342
+ "host-baseline-does-not-authorize-new-skill",
343
+ skill_init(
344
+ skills=[*SKILL_BASE["skills"], "brand-new-host-skill"],
345
+ claude_code_version="2.1.233",
346
+ ),
347
+ FALLBACK,
348
+ host_baseline=init(
349
+ skills=["brand-new-host-skill"],
350
+ claude_code_version="2.1.233",
351
+ ),
352
+ ),
353
+ skill_case(
354
+ "host-baseline-rejects-namespaced-command",
355
+ skill_init(
356
+ slash_commands=[*SKILL_BASE["slash_commands"], "rogue:exfil"],
357
+ claude_code_version="2.1.233",
358
+ ),
359
+ TERMINAL,
360
+ host_baseline=init(
361
+ slash_commands=["rogue:exfil"],
362
+ claude_code_version="2.1.233",
363
+ ),
364
+ ),
365
+ skill_case(
366
+ "host-baseline-rejects-namespaced-skill",
367
+ skill_init(
368
+ skills=[*SKILL_BASE["skills"], "vendor:skill"],
369
+ claude_code_version="2.1.233",
370
+ ),
371
+ TERMINAL,
372
+ host_baseline=init(
373
+ skills=["vendor:skill"],
374
+ claude_code_version="2.1.233",
375
+ ),
376
+ ),
377
+ skill_case(
378
+ "host-baseline-does-not-allow-unbaselined-skill",
379
+ skill_init(
380
+ skills=[*SKILL_BASE["skills"], "formal-only-host-skill"],
381
+ claude_code_version="2.1.233",
382
+ ),
383
+ FALLBACK,
384
+ host_baseline=init(
385
+ skills=["brand-new-host-skill"],
386
+ claude_code_version="2.1.233",
387
+ ),
388
+ ),
389
+ skill_case(
390
+ "host-baseline-rejects-required-empty-surface",
391
+ skill_init(claude_code_version="2.1.233"),
392
+ TERMINAL,
393
+ host_baseline=init(
394
+ plugins=["untrusted-plugin"],
395
+ claude_code_version="2.1.233",
396
+ ),
397
+ ),
398
+ skill_case(
399
+ "terminal-commands-must-be-declared",
400
+ skill_init(terminal_slash_commands=["not-declared"]),
401
+ FALLBACK,
402
+ ),
403
+ skill_case(
404
+ "terminal-commands-ignore-json-key-order",
405
+ {
406
+ "terminal_slash_commands": ["init", "agents"],
407
+ **skill_init(),
408
+ },
409
+ TOLERATED,
410
+ ),
411
+ skill_case(
412
+ "terminal-commands-must-be-plain-strings",
413
+ skill_init(terminal_slash_commands=[{"name": "init"}]),
414
+ FALLBACK,
415
+ ),
416
+
417
+ # the defect: a name the host added and this snapshot does not know
418
+ skill_case("host-vocab-new-command", with_command("brand-new-builtin"), FALLBACK),
419
+ skill_case("host-vocab-new-skill", with_skill("brand-new-skill"), FALLBACK),
420
+ # identifiers are normalized before classification, so case is not a class
421
+ skill_case("host-vocab-mixed-case", with_command("BrandNewBuiltin"), FALLBACK),
422
+
423
+ # ...and everything that is NOT host vocabulary stays a proven breach
424
+ skill_case("namespaced-foreign-command", with_command("evil-plugin:pwn"), TERMINAL),
425
+ skill_case("namespaced-foreign-skill", with_skill("evil-plugin:pwn"), TERMINAL),
426
+ skill_case("path-shaped-identifier", with_command("dir/cmd"), TERMINAL),
427
+ skill_case("unparseable-identifier", with_command("ev!l"), TERMINAL),
428
+ skill_case("duplicate-identifiers", with_command("init"), TERMINAL),
429
+ skill_case("foreign-plugin",
430
+ skill_init(plugins=[{"name": "ccl-skills"}, {"name": "other"}]),
431
+ TERMINAL),
432
+ # A STRUCTURED entry stays terminal even when its reported `name` is bare:
433
+ # the identifier helper reads `name` first, so a sibling key can carry
434
+ # path-shaped proof of a real customization that the soft class would then
435
+ # ignore. Unread evidence is not the same as absent evidence, which is the
436
+ # only thing this class is for. Costs nothing: measured against the real
437
+ # CLI, both host-vocabulary fields arrive as plain strings.
438
+ skill_case("dict-entry-bare-name",
439
+ with_command({"name": "brand-new-builtin", "command": "/x/y"}),
440
+ TERMINAL),
441
+ # ...and the same shape with no smuggled key is still terminal, so the rule
442
+ # is "structured entries are not host vocabulary", not "we grep for paths".
443
+ skill_case("dict-entry-bare-name-only",
444
+ with_command({"name": "brand-new-builtin"}), TERMINAL),
445
+ # The severe variant, and the one a round-5 review found: a structured entry
446
+ # whose `name` is an ALLOWED built-in used to clear the allowlist outright,
447
+ # so its other keys were never inspected and the run reached TOLERATED with
448
+ # isolation reported verified. Reproduced before it was fixed. Both fields,
449
+ # because the shape gate must not be per-field folklore.
450
+ # The smuggled `name` must be an allowed built-in that is NOT already in the
451
+ # base list: reusing one duplicates an identifier, and the duplicate check
452
+ # then makes the row terminal for an unrelated reason. Caught by differential
453
+ # attribution — with the first fixtures, removing the shape gate flipped
454
+ # nothing here, which is a finding about the test, not a clean result.
455
+ skill_case("dict-entry-smuggled-under-allowed-command",
456
+ with_command({"name": "import", "command": "/x/y",
457
+ "extra": ["Bash"]}), TERMINAL),
458
+ skill_case("dict-entry-smuggled-under-allowed-skill",
459
+ with_skill({"name": "verify", "command": "/x/y"}), TERMINAL),
460
+ # ...while `plugins` legitimately carries dicts in every real run, so the
461
+ # gate must not spread to it: this is what stops the fix from breaking the
462
+ # actual CLI.
463
+ skill_case("plugin-dict-stays-legitimate",
464
+ skill_init(plugins=[{"name": "ccl-skills", "path": "/p"}]),
465
+ TOLERATED),
466
+ # The third instance of the same class: a PLAIN STRING whose first token is
467
+ # bare while the discarded remainder carries the proof. The identifier helper
468
+ # keeps only that first token, so judging the token instead of the whole
469
+ # value read `brand-new evil-plugin:pwn` as host vocabulary.
470
+ skill_case("whitespace-hides-a-namespace",
471
+ with_command("brand-new evil-plugin:pwn"), TERMINAL),
472
+ skill_case("whitespace-hides-a-path",
473
+ with_command("brand-new dir/cmd"), TERMINAL),
474
+ skill_case("whitespace-hides-a-routing-phrase",
475
+ with_command("brand-new runtime isolation"), TERMINAL),
476
+ skill_case("whitespace-hides-a-namespace-in-skills",
477
+ with_skill("brand-new evil-plugin:pwn"), TERMINAL),
478
+ # SURROUNDING whitespace is the fourth instance, and the worst: wrapping an
479
+ # ALLOWLISTED name reached TOLERATED, because both the allowlist and the
480
+ # first version of the whole-value check stripped before comparing.
481
+ skill_case("trailing-space-on-an-allowlisted-command",
482
+ with_command("import "), TERMINAL),
483
+ skill_case("leading-space-on-an-allowlisted-command",
484
+ with_command(" import"), TERMINAL),
485
+ skill_case("trailing-space-on-an-allowlisted-skill",
486
+ with_skill("verify "), TERMINAL),
487
+ skill_case("trailing-space-on-an-unknown-command",
488
+ with_command("brand-new "), TERMINAL),
489
+ skill_case("tab-wrapped-allowlisted-command",
490
+ with_command("\timport"), TERMINAL),
491
+ # ...and the legitimate namespaced entry must survive all of that, since its
492
+ # whole value IS its identifier. Without this row the gate could be tightened
493
+ # into rejecting the surface the review-skill mode depends on.
494
+ skill_case("selected-namespaced-command-still-allowed",
495
+ with_command(f"ccl-skills:{SELECTED_SKILL}"), TOLERATED),
496
+
497
+ # E in review-skill mode: the softer class must never absorb a real breach
498
+ skill_case("host-vocab+tool-breach",
499
+ skill_init(slash_commands=[*SKILL_BASE["slash_commands"], "brand-new"],
500
+ tools=["Write"]), TERMINAL),
501
+ skill_case("host-vocab+unsafe-value",
502
+ skill_init(slash_commands=[*SKILL_BASE["slash_commands"], "brand-new"],
503
+ permissionMode="bypassPermissions"), TERMINAL),
504
+ skill_case("host-vocab+namespaced",
505
+ with_command("brand-new", "evil-plugin:pwn"), TERMINAL),
506
+ skill_case("host-vocab+invoked-tool",
507
+ with_command("brand-new"), TERMINAL,
508
+ extra_events=[{"type": "assistant", "message": {"content": [
509
+ {"type": "tool_use", "name": "Write", "input": {}}]}}]),
510
+ # two unverifiables are still one unverifiable
511
+ skill_case("host-vocab+unknown-container",
512
+ skill_init(slash_commands=[*SKILL_BASE["slash_commands"], "brand-new"],
513
+ future_surface=["x"]), FALLBACK),
514
+
515
+ # per event, not on the union
516
+ skill_case("second-init-adds-host-vocab", skill_init(), FALLBACK,
517
+ extra_events=[with_command("brand-new-builtin")]),
518
+ skill_case("second-init-adds-namespaced", skill_init(), TERMINAL,
519
+ extra_events=[with_command("evil-plugin:pwn")]),
520
+
521
+ # invariants that must survive in this mode too
522
+ skill_case("skill-missing-plugin", skill_init(plugins=[]), TERMINAL),
523
+ skill_case("skill-required-absent",
524
+ skill_init(skills=["ccl-skills:other-skill"]), TERMINAL),
525
+ skill_case("skill-authority-absent", skill_init(permissionMode=...), FALLBACK),
526
+ skill_case("skill-declared-tool", skill_init(tools=["Write"]), TERMINAL),
527
+ ]
528
+
529
+ # F in review-skill mode: the new class is reached through a CLI-supplied
530
+ # IDENTIFIER rather than a field name, so re-run the steering check over it. A
531
+ # phrase is normalized to its first token, which is bare -- so the softest arm
532
+ # it can reach is its own class, and it must never soften a breach.
533
+ for phrase in ROUTING_PHRASES:
534
+ # A phrase containing whitespace cannot be a plain host name at all, so the
535
+ # whole-value gate disqualifies it and it stays TERMINAL — stricter than the
536
+ # single-token case, and the property under test is unchanged either way: a
537
+ # CLI-supplied identifier never reaches an arm SOFTER than its own class.
538
+ CASES.append(skill_case(f"steer-vocab-command[{phrase}]",
539
+ with_command(phrase),
540
+ FALLBACK if " " not in phrase else TERMINAL))
541
+ CASES.append(skill_case(f"steer-vocab-breach[{phrase}]",
542
+ skill_init(
543
+ slash_commands=[*SKILL_BASE["slash_commands"], phrase],
544
+ tools=["Write"]), TERMINAL))
545
+
546
+
547
+ def wrapper_arm(reason: str) -> str:
548
+ """Mirror emit_runtime_inconclusive's case order from the wrapper source."""
549
+ source = WRAPPER.read_text()
550
+ block = source.split("emit_runtime_inconclusive() {", 1)[1].split("\n}", 1)[0]
551
+ for line in block.splitlines():
552
+ line = line.strip()
553
+ if not line.startswith("*") or ")" not in line:
554
+ continue
555
+ patterns = line.split(")", 1)[0]
556
+ body = line.split(")", 1)[1]
557
+ for raw in patterns.split("|"):
558
+ needle = raw.strip().strip("*").strip('"')
559
+ if needle and needle in reason:
560
+ if "stop_reviewer_lane" in body:
561
+ return TERMINAL
562
+ if "fallback" in body:
563
+ return FALLBACK
564
+ return "other:" + body.strip()[:40]
565
+ return TERMINAL # the wrapper's default arm stops the lane
566
+
567
+
568
+ # Both parse paths must reach the same verdict class. They build their reason
569
+ # strings independently and have drifted apart in opposite directions twice, and
570
+ # only the main path interpolates field names into the routed text - so a
571
+ # probe-path-only oracle cannot see a field-name steering bug at all.
572
+ PATHS = {
573
+ "probe": [],
574
+ "main": ["--require-empty-init", "--expected-tools", "",
575
+ "--allow-expected-tool-use", "--runtime-surface-only"],
576
+ # The review-skill shape, carrying the native-skill flags the wrapper really
577
+ # passes. Added because the two paths above declare no skills, so their
578
+ # customization lists are empty in every real run -- leaving the branch that
579
+ # actually classifies host vocabulary untested by a green matrix.
580
+ "skill": ["--require-empty-init", "--expected-tools", "",
581
+ "--expected-native-skills", SELECTED_SKILL,
582
+ "--required-native-skills", SELECTED_SKILL,
583
+ "--allow-expected-tool-use", "--runtime-surface-only"],
584
+ # ...and the same shape through the OTHER parse path. `--runtime-surface-only`
585
+ # is what selects the main-invocation branch, so without this the review-skill
586
+ # cases would only ever exercise one of the two implementations that have
587
+ # drifted apart in opposite directions twice before.
588
+ "skill-probe": ["--require-empty-init", "--expected-tools", "",
589
+ "--expected-native-skills", SELECTED_SKILL,
590
+ "--required-native-skills", SELECTED_SKILL],
591
+ }
592
+
593
+
594
+ def run_case(entry, parser=PARSER, path="probe"):
595
+ with tempfile.TemporaryDirectory() as tmp:
596
+ out = Path(tmp, "stdout")
597
+ err = Path(tmp, "stderr")
598
+ out.write_text("\n".join(json.dumps(ev) for ev in entry["events"]))
599
+ err.write_text("")
600
+ parser_args = [*PATHS[path]]
601
+ if entry["host_baseline"] is not None:
602
+ baseline = Path(tmp, "host-baseline")
603
+ baseline.write_text(
604
+ "\n".join(
605
+ json.dumps(ev)
606
+ for ev in (entry["host_baseline"], RESULT)
607
+ )
608
+ )
609
+ parser_args.extend(["--host-init-baseline", str(baseline)])
610
+ proc = subprocess.run(
611
+ [sys.executable, str(parser), "0", str(out), str(err), *parser_args],
612
+ capture_output=True, text=True)
613
+ if proc.returncode == 0:
614
+ return TOLERATED, ""
615
+ try:
616
+ reason = json.loads(proc.stdout)["reason"]
617
+ except Exception:
618
+ return "unparseable", proc.stdout[:120]
619
+ return wrapper_arm(reason), reason
620
+
621
+
622
+ def main():
623
+ parser = Path(sys.argv[1]) if len(sys.argv) > 1 else PARSER
624
+ failures = []
625
+ runs = 0
626
+ for entry in CASES:
627
+ for path in entry["paths"]:
628
+ runs += 1
629
+ actual, reason = run_case(entry, parser, path)
630
+ if actual != entry["expected"]:
631
+ failures.append((f"{entry['name']}/{path}", entry["expected"],
632
+ actual, reason[:160]))
633
+ print(f"cases: {runs} mismatches: {len(failures)}")
634
+ for name, expected, actual, reason in failures:
635
+ print(f" MISMATCH {name}: expected {expected}, got {actual}")
636
+ if reason:
637
+ print(f" reason: {reason}")
638
+ return 1 if failures else 0
639
+
640
+
641
+ if __name__ == "__main__":
642
+ raise SystemExit(main())