@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,325 @@
1
+ #!/usr/bin/env bash
2
+ # worktree-status — read-only preflight for repository worktree isolation.
3
+
4
+ set -u
5
+
6
+ SLUG=""
7
+ WANTED_BRANCH=""
8
+ BASE_REF=""
9
+ JSON=0
10
+ BASE_EXPLICIT=0
11
+
12
+ usage() {
13
+ cat <<'USAGE'
14
+ Usage: worktree-status.sh [--slug <slug>] [--branch <branch>] [--base <ref>] [--json]
15
+
16
+ Read-only worktree isolation preflight. It prints the current repo state, a
17
+ worktree inventory, and a copyable `git worktree add` command when editing is
18
+ unsafe. It never creates, removes, checks out, or modifies git state.
19
+
20
+ Exit codes: safe=0, unsafe=1, usage/setup error=2.
21
+ USAGE
22
+ }
23
+
24
+ while [ "$#" -gt 0 ]; do
25
+ case "$1" in
26
+ --slug)
27
+ [ "$#" -ge 2 ] || { echo "worktree-status: --slug requires a value" >&2; exit 2; }
28
+ SLUG="$2"; shift 2 ;;
29
+ --branch)
30
+ [ "$#" -ge 2 ] || { echo "worktree-status: --branch requires a value" >&2; exit 2; }
31
+ WANTED_BRANCH="$2"; shift 2 ;;
32
+ --base)
33
+ [ "$#" -ge 2 ] || { echo "worktree-status: --base requires a value" >&2; exit 2; }
34
+ BASE_REF="$2"; BASE_EXPLICIT=1; shift 2 ;;
35
+ --json) JSON=1; shift ;;
36
+ -h|--help) usage; exit 0 ;;
37
+ --*) echo "worktree-status: unknown flag '$1'" >&2; usage >&2; exit 2 ;;
38
+ *) echo "worktree-status: unexpected argument '$1'" >&2; usage >&2; exit 2 ;;
39
+ esac
40
+ done
41
+
42
+ git rev-parse --git-dir >/dev/null 2>&1 || { echo "worktree-status: not inside a git repo" >&2; exit 2; }
43
+ if [ "$JSON" = 1 ] && ! command -v python3 >/dev/null 2>&1; then
44
+ echo "worktree-status: --json requires python3 for JSON escaping" >&2
45
+ exit 2
46
+ fi
47
+
48
+ canon_dir() { cd "$1" 2>/dev/null && pwd -P; }
49
+ json_escape() { printf '%s' "$1" | python3 -c 'import json,sys; print(json.dumps(sys.stdin.read()))'; }
50
+ # Bash JSON string escaper used when python3 is unavailable. Emits
51
+ # the escaped inner content WITHOUT surrounding quotes; escapes backslash,
52
+ # double quote, tab, CR, and LF so interpolated values stay valid JSON.
53
+ json_string_fallback() {
54
+ local s=$1
55
+ s=${s//\\/\\\\}
56
+ s=${s//\"/\\\"}
57
+ s=${s//$'\t'/\\t}
58
+ s=${s//$'\r'/\\r}
59
+ s=${s//$'\n'/\\n}
60
+ printf '%s' "$s"
61
+ }
62
+ # ASCII unit separator: a delimiter that cannot appear in worktree paths or
63
+ # branch names, so the worktree inventory survives literal '|' in either field.
64
+ US="$(printf '\037')"
65
+ shell_quote() {
66
+ printf "'"
67
+ printf '%s' "$1" | sed "s/'/'\\\\''/g"
68
+ printf "'"
69
+ }
70
+ slugify() {
71
+ printf '%s' "$1" | tr '[:upper:]' '[:lower:]' | sed 's#[^a-z0-9._-]#-#g; s#^-*##; s#-*$##; s#--*#-#g'
72
+ }
73
+ branchify() {
74
+ printf '%s' "$1" | sed 's#[^A-Za-z0-9._/-]#-#g; s#//*#/#g; s#^[-/]*##; s#[-/]*$##; s#\.\.#-#g; s#@{#-#g; s#--*#-#g'
75
+ }
76
+
77
+ REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || true)"
78
+ [ -n "$REPO_ROOT" ] || { echo "worktree-status: cannot resolve repo root" >&2; exit 2; }
79
+ REPO_ROOT="$(canon_dir "$REPO_ROOT")"
80
+ GIT_DIR_RAW="$(git rev-parse --git-dir 2>/dev/null || true)"
81
+ GIT_COMMON_RAW="$(git rev-parse --git-common-dir 2>/dev/null || true)"
82
+ GIT_DIR="$(canon_dir "$GIT_DIR_RAW" 2>/dev/null || printf '%s' "$GIT_DIR_RAW")"
83
+ GIT_COMMON_DIR="$(canon_dir "$GIT_COMMON_RAW" 2>/dev/null || printf '%s' "$GIT_COMMON_RAW")"
84
+ PRIMARY_ROOT="$(canon_dir "$(dirname "$GIT_COMMON_DIR")" 2>/dev/null || true)"
85
+ [ -n "$PRIMARY_ROOT" ] || { echo "worktree-status: cannot resolve primary checkout root" >&2; exit 2; }
86
+ BRANCH="$(git symbolic-ref --quiet --short HEAD 2>/dev/null || true)"
87
+ HEAD_REV="$(git rev-parse --short HEAD 2>/dev/null || true)"
88
+ SUPERPROJECT="$(git rev-parse --show-superproject-working-tree 2>/dev/null || true)"
89
+ IS_SUBMODULE=0; [ -n "$SUPERPROJECT" ] && IS_SUBMODULE=1
90
+ IS_DETACHED=0; [ -z "$BRANCH" ] && IS_DETACHED=1
91
+ IS_INDEPENDENT=0; [ "$GIT_DIR" != "$GIT_COMMON_DIR" ] && IS_INDEPENDENT=1
92
+ WORKTREE_ONLY=0; [ -f "$REPO_ROOT/.worktree-only" ] && WORKTREE_ONLY=1
93
+ WORK_DIR_ROOT="$PRIMARY_ROOT/.work"
94
+ WORKTREE_DIR="$WORK_DIR_ROOT/worktrees"
95
+ LANE_DIR="$WORK_DIR_ROOT/lanes"
96
+ IN_WORK_DIR=0
97
+ case "$REPO_ROOT" in
98
+ "$WORKTREE_DIR"/*) IN_WORK_DIR=1 ;;
99
+ esac
100
+
101
+ DEFAULT_BRANCH=""
102
+ DEFAULT_CONFIRMED=0
103
+ BASE_CONFIRMED=0
104
+ DEFAULT_SYMREF="$(git symbolic-ref --quiet --short refs/remotes/origin/HEAD 2>/dev/null || true)"
105
+ if [ -n "$DEFAULT_SYMREF" ]; then
106
+ DEFAULT_BRANCH="${DEFAULT_SYMREF#origin/}"
107
+ DEFAULT_CONFIRMED=1
108
+ fi
109
+
110
+ if [ -z "$BASE_REF" ]; then
111
+ if [ "$DEFAULT_CONFIRMED" = 1 ]; then
112
+ BASE_REF="origin/$DEFAULT_BRANCH"
113
+ BASE_CONFIRMED=1
114
+ elif git rev-parse --verify --quiet "main^{commit}" >/dev/null 2>&1; then
115
+ BASE_REF="main"
116
+ elif git rev-parse --verify --quiet "master^{commit}" >/dev/null 2>&1; then
117
+ BASE_REF="master"
118
+ fi
119
+ elif [ "$BASE_EXPLICIT" = 1 ]; then
120
+ BASE_CONFIRMED=1
121
+ fi
122
+
123
+ if [ -z "$BASE_REF" ]; then
124
+ BASE_FOUND=0
125
+ else
126
+ if git rev-parse --verify --quiet "${BASE_REF}^{commit}" >/dev/null 2>&1; then
127
+ BASE_FOUND=1
128
+ else
129
+ BASE_FOUND=0
130
+ fi
131
+ fi
132
+
133
+ BASE_SHORT="$BASE_REF"
134
+ case "$BASE_SHORT" in
135
+ origin/*) BASE_SHORT="${BASE_SHORT#origin/}" ;;
136
+ refs/heads/*) BASE_SHORT="${BASE_SHORT#refs/heads/}" ;;
137
+ refs/remotes/origin/*) BASE_SHORT="${BASE_SHORT#refs/remotes/origin/}" ;;
138
+ esac
139
+
140
+ # Capture git status success separately: swallowing a nonzero exit into an empty
141
+ # string would read as "0 dirty lines" => a false clean => a false SAFE. For a
142
+ # clobber-prevention preflight, undetermined cleanliness must fail CLOSED (unsafe),
143
+ # so track STATUS_OK and require it for SAFE below.
144
+ if STATUS_PORCELAIN="$(git status --porcelain --untracked-files=all 2>/dev/null)"; then
145
+ STATUS_OK=1
146
+ else
147
+ STATUS_OK=0
148
+ STATUS_PORCELAIN=""
149
+ fi
150
+ STATUS_WITH_IGNORED="$(git status --porcelain --untracked-files=all --ignored 2>/dev/null || true)"
151
+ DIRTY_LINES="$(printf '%s\n' "$STATUS_PORCELAIN" | sed '/^$/d' | wc -l | tr -d ' ')"
152
+ UNTRACKED_LINES="$(printf '%s\n' "$STATUS_PORCELAIN" | grep -c '^?? ' || true)"
153
+ IGNORED_LINES="$(printf '%s\n' "$STATUS_WITH_IGNORED" | grep -c '^!! ' || true)"
154
+ TRACKED_DIRTY_LINES=$((DIRTY_LINES - UNTRACKED_LINES))
155
+ [ "$TRACKED_DIRTY_LINES" -lt 0 ] && TRACKED_DIRTY_LINES=0
156
+
157
+ safe_branch=0
158
+ if [ -n "$BRANCH" ] && [ "$BRANCH" != "$BASE_SHORT" ] && [ "$BRANCH" != "main" ] && [ "$BRANCH" != "master" ]; then
159
+ safe_branch=1
160
+ fi
161
+
162
+ SAFE=0
163
+ if [ "$IS_INDEPENDENT" = 1 ] && [ "$safe_branch" = 1 ] && [ "$IS_SUBMODULE" = 0 ] && [ "$IS_DETACHED" = 0 ] && [ "$STATUS_OK" = 1 ] && [ "$DIRTY_LINES" = 0 ] && [ "$BASE_FOUND" = 1 ] && [ "$BASE_CONFIRMED" = 1 ]; then
164
+ SAFE=1
165
+ fi
166
+
167
+ REASONS=()
168
+ [ "$IS_INDEPENDENT" = 1 ] || REASONS+=("not an independent worktree")
169
+ [ "$IS_SUBMODULE" = 0 ] || REASONS+=("inside a submodule")
170
+ [ "$IS_DETACHED" = 0 ] || REASONS+=("detached HEAD")
171
+ [ "$safe_branch" = 1 ] || REASONS+=("current branch is empty/default/base")
172
+ [ "$STATUS_OK" = 1 ] || REASONS+=("could not determine worktree cleanliness (git status failed); treating as unsafe")
173
+ [ "$DIRTY_LINES" = 0 ] || REASONS+=("dirty or untracked files present")
174
+ [ "$BASE_FOUND" = 1 ] || REASONS+=("base ref not found; pass --base")
175
+ [ "$BASE_CONFIRMED" = 1 ] || REASONS+=("default/base branch not confirmed; pass --base")
176
+
177
+ if [ -n "$SLUG" ]; then
178
+ SUGGEST_SLUG="$(slugify "$SLUG")"
179
+ elif [ -n "$WANTED_BRANCH" ]; then
180
+ SUGGEST_SLUG="$(slugify "$WANTED_BRANCH")"
181
+ elif [ -n "$BRANCH" ]; then
182
+ SUGGEST_SLUG="$(slugify "$BRANCH")"
183
+ else
184
+ SUGGEST_SLUG="worktree-task"
185
+ fi
186
+ [ -n "$SUGGEST_SLUG" ] || SUGGEST_SLUG="worktree-task"
187
+
188
+ if [ -n "$WANTED_BRANCH" ]; then
189
+ SUGGEST_BRANCH="$WANTED_BRANCH"
190
+ elif [ "$safe_branch" = 1 ]; then
191
+ SUGGEST_BRANCH="$BRANCH"
192
+ else
193
+ SUGGEST_BRANCH="worktree-${SUGGEST_SLUG}"
194
+ fi
195
+ SUGGEST_BRANCH="$(branchify "$SUGGEST_BRANCH")"
196
+ [ -n "$SUGGEST_BRANCH" ] || SUGGEST_BRANCH="worktree-${SUGGEST_SLUG}"
197
+ if ! git check-ref-format --branch "$SUGGEST_BRANCH" >/dev/null 2>&1; then
198
+ SUGGEST_BRANCH="worktree-${SUGGEST_SLUG}"
199
+ fi
200
+ SUGGEST_PATH="$WORKTREE_DIR/${SUGGEST_SLUG}"
201
+ LANE_METADATA_PATH="$LANE_DIR/${SUGGEST_SLUG}.json"
202
+ if [ -n "$BASE_REF" ]; then
203
+ SUGGEST_CMD="git worktree add -b $(shell_quote "$SUGGEST_BRANCH") $(shell_quote "$SUGGEST_PATH") $(shell_quote "$BASE_REF")"
204
+ else
205
+ SUGGEST_CMD="git worktree add -b $(shell_quote "$SUGGEST_BRANCH") $(shell_quote "$SUGGEST_PATH") <base>"
206
+ fi
207
+ if command -v python3 >/dev/null 2>&1; then
208
+ LANE_METADATA_SNIPPET="$(python3 - "$SUGGEST_SLUG" "$SUGGEST_BRANCH" "$SUGGEST_PATH" "$BASE_REF" <<'PY'
209
+ import json
210
+ import sys
211
+
212
+ slug, branch, worktree_path, base = sys.argv[1:]
213
+ print(json.dumps({
214
+ "slug": slug,
215
+ "branch": branch,
216
+ "worktree_path": worktree_path,
217
+ "base": base,
218
+ }, separators=(",", ":")))
219
+ PY
220
+ )"
221
+ else
222
+ LANE_METADATA_SNIPPET="{\"slug\":\"$(json_string_fallback "$SUGGEST_SLUG")\",\"branch\":\"$(json_string_fallback "$SUGGEST_BRANCH")\",\"worktree_path\":\"$(json_string_fallback "$SUGGEST_PATH")\",\"base\":\"$(json_string_fallback "$BASE_REF")\"}"
223
+ fi
224
+
225
+ WT_SUMMARY="$(git worktree list --porcelain 2>/dev/null | awk '
226
+ BEGIN { sep=sprintf("%c", 31) }
227
+ /^worktree / { if (path != "") print path sep branch sep head sep flags; path=substr($0,10); branch=""; head=""; flags=""; next }
228
+ /^HEAD / { head=substr($0,6); next }
229
+ /^branch / { branch=substr($0,19); next }
230
+ /^detached$/ { flags=flags ",detached"; next }
231
+ /^bare$/ { flags=flags ",bare"; next }
232
+ /^locked/ { flags=flags ",locked"; next }
233
+ END { if (path != "") print path sep branch sep head sep flags }
234
+ ')"
235
+
236
+ if [ "$JSON" = 1 ]; then
237
+ printf '{\n'
238
+ printf ' "status": %s,\n' "$(json_escape "$([ "$SAFE" = 1 ] && echo safe || echo unsafe)")"
239
+ printf ' "repo_root": %s,\n' "$(json_escape "$REPO_ROOT")"
240
+ printf ' "primary_root": %s,\n' "$(json_escape "$PRIMARY_ROOT")"
241
+ printf ' "branch": %s,\n' "$(json_escape "$BRANCH")"
242
+ printf ' "head": %s,\n' "$(json_escape "$HEAD_REV")"
243
+ printf ' "base": %s,\n' "$(json_escape "$BASE_REF")"
244
+ printf ' "base_found": %s,\n' "$([ "$BASE_FOUND" = 1 ] && echo true || echo false)"
245
+ printf ' "base_confirmed": %s,\n' "$([ "$BASE_CONFIRMED" = 1 ] && echo true || echo false)"
246
+ printf ' "default_branch": %s,\n' "$(json_escape "$DEFAULT_BRANCH")"
247
+ printf ' "default_confirmed": %s,\n' "$([ "$DEFAULT_CONFIRMED" = 1 ] && echo true || echo false)"
248
+ printf ' "git_dir": %s,\n' "$(json_escape "$GIT_DIR")"
249
+ printf ' "git_common_dir": %s,\n' "$(json_escape "$GIT_COMMON_DIR")"
250
+ printf ' "work_dir_root": %s,\n' "$(json_escape "$WORK_DIR_ROOT")"
251
+ printf ' "worktree_dir": %s,\n' "$(json_escape "$WORKTREE_DIR")"
252
+ printf ' "lane_metadata_path": %s,\n' "$(json_escape "$LANE_METADATA_PATH")"
253
+ printf ' "lane_metadata_snippet": %s,\n' "$(json_escape "$LANE_METADATA_SNIPPET")"
254
+ printf ' "suggested_worktree_path": %s,\n' "$(json_escape "$SUGGEST_PATH")"
255
+ printf ' "in_work_dir": %s,\n' "$([ "$IN_WORK_DIR" = 1 ] && echo true || echo false)"
256
+ printf ' "outside_work_dir_warning": %s,\n' "$([ "$SAFE" = 1 ] && [ "$IN_WORK_DIR" = 0 ] && echo true || echo false)"
257
+ printf ' "is_submodule": %s,\n' "$([ "$IS_SUBMODULE" = 1 ] && echo true || echo false)"
258
+ printf ' "is_detached": %s,\n' "$([ "$IS_DETACHED" = 1 ] && echo true || echo false)"
259
+ printf ' "is_independent_worktree": %s,\n' "$([ "$IS_INDEPENDENT" = 1 ] && echo true || echo false)"
260
+ printf ' "worktree_only_marker": %s,\n' "$([ "$WORKTREE_ONLY" = 1 ] && echo true || echo false)"
261
+ printf ' "dirty_count": %s,\n' "$TRACKED_DIRTY_LINES"
262
+ printf ' "untracked_count": %s,\n' "$UNTRACKED_LINES"
263
+ printf ' "ignored_count": %s,\n' "$IGNORED_LINES"
264
+ printf ' "ignored_only_warning": %s,\n' "$([ "$DIRTY_LINES" = 0 ] && [ "$IGNORED_LINES" -gt 0 ] && echo true || echo false)"
265
+ printf ' "suggested_command": %s,\n' "$(json_escape "$SUGGEST_CMD")"
266
+ printf ' "reasons": ['
267
+ first=1
268
+ set +u
269
+ for r in "${REASONS[@]}"; do [ "$first" = 1 ] || printf ', '; first=0; printf '%s' "$(json_escape "$r")"; done
270
+ set -u
271
+ printf '],\n'
272
+ printf ' "worktrees": ['
273
+ first=1
274
+ while IFS="$US" read -r p b h f; do
275
+ [ -n "$p" ] || continue
276
+ [ "$first" = 1 ] || printf ','
277
+ first=0
278
+ printf '\n {"path": %s, "branch": %s, "head": %s, "flags": %s}' "$(json_escape "$p")" "$(json_escape "$b")" "$(json_escape "$h")" "$(json_escape "${f#,}")"
279
+ done <<EOF
280
+ $WT_SUMMARY
281
+ EOF
282
+ [ "$first" = 1 ] || printf '\n '
283
+ printf ']\n}\n'
284
+ else
285
+ echo "worktree-status: $([ "$SAFE" = 1 ] && echo SAFE || echo UNSAFE)"
286
+ echo "repo root: $REPO_ROOT"
287
+ echo "primary root: $PRIMARY_ROOT"
288
+ echo "branch: ${BRANCH:-<detached>} head: ${HEAD_REV:-unknown}"
289
+ echo "default/base: ${DEFAULT_BRANCH:-unknown} / ${BASE_REF:-<missing>} $([ "$BASE_FOUND" = 1 ] || printf '(base not found)')"
290
+ echo "git-dir: $GIT_DIR"
291
+ echo "git-common-dir: $GIT_COMMON_DIR"
292
+ echo "submodule: $IS_SUBMODULE detached: $IS_DETACHED independent-worktree: $IS_INDEPENDENT .worktree-only: $WORKTREE_ONLY in-.work: $IN_WORK_DIR"
293
+ echo ".work convention: worktrees=$WORKTREE_DIR lanes=$LANE_DIR"
294
+ echo "dirty: tracked=$TRACKED_DIRTY_LINES untracked=$UNTRACKED_LINES ignored=$IGNORED_LINES"
295
+ if [ "$DIRTY_LINES" = 0 ] && [ "$IGNORED_LINES" -gt 0 ]; then
296
+ echo "warning: ignored-only files present; this is a warning, not a hard fail for edit preflight"
297
+ fi
298
+ if [ "$SAFE" != 1 ]; then
299
+ echo "unsafe reasons: ${REASONS[*]}"
300
+ echo "suggested command: $SUGGEST_CMD"
301
+ echo "suggested worktree path: $SUGGEST_PATH"
302
+ echo "lane metadata path: $LANE_METADATA_PATH"
303
+ echo "lane metadata snippet: $LANE_METADATA_SNIPPET"
304
+ else
305
+ echo "next: safe to edit in this worktree; still run normal task validation before integration"
306
+ if [ "$IN_WORK_DIR" = 0 ]; then
307
+ echo "warning: safe worktree is outside .work/worktrees; use .work/worktrees for new lanes"
308
+ fi
309
+ echo "lane metadata path: $LANE_METADATA_PATH"
310
+ fi
311
+ echo
312
+ echo "worktree inventory:"
313
+ if [ -n "$WT_SUMMARY" ]; then
314
+ while IFS="$US" read -r p b h f; do
315
+ [ -n "$p" ] || continue
316
+ printf ' - %s branch=%s head=%s flags=%s\n' "$p" "${b:-<none>}" "${h:-unknown}" "${f#,}"
317
+ done <<EOF
318
+ $WT_SUMMARY
319
+ EOF
320
+ else
321
+ echo " <none>"
322
+ fi
323
+ fi
324
+
325
+ [ "$SAFE" = 1 ] && exit 0 || exit 1
@@ -0,0 +1,245 @@
1
+ #!/usr/bin/env bash
2
+ # worktree-sweep — remove local git worktrees whose branch is already integrated
3
+ # (its tip is an ancestor of an integration ref). Safe by construction:
4
+ # - DRY-RUN by default; only --apply actually removes anything.
5
+ # - Removes ONLY a worktree whose branch tip is fully merged into one of the integration
6
+ # refs (`git merge-base --is-ancestor`). Squash-merged branches are NOT ancestors -> kept.
7
+ # - The integration target is NOT assumed to be main: when origin/HEAD confirms the
8
+ # default branch, default-branch targets are kept for manual/platform-MR verification.
9
+ # Non-default development targets may be passed explicitly (merged into ANY -> sweepable).
10
+ # - NEVER the main worktree, the repo default branch, a target branch, a bare/detached
11
+ # worktree, or a worktree with ANY uncommitted/untracked/IGNORED local file (ignored
12
+ # files block too, because `git worktree remove` without --force still deletes them).
13
+ # A worktree whose own `git status` FAILS is also kept: empty output from a failed
14
+ # scan is never read as "clean" (fail closed, same rule as the manual pre-scan).
15
+ # `git worktree remove` without --force is a second net for tracked/untracked dirt.
16
+ # - Deletes the local branch with `git branch -d` (never -D). NEVER touches any remote
17
+ # (remote-branch deletion is a separate, explicit step in the worktree-isolation 收尾 doc).
18
+ # - `git worktree prune` runs ONLY under --apply (dry-run mutates nothing).
19
+ #
20
+ # Usage: worktree-sweep.sh [<integration-ref> ...] [--apply] [--include-ignored]
21
+ # <integration-ref> ... default: origin/HEAD's branch, else main, else master.
22
+ # e.g. `worktree-sweep.sh release/v2 --apply`
23
+ # --include-ignored allow removing a worktree whose ONLY local content is ignored
24
+ # (regenerable, e.g. node_modules); real dirty/untracked still blocks.
25
+ # DESTRUCTIVE: it also deletes gitignored DATA products, so read the
26
+ # KEEP reasons before reaching for it. Regenerable output (deps,
27
+ # build/test artifacts, caches, logs) is fine to drop; keep anything
28
+ # expensive to recompute (long-running intermediates, collected data).
29
+ #
30
+ # Exit: 0 on success (incl. "nothing to do"); 2 on usage/setup error. Per-worktree failures
31
+ # are reported and skipped; they never abort the whole sweep.
32
+
33
+ set -uo pipefail
34
+
35
+ APPLY=0
36
+ INCLUDE_IGNORED=0
37
+ TARGETS=()
38
+ EXPLICIT_TARGETS=0
39
+ for a in "$@"; do
40
+ case "$a" in
41
+ --apply) APPLY=1 ;;
42
+ --include-ignored) INCLUDE_IGNORED=1 ;;
43
+ -h|--help) sed -n '2,30p' "$0"; exit 0 ;;
44
+ --*) echo "worktree-sweep: unknown flag '$a'" >&2; exit 2 ;;
45
+ *) TARGETS+=("$a"); EXPLICIT_TARGETS=1 ;;
46
+ esac
47
+ done
48
+
49
+ git rev-parse --git-dir >/dev/null 2>&1 || { echo "worktree-sweep: not inside a git repo" >&2; exit 2; }
50
+
51
+ # Confirm repo default branch from origin/HEAD only. If the local symref is absent,
52
+ # try the remote symref; if both fail, default-target safety cannot be proven.
53
+ DEFAULT_CONFIRMED=0
54
+ DEFAULT_BRANCH="$(git symbolic-ref --quiet --short refs/remotes/origin/HEAD 2>/dev/null | sed 's#^origin/##')"
55
+ if [ -n "$DEFAULT_BRANCH" ]; then
56
+ DEFAULT_CONFIRMED=1
57
+ elif git remote get-url origin >/dev/null 2>&1; then
58
+ DEFAULT_BRANCH="$(git ls-remote --symref origin HEAD 2>/dev/null | sed -n 's#^ref: refs/heads/\([^[:space:]]*\)[[:space:]]*HEAD$#\1#p' | head -n 1)"
59
+ [ -n "$DEFAULT_BRANCH" ] && DEFAULT_CONFIRMED=1
60
+ fi
61
+
62
+ # Default integration ref if none given: repo default branch via confirmed origin/HEAD.
63
+ # Default-branch sweeping is intentionally manual-only, so no-arg invocation exits with a
64
+ # clear message after default detection instead of silently doing nothing.
65
+ if [ "${#TARGETS[@]}" -eq 0 ]; then
66
+ d="$DEFAULT_BRANCH"
67
+ [ -n "$d" ] && TARGETS=("$d")
68
+ fi
69
+ [ "${#TARGETS[@]}" -gt 0 ] || { echo "worktree-sweep: cannot determine integration ref; pass one explicitly" >&2; exit 2; }
70
+ for t in "${TARGETS[@]}"; do
71
+ git rev-parse --verify --quiet "${t}^{commit}" >/dev/null 2>&1 \
72
+ || { echo "worktree-sweep: integration ref '$t' not found" >&2; exit 2; }
73
+ done
74
+ TARGETS_STR="$(IFS=', '; echo "${TARGETS[*]}")"
75
+
76
+ DEFAULT_NAMES=()
77
+ [ -n "$DEFAULT_BRANCH" ] && DEFAULT_NAMES+=("$DEFAULT_BRANCH")
78
+ DEFAULT_COMMIT=""
79
+ [ "$DEFAULT_CONFIRMED" = 1 ] && DEFAULT_COMMIT="$(git rev-parse --verify --quiet "refs/remotes/origin/$DEFAULT_BRANCH^{commit}" 2>/dev/null || git rev-parse --verify --quiet "refs/heads/$DEFAULT_BRANCH^{commit}" 2>/dev/null || true)"
80
+
81
+ # Protected branch names = default branch + each target normalized to a local short name
82
+ # (so `origin/release`, `refs/heads/release`, `release` all protect a worktree on `release`).
83
+ PROTECTED=()
84
+ [ -n "$DEFAULT_BRANCH" ] && PROTECTED+=("$DEFAULT_BRANCH")
85
+ HAS_DEFAULT_TARGET=0
86
+ SWEEP_TARGETS=()
87
+ is_default_name() {
88
+ [ "${#DEFAULT_NAMES[@]}" -gt 0 ] || return 1
89
+ local x="$1" d
90
+ for d in "${DEFAULT_NAMES[@]}"; do [ "$x" = "$d" ] && return 0; done
91
+ return 1
92
+ }
93
+ for t in "${TARGETS[@]}"; do
94
+ n="${t#refs/heads/}"; n="${n#refs/remotes/}"; n="${n#origin/}"
95
+ tt="$(git rev-parse --verify --quiet "${t}^{commit}" 2>/dev/null || true)"
96
+ if is_default_name "$n" || { [ -n "$DEFAULT_COMMIT" ] && [ -n "$tt" ] && [ "$tt" = "$DEFAULT_COMMIT" ]; }; then
97
+ HAS_DEFAULT_TARGET=1
98
+ else
99
+ SWEEP_TARGETS+=("$t")
100
+ fi
101
+ PROTECTED+=("$t" "$n")
102
+ done
103
+
104
+ if [ "$EXPLICIT_TARGETS" = 0 ] && [ "$HAS_DEFAULT_TARGET" = 1 ]; then
105
+ echo "worktree-sweep: default target requires platform MR evidence; pass a non-default development target explicitly" >&2
106
+ exit 2
107
+ fi
108
+ if [ "$DEFAULT_CONFIRMED" = 0 ]; then
109
+ echo "worktree-sweep: cannot confirm origin/HEAD; refusing ancestor-based sweep" >&2
110
+ exit 2
111
+ fi
112
+
113
+ # Main worktree root = parent of the common git dir.
114
+ COMMON="$(git rev-parse --git-common-dir)"
115
+ MAIN_ROOT="$(cd "$COMMON/.." 2>/dev/null && pwd -P)"
116
+
117
+ # Local state that must block removal. Default: any uncommitted/untracked/IGNORED file
118
+ # (git worktree remove without --force still deletes ignored-only worktrees -> data loss).
119
+ # --include-ignored relaxes this to real dirty/untracked only (ignored files = regenerable).
120
+ # --untracked-files=all forces untracked enumeration regardless of a repo's
121
+ # status.showUntrackedFiles=no config (which would otherwise hide untracked work).
122
+ # FAIL CLOSED on a non-zero `git status`: an unscannable worktree (corrupt index,
123
+ # broken gitdir, unreadable tree) yields EMPTY output, and treating that emptiness
124
+ # as "clean" is exactly the false-negative the manual pre-scan rule forbids
125
+ # ("必须 exit 0;失败按没扫处理"). Unscannable -> local state present -> KEEP.
126
+ # HAS_LOCAL_STATE_REASON carries which of the two it was, for the KEEP line.
127
+ # HAS_LOCAL_STATE_SAMPLE carries a bounded sample of the actual entries, because the
128
+ # cleanup rule asks the operator to grade what is there by RECOMPUTE COST before
129
+ # deciding — a generic "ignored files present" gives them nothing to grade, and they
130
+ # would have to re-run status by hand to find out.
131
+ HAS_LOCAL_STATE_REASON=""
132
+ HAS_LOCAL_STATE_SAMPLE=""
133
+ STATE_SAMPLE_LINES=8
134
+ has_local_state() {
135
+ local out rc
136
+ if [ "$INCLUDE_IGNORED" = 1 ]; then
137
+ out="$(git -C "$1" status --porcelain --untracked-files=all 2>/dev/null)"; rc=$?
138
+ else
139
+ out="$(git -C "$1" status --porcelain --untracked-files=all --ignored 2>/dev/null)"; rc=$?
140
+ fi
141
+ HAS_LOCAL_STATE_SAMPLE=""
142
+ if [ "$rc" -ne 0 ]; then
143
+ HAS_LOCAL_STATE_REASON="unscannable: git status exit $rc — treat as unscanned, inspect manually"
144
+ return 0
145
+ fi
146
+ [ -n "$out" ] || return 1
147
+ HAS_LOCAL_STATE_REASON="local changes / untracked$([ "$INCLUDE_IGNORED" = 0 ] && printf ' / ignored') files present"
148
+ local total; total="$(printf '%s\n' "$out" | wc -l | tr -d ' ')"
149
+ HAS_LOCAL_STATE_SAMPLE="$(printf '%s\n' "$out" | head -n "$STATE_SAMPLE_LINES")"
150
+ if [ "$total" -gt "$STATE_SAMPLE_LINES" ]; then
151
+ HAS_LOCAL_STATE_SAMPLE="$HAS_LOCAL_STATE_SAMPLE
152
+ … $((total - STATE_SAMPLE_LINES)) more"
153
+ fi
154
+ return 0
155
+ }
156
+
157
+ echo "worktree-sweep: integration ref(s) = [$TARGETS_STR] mode = $([ "$APPLY" = 1 ] && echo APPLY || echo 'DRY-RUN (pass --apply to act)')"
158
+ echo
159
+
160
+ removed=0; kept=0
161
+ wt=""; br=""; det=0; bare=0
162
+ is_protected_name() { local b="$1" p; for p in "${PROTECTED[@]}"; do [ "$b" = "$p" ] && return 0; done; return 1; }
163
+ # Release-named branches are never auto-deleted, however merged they look: a release branch is
164
+ # kept after merge to tag from, to trace what shipped, and to cut patches off — yet in git
165
+ # topology it is indistinguishable from a finished feature branch, so "merged" does not imply
166
+ # "disposable" here. Name-based on purpose; substring + case-insensitive so release/v2,
167
+ # release-1.2, and hotfix-RELEASE all match. Deleting one is a user-named action, never a sweep.
168
+ # One hardcoded keyword, deliberately not extensible. Three rounds of adversarial review
169
+ # each found a new way a configurable list fails to TRAVEL: an env var protects only the
170
+ # invocation that exported it; `.git/config` is per-clone and a fresh CI clone loses it.
171
+ # Every fix chased vocabulary the script does not own. The keyword lives in this shared
172
+ # script, so it travels wherever the skill is installed — that is the property a delete
173
+ # guard needs. A repo whose release branches are named otherwise (`rc/`, `stabilization/`)
174
+ # is NOT auto-protected here, and that is the deliberate residual: the sweep prints its
175
+ # full KEEP/REMOVE plan for a human before `--apply`, and deleting anything is a
176
+ # user-named action to begin with. Do not re-add a config source without first solving
177
+ # how it reaches a fresh clone.
178
+ is_release_named() {
179
+ case "$(printf '%s' "$1" | tr '[:upper:]' '[:lower:]')" in *release*) return 0 ;; *) return 1 ;; esac
180
+ }
181
+ # A worktree sitting exactly at an integration ref's tip is on the integration branch itself
182
+ # (not a finished feature ahead of it) -> never remove. A real merged feature (--no-ff) has a
183
+ # tip that is an ANCESTOR of, but != , the target tip, so it is not caught here.
184
+ is_at_target_tip() {
185
+ local bt; bt="$(git rev-parse --verify --quiet "refs/heads/$1^{commit}" 2>/dev/null)" || return 1
186
+ [ -n "$bt" ] || return 1
187
+ local t tt; for t in "${TARGETS[@]}"; do
188
+ tt="$(git rev-parse --verify --quiet "${t}^{commit}" 2>/dev/null)"
189
+ [ -n "$tt" ] && [ "$bt" = "$tt" ] && return 0
190
+ done; return 1
191
+ }
192
+ merged_into_any() {
193
+ [ "${#SWEEP_TARGETS[@]}" -gt 0 ] || return 1
194
+ local b="$1" t
195
+ for t in "${SWEEP_TARGETS[@]}"; do git merge-base --is-ancestor "refs/heads/$b" "$t" 2>/dev/null && return 0; done
196
+ return 1
197
+ }
198
+
199
+ sweep_one() {
200
+ [ -n "$wt" ] || return 0
201
+ local path="$wt" branch="$br" reason=""
202
+ HAS_LOCAL_STATE_SAMPLE=""
203
+ if [ "$bare" = 1 ]; then reason="bare";
204
+ elif [ "$(cd "$path" 2>/dev/null && pwd -P)" = "$MAIN_ROOT" ]; then reason="main worktree";
205
+ elif [ "$det" = 1 ] || [ -z "$branch" ]; then reason="detached / no branch";
206
+ elif is_protected_name "$branch"; then reason="protected branch (default / integration target)";
207
+ elif is_release_named "$branch"; then reason="release-named branch (never auto-deleted; delete only when the user names it)";
208
+ elif is_at_target_tip "$branch"; then reason="at an integration ref tip";
209
+ elif has_local_state "$path"; then reason="$HAS_LOCAL_STATE_REASON";
210
+ elif [ "${#SWEEP_TARGETS[@]}" -eq 0 ]; then reason="default target requires platform MR evidence; inspect manually";
211
+ elif ! merged_into_any "$branch"; then reason="not merged into any non-default target of [$TARGETS_STR]";
212
+ fi
213
+ if [ -n "$reason" ]; then
214
+ printf ' KEEP %-50s [%s]\n' "$path" "$reason"
215
+ # Show WHAT is there so the recompute-cost call can be made from this output
216
+ # alone. Without it, --include-ignored is a blind batch-wide waiver.
217
+ [ -n "$HAS_LOCAL_STATE_SAMPLE" ] && printf '%s\n' "$HAS_LOCAL_STATE_SAMPLE" | sed 's/^/ /'
218
+ kept=$((kept+1)); return 0
219
+ fi
220
+ if [ "$APPLY" = 0 ]; then
221
+ printf ' WOULD-REMOVE %-44s (branch %s, merged)\n' "$path" "$branch"; removed=$((removed+1)); return 0
222
+ fi
223
+ if git worktree remove "$path" 2>/dev/null; then
224
+ git branch -d "$branch" >/dev/null 2>&1 || true
225
+ printf ' REMOVED %-49s (branch %s)\n' "$path" "$branch"; removed=$((removed+1))
226
+ else
227
+ printf ' KEEP %-50s [remove refused: dirty/locked — inspect manually]\n' "$path"; kept=$((kept+1))
228
+ fi
229
+ }
230
+
231
+ while IFS= read -r line; do
232
+ case "$line" in
233
+ "worktree "*) sweep_one; wt="${line#worktree }"; br=""; det=0; bare=0 ;;
234
+ "branch "*) br="${line#branch refs/heads/}" ;;
235
+ "detached") det=1 ;;
236
+ "bare") bare=1 ;;
237
+ esac
238
+ done < <(git worktree list --porcelain)
239
+ sweep_one # flush last block
240
+
241
+ [ "$APPLY" = 1 ] && git worktree prune # prune only mutates under --apply (dry-run prints only)
242
+ echo
243
+ echo "worktree-sweep: $([ "$APPLY" = 1 ] && echo removed || echo would-remove)=$removed kept=$kept"
244
+ [ "$APPLY" = 0 ] && [ "$removed" -gt 0 ] && echo "worktree-sweep: re-run with --apply to remove the above."
245
+ exit 0