cc-devflow 4.3.0 → 4.5.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 (579) hide show
  1. package/.claude/skills/cc-act/CHANGELOG.md +70 -0
  2. package/.claude/skills/cc-act/PLAYBOOK.md +212 -0
  3. package/.claude/skills/cc-act/SKILL.md +330 -0
  4. package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +68 -0
  5. package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +29 -0
  6. package/.claude/skills/cc-act/references/closure-contract.md +49 -0
  7. package/.claude/skills/cc-act/references/git-commit-guidelines.md +83 -0
  8. package/.claude/skills/cc-act/scripts/archive-requirement.sh +49 -0
  9. package/.claude/skills/cc-act/scripts/cc-act-common.sh +245 -0
  10. package/.claude/skills/cc-act/scripts/detect-ship-target.sh +82 -0
  11. package/.claude/skills/cc-act/scripts/generate-status-report.sh +83 -0
  12. package/.claude/skills/cc-act/scripts/render-pr-brief.sh +200 -0
  13. package/.claude/skills/cc-act/scripts/sync-act-docs.sh +328 -0
  14. package/.claude/skills/cc-act/scripts/verify-act-gate.sh +63 -0
  15. package/.claude/skills/cc-check/CHANGELOG.md +78 -0
  16. package/.claude/skills/cc-check/PLAYBOOK.md +153 -0
  17. package/.claude/skills/cc-check/SKILL.md +353 -0
  18. package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +53 -0
  19. package/.claude/skills/cc-check/references/gate-contract.md +29 -0
  20. package/.claude/skills/cc-check/references/review-contract.md +45 -0
  21. package/.claude/skills/cc-check/scripts/render-report-card.js +229 -0
  22. package/.claude/skills/cc-check/scripts/run-quality-gates.sh +86 -0
  23. package/.claude/skills/cc-check/scripts/verify-gate.sh +57 -0
  24. package/.claude/skills/cc-do/CHANGELOG.md +54 -0
  25. package/.claude/skills/cc-do/PLAYBOOK.md +119 -0
  26. package/.claude/skills/cc-do/SKILL.md +224 -0
  27. package/.claude/skills/cc-do/references/execution-recovery.md +86 -0
  28. package/.claude/skills/cc-do/references/parallel-dispatch.md +80 -0
  29. package/.claude/skills/cc-do/scripts/build-task-context.sh +184 -0
  30. package/.claude/skills/cc-do/scripts/cc-do-common.sh +79 -0
  31. package/.claude/skills/cc-do/scripts/check-task-status.sh +92 -0
  32. package/.claude/skills/cc-do/scripts/detect-file-conflicts.sh +87 -0
  33. package/.claude/skills/cc-do/scripts/mark-task-complete.sh +119 -0
  34. package/.claude/skills/cc-do/scripts/record-review-decision.sh +89 -0
  35. package/.claude/skills/cc-do/scripts/recover-workflow.sh +84 -0
  36. package/.claude/skills/cc-do/scripts/run-problem-analysis.sh +70 -0
  37. package/.claude/skills/cc-do/scripts/select-ready-tasks.sh +135 -0
  38. package/.claude/skills/cc-do/scripts/verify-task-gates.sh +94 -0
  39. package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +102 -0
  40. package/.claude/skills/cc-investigate/CHANGELOG.md +31 -0
  41. package/.claude/skills/cc-investigate/PLAYBOOK.md +49 -0
  42. package/.claude/skills/cc-investigate/SKILL.md +229 -0
  43. package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +56 -0
  44. package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +53 -0
  45. package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +106 -0
  46. package/.claude/skills/cc-investigate/references/investigation-contract.md +28 -0
  47. package/.claude/skills/cc-investigate/scripts/bootstrap-analysis.sh +38 -0
  48. package/.claude/skills/cc-plan/CHANGELOG.md +104 -0
  49. package/.claude/skills/cc-plan/PLAYBOOK.md +106 -0
  50. package/.claude/skills/cc-plan/SKILL.md +333 -0
  51. package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +156 -0
  52. package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +99 -0
  53. package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +111 -0
  54. package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +80 -0
  55. package/.claude/skills/cc-plan/references/planning-contract.md +82 -0
  56. package/.claude/skills/cc-plan/scripts/bump-skill-version.sh +103 -0
  57. package/.claude/skills/cc-plan/scripts/parse-task-dependencies.js +75 -0
  58. package/.claude/skills/cc-plan/scripts/validate-scope.sh +78 -0
  59. package/.claude/skills/cc-roadmap/CHANGELOG.md +119 -0
  60. package/.claude/skills/cc-roadmap/PLAYBOOK.md +136 -0
  61. package/.claude/skills/cc-roadmap/SKILL.md +267 -0
  62. package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +46 -0
  63. package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +154 -0
  64. package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +51 -0
  65. package/.claude/skills/cc-roadmap/references/roadmap-dialogue.md +37 -0
  66. package/.claude/skills/cc-roadmap/scripts/bump-skill-version.sh +103 -0
  67. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/markdown.js +604 -0
  68. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/query.js +63 -0
  69. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/schema.js +245 -0
  70. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/store.js +139 -0
  71. package/.claude/skills/cc-roadmap/scripts/locate-roadmap-item.sh +109 -0
  72. package/.claude/skills/cc-roadmap/scripts/roadmap-tracking.js +153 -0
  73. package/.claude/skills/cc-roadmap/scripts/sync-roadmap-progress.sh +100 -0
  74. package/.claude/skills/cc-simplify/CHANGELOG.md +10 -0
  75. package/.claude/skills/cc-simplify/SKILL.md +55 -0
  76. package/.claude/skills/cc-spec-init/CHANGELOG.md +12 -0
  77. package/.claude/skills/cc-spec-init/PLAYBOOK.md +55 -0
  78. package/.claude/skills/cc-spec-init/SKILL.md +135 -0
  79. package/.claude/skills/cc-spec-init/assets/CAPABILITY_TEMPLATE.md +64 -0
  80. package/.claude/skills/cc-spec-init/assets/CHANGE_META_TEMPLATE.json +28 -0
  81. package/.claude/skills/cc-spec-init/assets/INDEX_TEMPLATE.md +35 -0
  82. package/.claude/skills/cc-spec-init/references/spec-contract.md +22 -0
  83. package/.claude/skills/cc-spec-init/scripts/bootstrap-specs.sh +31 -0
  84. package/.claude/skills/cc-spec-init/scripts/validate-spec-links.sh +45 -0
  85. package/CHANGELOG.md +80 -4
  86. package/README.md +148 -741
  87. package/README.zh-CN.md +146 -740
  88. package/bin/adapt.js +2 -6
  89. package/bin/cc-devflow-cli.js +287 -166
  90. package/config/distributable-skills.json +24 -0
  91. package/config/schema/cc-devflow-config.schema.json +45 -0
  92. package/config/user-config.template.yml +16 -0
  93. package/docs/CLAUDE.md +10 -6
  94. package/docs/commands/README.md +19 -46
  95. package/docs/commands/README.zh-CN.md +25 -48
  96. package/docs/examples/BY-ARTIFACT.md +7 -0
  97. package/docs/examples/README.md +38 -0
  98. package/docs/examples/START-HERE.md +149 -0
  99. package/docs/examples/example-bindings.json +38 -0
  100. package/docs/examples/full-design-blocked/BACKLOG.md +45 -0
  101. package/docs/examples/full-design-blocked/README.md +55 -0
  102. package/docs/examples/full-design-blocked/ROADMAP.md +53 -0
  103. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +154 -0
  104. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +146 -0
  105. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +78 -0
  106. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +52 -0
  107. package/docs/examples/full-design-blocked/roadmap-tracking.json +50 -0
  108. package/docs/examples/local-handoff/BACKLOG.md +45 -0
  109. package/docs/examples/local-handoff/README.md +56 -0
  110. package/docs/examples/local-handoff/ROADMAP.md +45 -0
  111. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/resume-index.md +39 -0
  112. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/status.md +29 -0
  113. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +71 -0
  114. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +98 -0
  115. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +59 -0
  116. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +44 -0
  117. package/docs/examples/local-handoff/roadmap-tracking.json +48 -0
  118. package/docs/examples/pdca-loop/BACKLOG.md +46 -0
  119. package/docs/examples/pdca-loop/README.md +58 -0
  120. package/docs/examples/pdca-loop/ROADMAP.md +133 -0
  121. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +72 -0
  122. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/status.md +29 -0
  123. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +72 -0
  124. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +201 -0
  125. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +73 -0
  126. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +44 -0
  127. package/docs/examples/pdca-loop/roadmap-tracking.json +114 -0
  128. package/docs/examples/scripts/check-example-bindings.sh +116 -0
  129. package/docs/guides/getting-started.md +94 -129
  130. package/docs/guides/getting-started.zh-CN.md +103 -84
  131. package/docs/skill-runtime-migration.md +46 -0
  132. package/docs/v4.3.0-migration-guide.md +60 -225
  133. package/lib/compiler/CLAUDE.md +55 -84
  134. package/lib/compiler/__tests__/drift.test.js +1 -1
  135. package/lib/compiler/__tests__/errors.test.js +0 -1
  136. package/lib/compiler/__tests__/integration.test.js +49 -3
  137. package/lib/compiler/__tests__/manifest.test.js +0 -156
  138. package/lib/compiler/__tests__/parser.test.js +33 -104
  139. package/lib/compiler/__tests__/schemas.test.js +30 -34
  140. package/lib/compiler/__tests__/skills-registry.test.js +114 -0
  141. package/lib/compiler/__tests__/transformer.test.js +5 -9
  142. package/lib/compiler/emitters/antigravity-emitter.js +5 -213
  143. package/lib/compiler/emitters/base-emitter.js +3 -298
  144. package/lib/compiler/emitters/codex-emitter.js +4 -202
  145. package/lib/compiler/emitters/cursor-emitter.js +3 -287
  146. package/lib/compiler/emitters/qwen-emitter.js +4 -176
  147. package/lib/compiler/index.js +65 -345
  148. package/lib/compiler/manifest.js +6 -68
  149. package/lib/compiler/parser.js +31 -63
  150. package/lib/compiler/platforms.js +32 -277
  151. package/lib/compiler/resource-copier.js +176 -6
  152. package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +3 -3
  153. package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +14 -4
  154. package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +16 -7
  155. package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +10 -15
  156. package/lib/compiler/rules-emitters/base-rules-emitter.js +5 -5
  157. package/lib/compiler/rules-emitters/cursor-rules-emitter.js +7 -12
  158. package/lib/compiler/rules-emitters/index.js +6 -3
  159. package/lib/compiler/rules-emitters/qwen-rules-emitter.js +7 -7
  160. package/lib/compiler/schemas.js +8 -4
  161. package/lib/compiler/skills-registry.js +213 -15
  162. package/lib/compiler/transformer.js +1 -1
  163. package/lib/skill-runtime/CLAUDE.md +19 -0
  164. package/lib/skill-runtime/__tests__/autopilot.test.js +210 -0
  165. package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +291 -0
  166. package/lib/skill-runtime/__tests__/config.test.js +161 -0
  167. package/lib/skill-runtime/__tests__/delegation.test.js +97 -0
  168. package/lib/skill-runtime/__tests__/dispatch.test.js +267 -0
  169. package/lib/skill-runtime/__tests__/intent.test.js +219 -0
  170. package/lib/skill-runtime/__tests__/lifecycle.test.js +169 -0
  171. package/lib/skill-runtime/__tests__/paths.test.js +42 -0
  172. package/lib/skill-runtime/__tests__/planner.tdd.test.js +250 -0
  173. package/lib/skill-runtime/__tests__/prepare-pr.test.js +139 -0
  174. package/lib/skill-runtime/__tests__/query.test.js +284 -0
  175. package/lib/skill-runtime/__tests__/runtime.integration.test.js +281 -0
  176. package/lib/skill-runtime/__tests__/schemas.test.js +207 -0
  177. package/lib/skill-runtime/__tests__/team-state.test.js +51 -0
  178. package/lib/skill-runtime/__tests__/worker-run.test.js +253 -0
  179. package/lib/skill-runtime/__tests__/worker.test.js +56 -0
  180. package/lib/skill-runtime/artifacts.js +93 -0
  181. package/lib/skill-runtime/config.js +379 -0
  182. package/lib/skill-runtime/delegation.js +533 -0
  183. package/lib/skill-runtime/index.js +36 -0
  184. package/lib/skill-runtime/intent.js +333 -0
  185. package/lib/skill-runtime/lifecycle.js +294 -0
  186. package/lib/skill-runtime/operations/CLAUDE.md +19 -0
  187. package/lib/skill-runtime/operations/approve.js +66 -0
  188. package/lib/skill-runtime/operations/autopilot-core.js +337 -0
  189. package/lib/skill-runtime/operations/autopilot-execution.js +307 -0
  190. package/lib/skill-runtime/operations/autopilot-shared.js +48 -0
  191. package/lib/skill-runtime/operations/autopilot.js +163 -0
  192. package/lib/skill-runtime/operations/dispatch.js +454 -0
  193. package/lib/skill-runtime/operations/init.js +64 -0
  194. package/lib/{harness → skill-runtime}/operations/janitor.js +9 -6
  195. package/lib/skill-runtime/operations/plan.js +59 -0
  196. package/lib/skill-runtime/operations/prepare-pr.js +25 -0
  197. package/lib/skill-runtime/operations/release.js +96 -0
  198. package/lib/skill-runtime/operations/resume.js +143 -0
  199. package/lib/skill-runtime/operations/snapshot.js +45 -0
  200. package/lib/skill-runtime/operations/verify.js +170 -0
  201. package/lib/skill-runtime/operations/worker-run.js +529 -0
  202. package/lib/skill-runtime/operations/worker.js +33 -0
  203. package/lib/skill-runtime/paths.js +213 -0
  204. package/lib/skill-runtime/planner.js +519 -0
  205. package/lib/skill-runtime/query.js +157 -0
  206. package/lib/skill-runtime/review.js +557 -0
  207. package/lib/skill-runtime/schemas.js +400 -0
  208. package/lib/{harness → skill-runtime}/store.js +45 -30
  209. package/lib/skill-runtime/team-state.js +122 -0
  210. package/package.json +13 -11
  211. package/.claude/CLAUDE.md +0 -125
  212. package/.claude/agents/architecture-designer.md +0 -443
  213. package/.claude/agents/bug-analyzer.md +0 -381
  214. package/.claude/agents/checklist-agent.md +0 -175
  215. package/.claude/agents/clarify-analyst.md +0 -50
  216. package/.claude/agents/code-quality-reviewer.md +0 -205
  217. package/.claude/agents/code-reviewer.md +0 -71
  218. package/.claude/agents/codex-analyzer.md +0 -39
  219. package/.claude/agents/compatibility-checker.md +0 -579
  220. package/.claude/agents/consistency-checker.md +0 -532
  221. package/.claude/agents/dev-implementer.md +0 -195
  222. package/.claude/agents/flow-researcher.md +0 -132
  223. package/.claude/agents/impact-analyzer.md +0 -440
  224. package/.claude/agents/planner.md +0 -230
  225. package/.claude/agents/prd-writer.md +0 -320
  226. package/.claude/agents/project-guidelines-generator.md +0 -1329
  227. package/.claude/agents/qa-tester.md +0 -313
  228. package/.claude/agents/release-manager.md +0 -295
  229. package/.claude/agents/security-reviewer.md +0 -314
  230. package/.claude/agents/spec-reviewer.md +0 -221
  231. package/.claude/agents/style-guide-generator.md +0 -458
  232. package/.claude/agents/tech-architect.md +0 -516
  233. package/.claude/agents/ui-designer.md +0 -485
  234. package/.claude/commands/core/architecture.md +0 -459
  235. package/.claude/commands/core/guidelines.md +0 -511
  236. package/.claude/commands/core/roadmap.md +0 -468
  237. package/.claude/commands/core/style.md +0 -83
  238. package/.claude/commands/flow/CLAUDE.md +0 -24
  239. package/.claude/commands/flow/archive.md +0 -280
  240. package/.claude/commands/flow/constitution.md +0 -82
  241. package/.claude/commands/flow/context.md +0 -150
  242. package/.claude/commands/flow/delta.md +0 -245
  243. package/.claude/commands/flow/dev.md +0 -40
  244. package/.claude/commands/flow/fix.md +0 -217
  245. package/.claude/commands/flow/ideate.md +0 -214
  246. package/.claude/commands/flow/init.md +0 -38
  247. package/.claude/commands/flow/release.md +0 -36
  248. package/.claude/commands/flow/restart.md +0 -97
  249. package/.claude/commands/flow/spec.md +0 -36
  250. package/.claude/commands/flow/status.md +0 -64
  251. package/.claude/commands/flow/update.md +0 -111
  252. package/.claude/commands/flow/upgrade.md +0 -115
  253. package/.claude/commands/flow/verify.md +0 -37
  254. package/.claude/commands/flow/workspace.md +0 -155
  255. package/.claude/commands/util/cancel-ralph.md +0 -60
  256. package/.claude/commands/util/code-review.md +0 -58
  257. package/.claude/commands/util/git-commit.md +0 -422
  258. package/.claude/commands/util/problem-analyzer.md +0 -60
  259. package/.claude/config/quality-gates.yml +0 -305
  260. package/.claude/config/quality-rules.yml +0 -161
  261. package/.claude/docs/SPEC_KIT_CONSTITUTION_ANALYSIS.md +0 -426
  262. package/.claude/docs/design/consistency-conflict-detection-algorithms.md +0 -658
  263. package/.claude/docs/design/intent-driven-input-design.md +0 -380
  264. package/.claude/docs/design/prd-version-management-design.md +0 -437
  265. package/.claude/docs/examples/design-inspiration-pool.md +0 -59
  266. package/.claude/docs/examples/ui-prototype-constitution-checklist.md +0 -75
  267. package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +0 -117
  268. package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +0 -99
  269. package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +0 -188
  270. package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +0 -338
  271. package/.claude/docs/guides/TEAM_MODE_GUIDE.md +0 -312
  272. package/.claude/docs/implementation-summary-v7.md +0 -449
  273. package/.claude/docs/spec-format-guide.md +0 -349
  274. package/.claude/docs/state-consolidation-design.md +0 -323
  275. package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +0 -332
  276. package/.claude/docs/templates/ATTEMPT_TEMPLATE.md +0 -156
  277. package/.claude/docs/templates/BACKLOG_TEMPLATE.md +0 -261
  278. package/.claude/docs/templates/BRAINSTORM_TEMPLATE.md +0 -148
  279. package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +0 -52
  280. package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +0 -206
  281. package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +0 -71
  282. package/.claude/docs/templates/DELTA_SPEC_TEMPLATE.md +0 -91
  283. package/.claude/docs/templates/DESIGN_DECISIONS_TEMPLATE.md +0 -151
  284. package/.claude/docs/templates/DESIGN_TEMPLATE.md +0 -157
  285. package/.claude/docs/templates/ERROR_LOG_TEMPLATE.md +0 -80
  286. package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +0 -198
  287. package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +0 -57
  288. package/.claude/docs/templates/JOURNAL_TEMPLATE.md +0 -75
  289. package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +0 -76
  290. package/.claude/docs/templates/PROPOSAL_TEMPLATE.md +0 -91
  291. package/.claude/docs/templates/RESEARCH_TEMPLATE.md +0 -276
  292. package/.claude/docs/templates/REVIEW-HIGH.md +0 -57
  293. package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +0 -198
  294. package/.claude/docs/templates/ROADMAP_TEMPLATE.md +0 -310
  295. package/.claude/docs/templates/SPEC_TEMPLATE_DELTA.md +0 -139
  296. package/.claude/docs/templates/SPEC_TEMPLATE_PROJECT.md +0 -93
  297. package/.claude/docs/templates/STYLE_TEMPLATE.md +0 -479
  298. package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +0 -373
  299. package/.claude/docs/templates/_shared/CLAUDE.md +0 -36
  300. package/.claude/docs/templates/_shared/CONSTITUTION_CHECK.md +0 -125
  301. package/.claude/docs/templates/_shared/VALIDATION_CHECKLIST.md +0 -187
  302. package/.claude/docs/templates/_shared/YAML_FRONTMATTER.md +0 -164
  303. package/.claude/docs/templates/context/dev.jsonl.template +0 -6
  304. package/.claude/docs/templates/context/epic.jsonl.template +0 -5
  305. package/.claude/docs/templates/context/prd.jsonl.template +0 -4
  306. package/.claude/docs/templates/context/research.jsonl.template +0 -4
  307. package/.claude/docs/templates/context/review.jsonl.template +0 -5
  308. package/.claude/docs/templates/context/tech.jsonl.template +0 -5
  309. package/.claude/guides/agent-guides/agent-coordination-guide.md +0 -459
  310. package/.claude/guides/project-guidelines-system.md +0 -463
  311. package/.claude/guides/technical-guides/datetime-handling-guide.md +0 -563
  312. package/.claude/guides/technical-guides/git-github-guide.md +0 -642
  313. package/.claude/guides/technical-guides/test-execution-guide.md +0 -618
  314. package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +0 -217
  315. package/.claude/guides/workflow-guides/flow-orchestrator.md +0 -48
  316. package/.claude/hooks/CLAUDE.md +0 -342
  317. package/.claude/hooks/checklist-gate.js +0 -397
  318. package/.claude/hooks/error-handling-reminder.sh +0 -12
  319. package/.claude/hooks/error-handling-reminder.ts +0 -459
  320. package/.claude/hooks/hooks.json +0 -15
  321. package/.claude/hooks/inject-agent-context.ts +0 -480
  322. package/.claude/hooks/inject-skill-context.ts +0 -359
  323. package/.claude/hooks/post-tool-use-tracker.sh +0 -280
  324. package/.claude/hooks/pre-tool-use-guardrail.sh +0 -36
  325. package/.claude/hooks/pre-tool-use-guardrail.ts +0 -342
  326. package/.claude/hooks/ralph-loop.ts +0 -931
  327. package/.claude/hooks/ralph-stop-hook.sh +0 -190
  328. package/.claude/hooks/skill-activation-prompt.sh +0 -36
  329. package/.claude/hooks/skill-activation-prompt.ts +0 -214
  330. package/.claude/hooks/state/skills-used-test-guard.json +0 -3
  331. package/.claude/hooks/task-completed-hook.ts +0 -593
  332. package/.claude/hooks/teammate-idle-hook.ts +0 -690
  333. package/.claude/hooks/types/team-types.d.ts +0 -238
  334. package/.claude/rules/devflow-conventions.md +0 -286
  335. package/.claude/rules/project-constitution.md +0 -1002
  336. package/.claude/rules/rationalization-library.md +0 -282
  337. package/.claude/schemas/constitution.schema.json +0 -43
  338. package/.claude/scripts/.claude/commands/flow/export-openspec.md +0 -221
  339. package/.claude/scripts/.claude/commands/flow/import-openspec.md +0 -171
  340. package/.claude/scripts/CLAUDE.md +0 -76
  341. package/.claude/scripts/__tests__/openspec.test.js +0 -212
  342. package/.claude/scripts/analyze-upgrade-impact.sh +0 -200
  343. package/.claude/scripts/archive-requirement.sh +0 -394
  344. package/.claude/scripts/calculate-checklist-completion.sh +0 -243
  345. package/.claude/scripts/calculate-quarter.sh +0 -206
  346. package/.claude/scripts/check-dependencies.sh +0 -409
  347. package/.claude/scripts/check-prerequisites.sh +0 -232
  348. package/.claude/scripts/check-task-status.sh +0 -288
  349. package/.claude/scripts/checklist-errors.sh +0 -131
  350. package/.claude/scripts/common.sh +0 -1102
  351. package/.claude/scripts/consolidate-research.sh +0 -182
  352. package/.claude/scripts/create-requirement.sh +0 -451
  353. package/.claude/scripts/delta-parser.ts +0 -637
  354. package/.claude/scripts/detect-file-conflicts.sh +0 -151
  355. package/.claude/scripts/export-contracts.sh +0 -117
  356. package/.claude/scripts/export-openspec.js +0 -222
  357. package/.claude/scripts/extract-data-model.sh +0 -78
  358. package/.claude/scripts/flow-context-add.sh +0 -134
  359. package/.claude/scripts/flow-context-init.sh +0 -133
  360. package/.claude/scripts/flow-context-validate.sh +0 -144
  361. package/.claude/scripts/flow-delta-apply.sh +0 -297
  362. package/.claude/scripts/flow-delta-archive.sh +0 -71
  363. package/.claude/scripts/flow-delta-create.sh +0 -202
  364. package/.claude/scripts/flow-delta-list.sh +0 -142
  365. package/.claude/scripts/flow-delta-status.sh +0 -235
  366. package/.claude/scripts/flow-quality-full.sh +0 -215
  367. package/.claude/scripts/flow-quality-quick.sh +0 -119
  368. package/.claude/scripts/flow-workspace-init.sh +0 -117
  369. package/.claude/scripts/flow-workspace-record.sh +0 -164
  370. package/.claude/scripts/generate-clarification-questions.sh +0 -377
  371. package/.claude/scripts/generate-clarification-report.sh +0 -463
  372. package/.claude/scripts/generate-quickstart.sh +0 -146
  373. package/.claude/scripts/generate-research-tasks.sh +0 -157
  374. package/.claude/scripts/generate-status-report.sh +0 -523
  375. package/.claude/scripts/generate-tech-analysis.sh +0 -46
  376. package/.claude/scripts/get-workflow-status.sh +0 -415
  377. package/.claude/scripts/import-openspec.js +0 -272
  378. package/.claude/scripts/locate-requirement-in-roadmap.sh +0 -233
  379. package/.claude/scripts/manage-constitution.sh +0 -602
  380. package/.claude/scripts/mark-task-complete.sh +0 -198
  381. package/.claude/scripts/parse-task-dependencies.js +0 -334
  382. package/.claude/scripts/populate-research-tasks.sh +0 -284
  383. package/.claude/scripts/record-quality-error.sh +0 -165
  384. package/.claude/scripts/recover-workflow.sh +0 -463
  385. package/.claude/scripts/run-clarify-scan.sh +0 -601
  386. package/.claude/scripts/run-high-review.sh +0 -62
  387. package/.claude/scripts/run-problem-analysis.sh +0 -68
  388. package/.claude/scripts/run-quality-gates.sh +0 -242
  389. package/.claude/scripts/setup-epic.sh +0 -173
  390. package/.claude/scripts/setup-ralph-loop.sh +0 -155
  391. package/.claude/scripts/sync-roadmap-progress.sh +0 -300
  392. package/.claude/scripts/sync-task-marks.sh +0 -199
  393. package/.claude/scripts/team-dev-init.sh +0 -319
  394. package/.claude/scripts/team-state-recovery.sh +0 -229
  395. package/.claude/scripts/test-clarify-scan.sh +0 -515
  396. package/.claude/scripts/update-agent-context.sh +0 -806
  397. package/.claude/scripts/validate-constitution.sh +0 -567
  398. package/.claude/scripts/validate-hooks.sh +0 -487
  399. package/.claude/scripts/validate-research.sh +0 -332
  400. package/.claude/scripts/validate-scope-boundary.sh +0 -493
  401. package/.claude/scripts/validate-scope.sh +0 -200
  402. package/.claude/scripts/verify-gate.sh +0 -269
  403. package/.claude/scripts/verify-setup.sh +0 -37
  404. package/.claude/scripts/workflow-status.ts +0 -433
  405. package/.claude/settings.json +0 -95
  406. package/.claude/skills/_reference-implementations/README.md +0 -96
  407. package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +0 -302
  408. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +0 -451
  409. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +0 -307
  410. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +0 -638
  411. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +0 -275
  412. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +0 -224
  413. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +0 -213
  414. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +0 -756
  415. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +0 -336
  416. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +0 -789
  417. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +0 -235
  418. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +0 -754
  419. package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +0 -399
  420. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +0 -331
  421. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +0 -872
  422. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +0 -502
  423. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +0 -767
  424. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +0 -502
  425. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +0 -501
  426. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +0 -406
  427. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +0 -364
  428. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +0 -428
  429. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +0 -418
  430. package/.claude/skills/attention-refresh/SKILL.md +0 -170
  431. package/.claude/skills/brainstorming/SKILL.md +0 -161
  432. package/.claude/skills/cc-devflow-orchestrator/SKILL.md +0 -169
  433. package/.claude/skills/constitution-guardian/SKILL.md +0 -306
  434. package/.claude/skills/constitution-quick-ref/SKILL.md +0 -374
  435. package/.claude/skills/debugging/SKILL.md +0 -221
  436. package/.claude/skills/file-standards/SKILL.md +0 -353
  437. package/.claude/skills/finishing-branch/SKILL.md +0 -189
  438. package/.claude/skills/flow-dev/CLAUDE.md +0 -16
  439. package/.claude/skills/flow-dev/SKILL.md +0 -94
  440. package/.claude/skills/flow-dev/assets/IMPLEMENTATION_PLAN_TEMPLATE.md +0 -71
  441. package/.claude/skills/flow-dev/context.jsonl +0 -4
  442. package/.claude/skills/flow-dev/dev-implementer.jsonl +0 -8
  443. package/.claude/skills/flow-dev/scripts/entry-gate.sh +0 -116
  444. package/.claude/skills/flow-dev/scripts/exit-gate.sh +0 -101
  445. package/.claude/skills/flow-dev/scripts/task-orchestrator.sh +0 -106
  446. package/.claude/skills/flow-fix/SKILL.md +0 -105
  447. package/.claude/skills/flow-fix/context.jsonl +0 -6
  448. package/.claude/skills/flow-fix/references/bug-analyzer.md +0 -381
  449. package/.claude/skills/flow-init/SKILL.md +0 -105
  450. package/.claude/skills/flow-init/assets/BRAINSTORM_TEMPLATE.md +0 -148
  451. package/.claude/skills/flow-init/assets/INIT_FLOW_TEMPLATE.md +0 -198
  452. package/.claude/skills/flow-init/assets/RESEARCH_TEMPLATE.md +0 -276
  453. package/.claude/skills/flow-init/context.jsonl +0 -5
  454. package/.claude/skills/flow-init/references/flow-researcher.md +0 -132
  455. package/.claude/skills/flow-init/scripts/check-prerequisites.sh +0 -240
  456. package/.claude/skills/flow-init/scripts/consolidate-research.sh +0 -182
  457. package/.claude/skills/flow-init/scripts/create-requirement.sh +0 -404
  458. package/.claude/skills/flow-init/scripts/generate-research-tasks.sh +0 -157
  459. package/.claude/skills/flow-init/scripts/populate-research-tasks.sh +0 -284
  460. package/.claude/skills/flow-init/scripts/validate-research.sh +0 -340
  461. package/.claude/skills/flow-quality/SKILL.md +0 -98
  462. package/.claude/skills/flow-quality/context.jsonl +0 -6
  463. package/.claude/skills/flow-quality/references/code-quality-reviewer.md +0 -205
  464. package/.claude/skills/flow-quality/references/qa-tester.md +0 -313
  465. package/.claude/skills/flow-quality/references/security-reviewer.md +0 -314
  466. package/.claude/skills/flow-quality/references/spec-reviewer.md +0 -221
  467. package/.claude/skills/flow-release/SKILL.md +0 -60
  468. package/.claude/skills/flow-release/context.jsonl +0 -5
  469. package/.claude/skills/flow-release/references/release-manager.md +0 -295
  470. package/.claude/skills/flow-spec/CLAUDE.md +0 -17
  471. package/.claude/skills/flow-spec/SKILL.md +0 -102
  472. package/.claude/skills/flow-spec/context.jsonl +0 -5
  473. package/.claude/skills/flow-spec/scripts/entry-gate.sh +0 -194
  474. package/.claude/skills/flow-spec/scripts/exit-gate.sh +0 -244
  475. package/.claude/skills/flow-spec/scripts/parallel-orchestrator.sh +0 -205
  476. package/.claude/skills/flow-spec/scripts/team-communication.sh +0 -353
  477. package/.claude/skills/flow-spec/scripts/team-init.sh +0 -195
  478. package/.claude/skills/flow-spec/scripts/test-team-mode.sh +0 -496
  479. package/.claude/skills/flow-spec/team-config.json +0 -165
  480. package/.claude/skills/flow-verify/CLAUDE.md +0 -10
  481. package/.claude/skills/flow-verify/SKILL.md +0 -53
  482. package/.claude/skills/flow-verify/context.jsonl +0 -5
  483. package/.claude/skills/fractal-docs/SKILL.md +0 -45
  484. package/.claude/skills/journey-checker/SKILL.md +0 -199
  485. package/.claude/skills/journey-checker/pressure-scenarios.md +0 -164
  486. package/.claude/skills/receiving-review/SKILL.md +0 -153
  487. package/.claude/skills/skill-creator/LICENSE.txt +0 -202
  488. package/.claude/skills/skill-creator/SKILL.md +0 -356
  489. package/.claude/skills/skill-creator/references/output-patterns.md +0 -82
  490. package/.claude/skills/skill-creator/references/workflows.md +0 -28
  491. package/.claude/skills/skill-creator/scripts/init_skill.py +0 -303
  492. package/.claude/skills/skill-creator/scripts/package_skill.py +0 -110
  493. package/.claude/skills/skill-creator/scripts/quick_validate.py +0 -95
  494. package/.claude/skills/skill-rules.json +0 -359
  495. package/.claude/skills/tdd/SKILL.md +0 -218
  496. package/.claude/skills/tdd-enforcer/SKILL.md +0 -192
  497. package/.claude/skills/utility/npm-release/CLAUDE.md +0 -55
  498. package/.claude/skills/utility/npm-release/SKILL.md +0 -379
  499. package/.claude/skills/utility/npm-release/references/version-decision-guide.md +0 -134
  500. package/.claude/skills/utility/npm-release/scripts/atomic-version-bump.sh +0 -95
  501. package/.claude/skills/utility/npm-release/scripts/validate-version-sync.sh +0 -82
  502. package/.claude/skills/utility/npm-release/scripts/version-decision-tree.sh +0 -44
  503. package/.claude/skills/verification/SKILL.md +0 -158
  504. package/.claude/skills/workflow.yaml +0 -219
  505. package/.claude/tests/README.md +0 -300
  506. package/.claude/tests/TODO.md +0 -69
  507. package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
  508. package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
  509. package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
  510. package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
  511. package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
  512. package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
  513. package/.claude/tests/constitution/run_all_constitution_tests.sh +0 -111
  514. package/.claude/tests/constitution/test_agent_assignment.sh +0 -207
  515. package/.claude/tests/constitution/test_article_coverage.sh +0 -201
  516. package/.claude/tests/constitution/test_template_completeness.sh +0 -150
  517. package/.claude/tests/constitution/test_version_consistency.sh +0 -120
  518. package/.claude/tests/fixtures/spec_delta_full.md +0 -16
  519. package/.claude/tests/fixtures/tasks_progress_sample.md +0 -5
  520. package/.claude/tests/run-all-tests.sh +0 -229
  521. package/.claude/tests/scripts/run.sh +0 -30
  522. package/.claude/tests/scripts/test-framework.sh +0 -128
  523. package/.claude/tests/scripts/test_check_prerequisites.sh +0 -511
  524. package/.claude/tests/scripts/test_check_prerequisites.sh.bak +0 -504
  525. package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +0 -505
  526. package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +0 -506
  527. package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +0 -507
  528. package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +0 -508
  529. package/.claude/tests/scripts/test_check_task_status.sh +0 -499
  530. package/.claude/tests/scripts/test_common.sh +0 -244
  531. package/.claude/tests/scripts/test_generate_status_report.sh +0 -71
  532. package/.claude/tests/scripts/test_mark_task_complete.sh +0 -441
  533. package/.claude/tests/scripts/test_mark_task_complete.sh.backup +0 -410
  534. package/.claude/tests/scripts/test_recover_workflow.sh +0 -304
  535. package/.claude/tests/scripts/test_setup_epic.sh +0 -437
  536. package/.claude/tests/scripts/test_sync_task_marks.sh +0 -196
  537. package/.claude/tests/scripts/test_validate_constitution.sh +0 -74
  538. package/.claude/tests/scripts/test_validate_research.sh +0 -462
  539. package/.claude/tests/slugify.bats +0 -82
  540. package/.claude/tests/test-framework.sh +0 -732
  541. package/.claude/tests/test_analyze_upgrade_impact.py +0 -34
  542. package/.claude/tests/test_consolidate_research.py +0 -48
  543. package/.claude/tests/test_export_contracts.py +0 -43
  544. package/.claude/tests/test_extract_data_model.py +0 -33
  545. package/.claude/tests/test_generate_quickstart.py +0 -50
  546. package/.claude/tests/test_generate_research_tasks.py +0 -52
  547. package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/affected-repos.txt +0 -1
  548. package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/edited-files.log +0 -2
  549. package/bin/harness.js +0 -22
  550. package/docs/commands/core-roadmap.md +0 -106
  551. package/docs/commands/core-roadmap.zh-CN.md +0 -102
  552. package/docs/commands/core-style.md +0 -53
  553. package/docs/commands/core-style.zh-CN.md +0 -53
  554. package/docs/commands/flow-init.md +0 -140
  555. package/docs/commands/flow-init.zh-CN.md +0 -169
  556. package/docs/commands/flow-new.md +0 -39
  557. package/docs/commands/flow-new.zh-CN.md +0 -39
  558. package/lib/compiler/__tests__/compile-regression.test.js +0 -103
  559. package/lib/compiler/__tests__/multi-module-emitters.test.js +0 -534
  560. package/lib/compiler/__tests__/resource-copier.test.js +0 -26
  561. package/lib/compiler/__tests__/skill-discovery.test.js +0 -72
  562. package/lib/compiler/context-expander.js +0 -179
  563. package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +0 -109
  564. package/lib/compiler/rules-emitters/codex-rules-emitter.js +0 -116
  565. package/lib/compiler/skill-discovery.js +0 -68
  566. package/lib/harness/CLAUDE.md +0 -22
  567. package/lib/harness/__tests__/planner.tdd.test.js +0 -125
  568. package/lib/harness/cli.js +0 -208
  569. package/lib/harness/index.js +0 -18
  570. package/lib/harness/operations/dispatch.js +0 -298
  571. package/lib/harness/operations/init.js +0 -48
  572. package/lib/harness/operations/pack.js +0 -100
  573. package/lib/harness/operations/plan.js +0 -83
  574. package/lib/harness/operations/release.js +0 -170
  575. package/lib/harness/operations/resume.js +0 -44
  576. package/lib/harness/operations/verify.js +0 -177
  577. package/lib/harness/planner.js +0 -272
  578. package/lib/harness/query.js +0 -126
  579. package/lib/harness/schemas.js +0 -129
@@ -0,0 +1,29 @@
1
+ # Status Report
2
+
3
+ ## Requirement
4
+
5
+ - Change ID: `REQ-001`
6
+ - Roadmap item: `RM-001`
7
+ - Current state: verified and ready to ship as `create-pr`
8
+
9
+ ## What Is True Now
10
+
11
+ - The share dialog exposes a one-click copy action for the existing invite URL
12
+ - The patch stayed inside the approved `tiny-design` boundary
13
+ - Fresh targeted test and lint evidence both passed
14
+ - Review proof is present, so `cc-check` returned `pass`
15
+
16
+ ## Ship Decision
17
+
18
+ - Recommended mode: `create-pr`
19
+ - Why now: the work is verified, the branch is assumed to be a feature branch, and no open PR exists yet
20
+ - Why not others:
21
+ - not `update-pr`: there is no existing PR to refresh
22
+ - not `local-handoff`: the work is ready to move forward
23
+ - not `post-merge-closeout`: the change is not merged yet
24
+
25
+ ## Docs And Follow-Up
26
+
27
+ - README / release docs: no public user-facing release note yet
28
+ - Backlog writeback: keep `RM-002` parked as the next UX refinement if support friction remains
29
+ - Next entry point: create the PR using `pr-brief.md` as the truth source
@@ -0,0 +1,72 @@
1
+ # DESIGN
2
+
3
+ ## Document Meta
4
+
5
+ - Requirement version: `REQ-001.v1`
6
+ - Design version: `design.v1`
7
+ - CC-Plan skill version: `3.5.4`
8
+ - Requirement ID: `REQ-001`
9
+ - Design mode: `tiny-design`
10
+ - Why this stays `tiny-design`: the patch is limited to an existing dialog and test file, with no API or data model changes
11
+ - Approval status: `approved`
12
+ - Source roadmap item: `RM-001`
13
+ - Source roadmap version: `roadmap.v1`
14
+
15
+ ## Source Handoff
16
+
17
+ - Why now: Stage 1 needs the smallest possible share-flow win
18
+ - Inherited success signal: a user can copy the invite link with one click
19
+ - Inherited kill signal: if the patch requires backend or permission changes, reopen planning
20
+ - Inherited non-goals: no invite role controls, no analytics, no dialog redesign
21
+ - Upstream evidence: repeated support notes and observed manual copying
22
+
23
+ ## Frozen Design Card
24
+
25
+ - Change: add a `Copy invite link` button beside the existing read-only invite URL in the share dialog
26
+ - Keep out: no new invite generation flow and no fallback redesign for unsupported browsers
27
+ - Touched files:
28
+ - `src/features/share/ShareDialog.tsx`
29
+ - `src/features/share/ShareDialog.test.tsx`
30
+ - Contract changes: none; reuse the existing invite link source and existing dialog props
31
+ - Key decisions that `cc-do` must not re-decide:
32
+ - use `navigator.clipboard.writeText`
33
+ - keep the current invite URL source of truth
34
+ - show a lightweight copied-state confirmation inside the current dialog
35
+ - Upgrade trigger to `full-design`: if clipboard support requires new platform fallbacks, or if the patch spills into shared share-service contracts
36
+
37
+ ## Validation
38
+
39
+ - Primary check: targeted dialog test proves the button renders and copies the current invite URL
40
+ - Secondary checks:
41
+ - existing share dialog tests remain green
42
+ - lint stays green for the touched files
43
+ - Evidence to collect:
44
+ - failing test before implementation
45
+ - passing targeted test after implementation
46
+ - fresh gate output for `cc-check`
47
+
48
+ ## Main Risk
49
+
50
+ - Risk: copied-state feedback may be too subtle for users
51
+ - Mitigation: keep the first patch minimal and log a follow-up roadmap item if support friction remains
52
+
53
+ ## Review Gate
54
+
55
+ - Placeholder scan: pass
56
+ - Consistency scan: pass; scope, files, and validation all point to the same tiny patch
57
+ - Scope scan: pass; no backend, no permission work
58
+ - Ambiguity scan: pass; execution does not need to re-decide button placement or clipboard source
59
+ - Feasibility scan: pass; existing dialog and tests already cover the target surface
60
+ - Final recommendation: approved as `tiny-design`
61
+
62
+ ## Approval
63
+
64
+ - User approval status: approved
65
+ - Deferred questions:
66
+ - if copied-state feedback still feels weak, open a separate requirement for richer UX
67
+
68
+ ## First-Read Test
69
+
70
+ - This is clearly small because it stays inside one UI surface and one test surface
71
+ - The upgrade path is explicit: any contract or fallback work forces `full-design`
72
+ - `cc-do` should not need to ask where the URL comes from or how the copy action is triggered
@@ -0,0 +1,201 @@
1
+ {
2
+ "changeId": "REQ-001",
3
+ "goal": "Add a one-click copy action to the existing share dialog without changing backend contracts.",
4
+ "createdAt": "2026-04-15T10:00:00.000Z",
5
+ "updatedAt": "2026-04-15T11:10:00.000Z",
6
+ "status": "verified",
7
+ "requirementId": "REQ-001",
8
+ "requirementVersion": "REQ-001.v1",
9
+ "sourceRoadmap": {
10
+ "itemId": "RM-001",
11
+ "roadmapVersion": "roadmap.v1",
12
+ "roadmapSkillVersion": "4.3.2",
13
+ "sourceStage": "Stage 1",
14
+ "successSignal": "Users can copy the invite link with one click",
15
+ "killSignal": "The patch requires backend or permission changes",
16
+ "dependencies": [
17
+ "Existing share dialog stays intact"
18
+ ],
19
+ "nonGoals": [
20
+ "No invite role redesign",
21
+ "No share analytics"
22
+ ]
23
+ },
24
+ "planningMeta": {
25
+ "reqPlanSkillVersion": "3.5.4",
26
+ "designVersion": "design.v1",
27
+ "approvedAt": "2026-04-15T10:05:00.000Z",
28
+ "approvedBy": "user",
29
+ "basedOnOption": "Tiny design card"
30
+ },
31
+ "currentTaskId": null,
32
+ "activePhase": null,
33
+ "tasks": [
34
+ {
35
+ "id": "T001",
36
+ "title": "[TEST] Add a failing dialog test for the missing copy action",
37
+ "type": "TEST",
38
+ "phase": 1,
39
+ "parallel": false,
40
+ "dependsOn": [],
41
+ "touches": [
42
+ "share-dialog",
43
+ "tests"
44
+ ],
45
+ "files": [
46
+ "src/features/share/ShareDialog.test.tsx"
47
+ ],
48
+ "run": [
49
+ "npm test -- src/features/share/ShareDialog.test.tsx"
50
+ ],
51
+ "checks": [
52
+ "test fails before implementation"
53
+ ],
54
+ "acceptance": [
55
+ "The missing copy action is reproduced as a failing test"
56
+ ],
57
+ "verification": [
58
+ "npm test -- src/features/share/ShareDialog.test.tsx"
59
+ ],
60
+ "evidence": [
61
+ "Failing test output"
62
+ ],
63
+ "context": {
64
+ "readFiles": [
65
+ "design.md",
66
+ "tasks.md",
67
+ "src/features/share/ShareDialog.tsx"
68
+ ],
69
+ "commands": [
70
+ "npm test -- src/features/share/ShareDialog.test.tsx"
71
+ ],
72
+ "notes": [
73
+ "Do not change share-service contracts in this task"
74
+ ]
75
+ },
76
+ "reviews": {
77
+ "spec": "pass",
78
+ "code": "pass"
79
+ },
80
+ "status": "passed",
81
+ "attempts": 1,
82
+ "maxRetries": 1
83
+ },
84
+ {
85
+ "id": "T002",
86
+ "title": "[IMPL] Add the copy button and copied-state confirmation",
87
+ "type": "IMPL",
88
+ "phase": 1,
89
+ "parallel": false,
90
+ "dependsOn": [
91
+ "T001"
92
+ ],
93
+ "touches": [
94
+ "share-dialog"
95
+ ],
96
+ "files": [
97
+ "src/features/share/ShareDialog.tsx"
98
+ ],
99
+ "run": [
100
+ "npm test -- src/features/share/ShareDialog.test.tsx"
101
+ ],
102
+ "checks": [
103
+ "dialog test passes after implementation"
104
+ ],
105
+ "acceptance": [
106
+ "The dialog exposes a copy button and confirms the copied state"
107
+ ],
108
+ "verification": [
109
+ "npm test -- src/features/share/ShareDialog.test.tsx"
110
+ ],
111
+ "evidence": [
112
+ "Passing targeted test output",
113
+ "Checkpoint summary"
114
+ ],
115
+ "context": {
116
+ "readFiles": [
117
+ "design.md",
118
+ "tasks.md",
119
+ "src/features/share/ShareDialog.test.tsx"
120
+ ],
121
+ "commands": [
122
+ "npm test -- src/features/share/ShareDialog.test.tsx"
123
+ ],
124
+ "notes": [
125
+ "Keep the patch inside the existing dialog"
126
+ ]
127
+ },
128
+ "reviews": {
129
+ "spec": "pass",
130
+ "code": "pass"
131
+ },
132
+ "status": "passed",
133
+ "attempts": 1,
134
+ "maxRetries": 1
135
+ },
136
+ {
137
+ "id": "T003",
138
+ "title": "Run targeted checks and collect fresh evidence",
139
+ "type": "OTHER",
140
+ "phase": 2,
141
+ "parallel": false,
142
+ "dependsOn": [
143
+ "T002"
144
+ ],
145
+ "touches": [
146
+ "quality-gates"
147
+ ],
148
+ "files": [
149
+ "src/features/share/ShareDialog.tsx",
150
+ "src/features/share/ShareDialog.test.tsx"
151
+ ],
152
+ "run": [
153
+ "npm test -- src/features/share/ShareDialog.test.tsx",
154
+ "npm run lint -- src/features/share/ShareDialog.tsx"
155
+ ],
156
+ "checks": [
157
+ "targeted test passes",
158
+ "lint passes"
159
+ ],
160
+ "acceptance": [
161
+ "Fresh verification evidence is ready for cc-check"
162
+ ],
163
+ "verification": [
164
+ "npm test -- src/features/share/ShareDialog.test.tsx",
165
+ "npm run lint -- src/features/share/ShareDialog.tsx"
166
+ ],
167
+ "evidence": [
168
+ "Passing targeted test output",
169
+ "Clean lint output"
170
+ ],
171
+ "context": {
172
+ "readFiles": [
173
+ "tasks.md",
174
+ "task-manifest.json"
175
+ ],
176
+ "commands": [
177
+ "npm test -- src/features/share/ShareDialog.test.tsx",
178
+ "npm run lint -- src/features/share/ShareDialog.tsx"
179
+ ],
180
+ "notes": [
181
+ "Collect only fresh evidence from this run"
182
+ ]
183
+ },
184
+ "reviews": {
185
+ "spec": "pass",
186
+ "code": "pass"
187
+ },
188
+ "status": "passed",
189
+ "attempts": 1,
190
+ "maxRetries": 1
191
+ }
192
+ ],
193
+ "metadata": {
194
+ "source": "tasks.md",
195
+ "generatedBy": "docs-example",
196
+ "planVersion": 1
197
+ },
198
+ "deferredQuestions": [
199
+ "If users still miss the copied-state confirmation, open RM-002 for richer feedback."
200
+ ]
201
+ }
@@ -0,0 +1,73 @@
1
+ # TASKS
2
+
3
+ ## Plan Meta
4
+
5
+ - Requirement version: `REQ-001.v1`
6
+ - Design version: `design.v1`
7
+ - CC-Plan skill version: `3.5.4`
8
+ - Source roadmap item: `RM-001`
9
+ - Source roadmap version: `roadmap.v1`
10
+
11
+ ## Execution Handoff
12
+
13
+ - Canonical design: `design.md`
14
+ - Execution mode: `single-path`
15
+ - Frozen decisions:
16
+ - copy from the existing invite URL source
17
+ - keep the patch inside the current dialog
18
+ - leave richer feedback for a future requirement if needed
19
+ - Read first:
20
+ - `design.md`
21
+ - `src/features/share/ShareDialog.tsx`
22
+ - `src/features/share/ShareDialog.test.tsx`
23
+ - Commands to trust:
24
+ - `npm test -- src/features/share/ShareDialog.test.tsx`
25
+ - `npm run lint -- src/features/share/ShareDialog.tsx`
26
+ - Do not re-decide:
27
+ - dialog structure
28
+ - invite URL source
29
+ - share-service contracts
30
+ - Parallel boundaries: none; this patch is intentionally serial
31
+
32
+ > 顶部 handoff 只保留执行者必须知道的现实,不重复讲背景故事。
33
+
34
+ ## Phase 1: Foundation
35
+
36
+ - [x] T001 [TEST] Add a failing dialog test for the missing copy action (dependsOn:none) `src/features/share/ShareDialog.test.tsx`
37
+ Goal: 证明当前 share dialog 还不能一键复制 invite link。
38
+ Files: `src/features/share/ShareDialog.test.tsx`
39
+ Read first: `design.md`, `src/features/share/ShareDialog.tsx`
40
+ Verification: `npm test -- src/features/share/ShareDialog.test.tsx`
41
+ Evidence: failing output that shows the missing button / action
42
+ Ready when: 没有上游依赖,且现有 dialog test 已可运行
43
+
44
+ - [x] T002 [IMPL] Add the copy button and copied-state confirmation (dependsOn:T001) `src/features/share/ShareDialog.tsx`
45
+ Goal: 用最小实现让 T001 转绿,并保持当前 share contract 不变。
46
+ Files: `src/features/share/ShareDialog.tsx`
47
+ Read first: `design.md`, `src/features/share/ShareDialog.test.tsx`
48
+ Verification: `npm test -- src/features/share/ShareDialog.test.tsx`
49
+ Evidence: passing output + checkpoint + review notes
50
+ Ready when: T001 已经见红,且当前 touched files 没有外部依赖阻塞
51
+
52
+ ## Phase 2: Verify
53
+
54
+ - [x] T003 Run targeted checks and collect fresh evidence (dependsOn:T002) `share dialog quality gates`
55
+ Goal: 为 `cc-check` 准备本次实现的真实验证证据。
56
+ Files: `src/features/share/ShareDialog.tsx`, `src/features/share/ShareDialog.test.tsx`
57
+ Read first: `tasks.md`, `task-manifest.json`
58
+ Verification:
59
+ - `npm test -- src/features/share/ShareDialog.test.tsx`
60
+ - `npm run lint -- src/features/share/ShareDialog.tsx`
61
+ Evidence: passing test output + clean lint output
62
+ Ready when: T002 已完成,且 review gate 已可补齐
63
+
64
+ > `[P]` 只表示“依赖满足后有资格并行”,不表示可以无脑同时开发。
65
+
66
+ ## Task Quality Bar
67
+
68
+ 一个好的 task block 至少让执行者立刻知道:
69
+
70
+ - 现在为什么轮到它做
71
+ - 做完后现实会发生什么变化
72
+ - 用哪条命令证明它完成
73
+ - 要留下什么证据给 `cc-check`
@@ -0,0 +1,44 @@
1
+ {
2
+ "changeId": "REQ-001",
3
+ "verdict": "pass",
4
+ "overall": "pass",
5
+ "summary": "verdict=pass quick=2/2 strict=0/0 review=pass",
6
+ "quickGates": [
7
+ {
8
+ "name": "targeted-tests",
9
+ "status": "pass",
10
+ "command": "npm test -- src/features/share/ShareDialog.test.tsx",
11
+ "summary": "share dialog targeted tests passed"
12
+ },
13
+ {
14
+ "name": "lint",
15
+ "status": "pass",
16
+ "command": "npm run lint -- src/features/share/ShareDialog.tsx",
17
+ "summary": "lint passed for the touched dialog file"
18
+ }
19
+ ],
20
+ "strictGates": [],
21
+ "review": {
22
+ "status": "pass",
23
+ "summary": "Task review proof and requirement-level diff review both passed",
24
+ "details": "T001-T003 have matching spec/code review proof and the diff stays inside the approved tiny-design boundary.",
25
+ "taskReviews": {
26
+ "status": "pass",
27
+ "required": true,
28
+ "summary": "All completed tasks carry spec/code proof",
29
+ "reviewers": [],
30
+ "findings": []
31
+ },
32
+ "diffReview": {
33
+ "status": "pass",
34
+ "required": false,
35
+ "summary": "No blocking requirement-level findings",
36
+ "reviewers": [],
37
+ "findings": []
38
+ },
39
+ "findings": []
40
+ },
41
+ "blockingFindings": [],
42
+ "reroute": "none",
43
+ "timestamp": "2026-04-15T11:20:00.000Z"
44
+ }
@@ -0,0 +1,114 @@
1
+ {
2
+ "version": 2,
3
+ "lastSyncedAt": "2026-04-19",
4
+ "backlogMeta": {
5
+ "roadmapVersion": "roadmap.v1",
6
+ "skillVersion": "4.3.2",
7
+ "currentFocusStage": "Stage 1"
8
+ },
9
+ "dependencyHandoff": {
10
+ "serialSpine": "RM-001 -> RM-002",
11
+ "parallelReadyNextWave": "none until RM-001 proves the copy action shape",
12
+ "notesOnBlockers": "RM-002 should reuse the final interaction contract from RM-001, not race it"
13
+ },
14
+ "items": [
15
+ {
16
+ "rmId": "RM-001",
17
+ "item": "Add one-click copy action to the share dialog",
18
+ "stage": "Stage 1",
19
+ "priority": "P1",
20
+ "primaryCapability": "cap-invite-links",
21
+ "secondaryCapabilities": [],
22
+ "expectedSpecDelta": "tighten invite-link copy truth",
23
+ "dependsOn": [],
24
+ "status": "In review",
25
+ "req": "REQ-001",
26
+ "progress": "100%",
27
+ "backlog": {
28
+ "capabilityGap": "share dialog exposes invite URL but not direct copy action",
29
+ "evidence": "repeated support friction",
30
+ "parallelWith": [],
31
+ "unknowns": "copied-state feedback shape",
32
+ "nextDecision": "freeze tiny design and execute",
33
+ "ready": true,
34
+ "whyNow": "it removes the first visible collaboration friction in the beta flow",
35
+ "successSignal": "users can copy the invite link with one click",
36
+ "entryConstraints": "no backend changes, no share dialog redesign",
37
+ "openRisks": "clipboard failure copy may still need follow-up UX",
38
+ "firstPlanningQuestion": "can this stay a tiny-design patch without changing contracts?",
39
+ "requiredContextToLoad": "current share dialog, current invite URL source, existing tests",
40
+ "whyReadyNow": "the ask is narrow, the evidence is real, and the dependency surface is already known",
41
+ "parked": false,
42
+ "parkedReason": "",
43
+ "triggerToReopen": "",
44
+ "missingEvidence": ""
45
+ }
46
+ },
47
+ {
48
+ "rmId": "RM-002",
49
+ "item": "Add copied-state feedback to the share dialog",
50
+ "stage": "Stage 1",
51
+ "priority": "P2",
52
+ "primaryCapability": "cap-invite-links",
53
+ "secondaryCapabilities": [],
54
+ "expectedSpecDelta": "extend invite-link feedback truth",
55
+ "dependsOn": [
56
+ "RM-001"
57
+ ],
58
+ "status": "Planned",
59
+ "req": "",
60
+ "progress": "0%",
61
+ "backlog": {
62
+ "capabilityGap": "invite links lack durable copied-state feedback after action completion",
63
+ "evidence": "likely useful after RM-001",
64
+ "parallelWith": [],
65
+ "unknowns": "toast vs inline state",
66
+ "nextDecision": "decide after first patch ships",
67
+ "ready": false,
68
+ "whyNow": "",
69
+ "successSignal": "",
70
+ "entryConstraints": "",
71
+ "openRisks": "",
72
+ "firstPlanningQuestion": "",
73
+ "requiredContextToLoad": "",
74
+ "whyReadyNow": "",
75
+ "parked": false,
76
+ "parkedReason": "",
77
+ "triggerToReopen": "",
78
+ "missingEvidence": ""
79
+ }
80
+ },
81
+ {
82
+ "rmId": "RM-004",
83
+ "item": "Collaboration analytics follow-up",
84
+ "stage": "",
85
+ "priority": "",
86
+ "primaryCapability": "",
87
+ "secondaryCapabilities": [],
88
+ "expectedSpecDelta": "",
89
+ "dependsOn": [],
90
+ "status": "",
91
+ "req": "",
92
+ "progress": "",
93
+ "backlog": {
94
+ "capabilityGap": "",
95
+ "evidence": "",
96
+ "parallelWith": [],
97
+ "unknowns": "",
98
+ "nextDecision": "",
99
+ "ready": false,
100
+ "whyNow": "",
101
+ "successSignal": "",
102
+ "entryConstraints": "",
103
+ "openRisks": "",
104
+ "firstPlanningQuestion": "",
105
+ "requiredContextToLoad": "",
106
+ "whyReadyNow": "",
107
+ "parked": true,
108
+ "parkedReason": "collaboration analytics is premature before Stage 1 and 2 prove usage",
109
+ "triggerToReopen": "repeated invite usage after beta activation",
110
+ "missingEvidence": "stable collaboration volume"
111
+ }
112
+ }
113
+ ]
114
+ }
@@ -0,0 +1,116 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -euo pipefail
4
+
5
+ # ------------------------------------------------------------
6
+ # 校验 examples 与当前 skill 版本链是否仍然对齐
7
+ # ------------------------------------------------------------
8
+
9
+ ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
10
+ BINDINGS_FILE="${EXAMPLE_BINDINGS_FILE:-$ROOT_DIR/docs/examples/example-bindings.json}"
11
+
12
+ if [[ ! -f "$BINDINGS_FILE" ]]; then
13
+ echo "Missing bindings file: $BINDINGS_FILE" >&2
14
+ exit 1
15
+ fi
16
+
17
+ skill_version() {
18
+ local skill="$1"
19
+ local file="$ROOT_DIR/.claude/skills/$skill/SKILL.md"
20
+ if [[ ! -f "$file" ]]; then
21
+ echo "Missing skill file: $file" >&2
22
+ exit 1
23
+ fi
24
+
25
+ sed -n 's/^version: //p' "$file" | head -n 1
26
+ }
27
+
28
+ assert_contains() {
29
+ local file="$1"
30
+ local needle="$2"
31
+ if ! rg -F --quiet -- "$needle" "$file"; then
32
+ echo "Expected '$needle' in $file" >&2
33
+ exit 1
34
+ fi
35
+ }
36
+
37
+ ROADMAP_VERSION="$(skill_version cc-roadmap)"
38
+ REQ_PLAN_VERSION="$(skill_version cc-plan)"
39
+ INVESTIGATE_VERSION="$(skill_version cc-investigate)"
40
+ REQ_DO_VERSION="$(skill_version cc-do)"
41
+ REQ_CHECK_VERSION="$(skill_version cc-check)"
42
+ REQ_ACT_VERSION="$(skill_version cc-act)"
43
+
44
+ for pair in \
45
+ "cc-roadmap:$ROADMAP_VERSION" \
46
+ "cc-plan:$REQ_PLAN_VERSION" \
47
+ "cc-investigate:$INVESTIGATE_VERSION" \
48
+ "cc-do:$REQ_DO_VERSION" \
49
+ "cc-check:$REQ_CHECK_VERSION" \
50
+ "cc-act:$REQ_ACT_VERSION"
51
+ do
52
+ skill="${pair%%:*}"
53
+ version="${pair##*:}"
54
+ expected="$(jq -r --arg skill "$skill" '.skills[$skill]' "$BINDINGS_FILE")"
55
+ if [[ "$expected" != "$version" ]]; then
56
+ echo "Binding mismatch for $skill: bindings=$expected current=$version" >&2
57
+ exit 1
58
+ fi
59
+ done
60
+
61
+ while IFS= read -r encoded; do
62
+ example_id="$(jq -r '.id' <<<"$encoded")"
63
+ readme="$ROOT_DIR/$(jq -r '.readme' <<<"$encoded")"
64
+ root="$ROOT_DIR/$(jq -r '.root' <<<"$encoded")"
65
+ change_dir="$ROOT_DIR/$(jq -r '.changeDir' <<<"$encoded")"
66
+ planning_dir="$change_dir/planning"
67
+ review_dir="$change_dir/review"
68
+ handoff_dir="$change_dir/handoff"
69
+
70
+ for file in "$readme" "$root/ROADMAP.md" "$root/BACKLOG.md" "$root/roadmap-tracking.json" "$planning_dir/design.md" "$planning_dir/tasks.md" "$planning_dir/task-manifest.json"; do
71
+ if [[ ! -f "$file" ]]; then
72
+ echo "Example $example_id is missing required file: $file" >&2
73
+ exit 1
74
+ fi
75
+ done
76
+
77
+ assert_contains "$root/ROADMAP.md" "- Skill version: \`$ROADMAP_VERSION\`"
78
+ assert_contains "$root/ROADMAP.md" "- Tracking source: \`roadmap-tracking.json\`"
79
+ assert_contains "$root/BACKLOG.md" "- Skill version: \`$ROADMAP_VERSION\`"
80
+ assert_contains "$root/BACKLOG.md" "- Tracking source: \`roadmap-tracking.json\`"
81
+ assert_contains "$root/BACKLOG.md" "| RM-ID | Title | Source Stage | Priority | Primary Capability | Secondary Capabilities | Capability Gap | Expected Spec Delta | Evidence | Depends On | Parallel With | Unknowns | Next Decision | Ready |"
82
+ assert_contains "$root/BACKLOG.md" "## Ready For Req-Plan"
83
+ assert_contains "$root/BACKLOG.md" " - Primary Capability:"
84
+ assert_contains "$root/BACKLOG.md" " - Expected spec delta:"
85
+ jq -er '.version == 2 and (.items | length) > 0 and (.backlogMeta | type == "object") and (.dependencyHandoff | type == "object") and any(.items[]; .backlog != null)' "$root/roadmap-tracking.json" >/dev/null
86
+ assert_contains "$planning_dir/design.md" "- CC-Plan skill version: \`$REQ_PLAN_VERSION\`"
87
+ assert_contains "$planning_dir/tasks.md" "- CC-Plan skill version: \`$REQ_PLAN_VERSION\`"
88
+
89
+ jq -er --arg roadmap "$ROADMAP_VERSION" --arg reqplan "$REQ_PLAN_VERSION" '
90
+ (.sourceRoadmap.roadmapSkillVersion // $roadmap) == $roadmap and
91
+ (.planningMeta.reqPlanSkillVersion // $reqplan) == $reqplan
92
+ ' "$planning_dir/task-manifest.json" >/dev/null
93
+
94
+ assert_contains "$readme" "## Example Meta"
95
+ assert_contains "$readme" "\`cc-roadmap@$ROADMAP_VERSION\`"
96
+ assert_contains "$readme" "\`cc-plan@$REQ_PLAN_VERSION\`"
97
+ assert_contains "$readme" "\`cc-do@$REQ_DO_VERSION\`"
98
+ assert_contains "$readme" "\`cc-check@$REQ_CHECK_VERSION\`"
99
+
100
+ if jq -e '.covers | index("cc-act")' <<<"$encoded" >/dev/null; then
101
+ assert_contains "$readme" "\`cc-act@$REQ_ACT_VERSION\`"
102
+ fi
103
+
104
+ if [[ -f "$review_dir/report-card.json" ]]; then
105
+ "$ROOT_DIR/.claude/skills/cc-check/scripts/verify-gate.sh" --report "$review_dir/report-card.json" >/dev/null
106
+ fi
107
+
108
+ if jq -e '.covers | index("cc-act")' <<<"$encoded" >/dev/null; then
109
+ if [[ ! -f "$handoff_dir/pr-brief.md" && ! -f "$handoff_dir/resume-index.md" && ! -f "$handoff_dir/release-note.md" && ! -f "$handoff_dir/status.md" ]]; then
110
+ echo "Example $example_id is missing a final handoff file under $handoff_dir" >&2
111
+ exit 1
112
+ fi
113
+ fi
114
+ done < <(jq -c '.examples[]' "$BINDINGS_FILE")
115
+
116
+ echo "Example bindings are in sync with current skill versions"