cc-devflow 4.5.2 → 4.5.4

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 (100) hide show
  1. package/.claude/skills/cc-act/CHANGELOG.md +19 -0
  2. package/.claude/skills/cc-act/PLAYBOOK.md +14 -1
  3. package/.claude/skills/cc-act/SKILL.md +46 -6
  4. package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +44 -1
  5. package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +18 -1
  6. package/.claude/skills/cc-act/references/closure-contract.md +3 -0
  7. package/.claude/skills/cc-act/scripts/cc-act-common.sh +27 -1
  8. package/.claude/skills/cc-act/scripts/render-pr-brief.sh +31 -0
  9. package/.claude/skills/cc-act/scripts/verify-act-gate.sh +6 -0
  10. package/.claude/skills/cc-check/CHANGELOG.md +18 -0
  11. package/.claude/skills/cc-check/PLAYBOOK.md +38 -7
  12. package/.claude/skills/cc-check/SKILL.md +39 -7
  13. package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +61 -0
  14. package/.claude/skills/cc-check/references/gate-contract.md +11 -0
  15. package/.claude/skills/cc-check/references/review-contract.md +17 -1
  16. package/.claude/skills/cc-check/scripts/render-report-card.js +37 -0
  17. package/.claude/skills/cc-check/scripts/verify-gate.sh +7 -0
  18. package/.claude/skills/cc-do/CHANGELOG.md +18 -0
  19. package/.claude/skills/cc-do/PLAYBOOK.md +20 -13
  20. package/.claude/skills/cc-do/SKILL.md +37 -17
  21. package/.claude/skills/cc-do/references/execution-recovery.md +19 -5
  22. package/.claude/skills/cc-do/references/parallel-dispatch.md +6 -4
  23. package/.claude/skills/cc-do/scripts/detect-file-conflicts.sh +49 -3
  24. package/.claude/skills/cc-do/scripts/verify-task-gates.sh +19 -6
  25. package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +14 -2
  26. package/.claude/skills/cc-investigate/CHANGELOG.md +24 -0
  27. package/.claude/skills/cc-investigate/PLAYBOOK.md +35 -13
  28. package/.claude/skills/cc-investigate/SKILL.md +87 -20
  29. package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +68 -3
  30. package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +9 -4
  31. package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +41 -2
  32. package/.claude/skills/cc-investigate/references/investigation-contract.md +46 -0
  33. package/.claude/skills/cc-plan/CHANGELOG.md +32 -0
  34. package/.claude/skills/cc-plan/PLAYBOOK.md +26 -8
  35. package/.claude/skills/cc-plan/SKILL.md +79 -34
  36. package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +71 -3
  37. package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +32 -0
  38. package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +76 -2
  39. package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +58 -0
  40. package/.claude/skills/cc-plan/references/planning-contract.md +26 -4
  41. package/.claude/skills/cc-roadmap/CHANGELOG.md +14 -0
  42. package/.claude/skills/cc-roadmap/PLAYBOOK.md +10 -7
  43. package/.claude/skills/cc-roadmap/SKILL.md +43 -23
  44. package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +10 -0
  45. package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +15 -0
  46. package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +1 -1
  47. package/.claude/skills/cc-roadmap/references/roadmap-dialogue.md +11 -7
  48. package/.claude/skills/cc-simplify/CHANGELOG.md +6 -0
  49. package/.claude/skills/cc-simplify/SKILL.md +10 -1
  50. package/.claude/skills/cc-spec-init/CHANGELOG.md +6 -0
  51. package/.claude/skills/cc-spec-init/SKILL.md +14 -1
  52. package/CHANGELOG.md +29 -0
  53. package/README.md +10 -2
  54. package/README.zh-CN.md +10 -2
  55. package/bin/cc-devflow-cli.js +93 -2
  56. package/docs/examples/example-bindings.json +7 -7
  57. package/docs/examples/full-design-blocked/BACKLOG.md +1 -1
  58. package/docs/examples/full-design-blocked/README.md +1 -1
  59. package/docs/examples/full-design-blocked/ROADMAP.md +1 -1
  60. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +1 -1
  61. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +1 -1
  62. package/docs/examples/full-design-blocked/roadmap-tracking.json +1 -1
  63. package/docs/examples/local-handoff/BACKLOG.md +1 -1
  64. package/docs/examples/local-handoff/README.md +1 -1
  65. package/docs/examples/local-handoff/ROADMAP.md +1 -1
  66. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +1 -1
  67. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +1 -1
  68. package/docs/examples/local-handoff/roadmap-tracking.json +1 -1
  69. package/docs/examples/pdca-loop/BACKLOG.md +1 -1
  70. package/docs/examples/pdca-loop/README.md +1 -1
  71. package/docs/examples/pdca-loop/ROADMAP.md +1 -1
  72. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +1 -1
  73. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +2 -2
  74. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +1 -1
  75. package/docs/examples/pdca-loop/roadmap-tracking.json +1 -1
  76. package/docs/get-shit-done-strategy-audit.md +518 -0
  77. package/docs/skill-strategy-audit.md +48 -0
  78. package/lib/compiler/__tests__/inventory.test.js +51 -0
  79. package/lib/compiler/inventory.js +78 -0
  80. package/lib/skill-runtime/__tests__/approve.test.js +92 -0
  81. package/lib/skill-runtime/__tests__/autopilot.test.js +4 -0
  82. package/lib/skill-runtime/__tests__/planner.tdd.test.js +20 -0
  83. package/lib/skill-runtime/__tests__/query.test.js +147 -1
  84. package/lib/skill-runtime/__tests__/readiness.test.js +53 -0
  85. package/lib/skill-runtime/__tests__/release.test.js +85 -0
  86. package/lib/skill-runtime/__tests__/runtime.integration.test.js +30 -1
  87. package/lib/skill-runtime/__tests__/schemas.test.js +56 -0
  88. package/lib/skill-runtime/__tests__/worker-run.test.js +29 -0
  89. package/lib/skill-runtime/errors.js +39 -0
  90. package/lib/skill-runtime/index.js +8 -0
  91. package/lib/skill-runtime/operations/approve.js +17 -2
  92. package/lib/skill-runtime/operations/release.js +6 -3
  93. package/lib/skill-runtime/operations/worker-run.js +30 -0
  94. package/lib/skill-runtime/planner.js +10 -2
  95. package/lib/skill-runtime/query-registry.js +101 -0
  96. package/lib/skill-runtime/query.js +159 -91
  97. package/lib/skill-runtime/readiness.js +84 -0
  98. package/lib/skill-runtime/schemas.js +39 -4
  99. package/lib/skill-runtime/trace.js +22 -0
  100. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cc-spec-init
3
- version: 1.0.1
3
+ version: 1.1.0
4
4
  description: Use when you need to initialize capability specs under `devflow/specs/`, create or evolve capability truth sources, generate `change-meta.json`, or validate roadmap/change/spec links before roadmap, planning, or closeout work continues.
5
5
  ---
6
6
 
@@ -67,6 +67,7 @@ description: Use when you need to initialize capability specs under `devflow/spe
67
67
  2. 先判断你是在做 `bootstrap`、`create`、`update-links`、`split`、`merge` 还是 `deprecate`。
68
68
  3. 先锁定 capability 边界,再写模板;不要先写 prose 再猜结构。
69
69
  4. 先明确 primary capability,再允许 secondary capabilities 存在。
70
+ 5. 先检查命名是否已经有 canonical term;同义词、歧义词和关系约束没收口前,不要新建第二套 capability 名称。
70
71
 
71
72
  ## Session Protocol
72
73
 
@@ -80,6 +81,7 @@ description: Use when you need to initialize capability specs under `devflow/spe
80
81
  - 为当前已知 capability 写最小 spec
81
82
  3. 如果是新 capability:
82
83
  - 先写 capability 边界、约束、当前 truth、gaps
84
+ - 再写最小 language block:canonical term、definition、aliases to avoid、relationships、flagged ambiguities
83
85
  - 再登记到 `INDEX.md`
84
86
  4. 如果是 change 绑定:
85
87
  - 生成或更新 `change-meta.json`
@@ -91,6 +93,17 @@ description: Use when you need to initialize capability specs under `devflow/spe
91
93
  - `INDEX.md` 引到的 capability 文件都存在
92
94
  - `change-meta.json` 里的 capability 都能落到 spec
93
95
  - roadmap / backlog 里的 capability 引用仍可追踪
96
+ - 新 capability 的名称、aliases、relationships 没有和已有 spec 冲突
97
+
98
+ ## Language Boundary Gate
99
+
100
+ capability spec 是长期 truth source,命名必须比一次需求更稳定:
101
+
102
+ - canonical term:只选一个主名,优先沿用 roadmap、历史 design/analysis、代码公共接口和用户领域语言里已经稳定的词。
103
+ - aliases to avoid:记录容易混用的别名,说明为什么不能继续用。
104
+ - flagged ambiguity:同一个词指向两个概念时,必须写清拆分边界,必要时拆 capability。
105
+ - relationships:用一句话写清 capability 之间的拥有、依赖、生命周期、输入输出或互斥关系。
106
+ - implementation names:类名、文件名、函数名只有在它们已经是公共领域语言时才进入 spec;否则留在 change 设计里。
94
107
 
95
108
  ## Output
96
109
 
package/CHANGELOG.md CHANGED
@@ -9,6 +9,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [4.5.4] - 2026-04-29
13
+
14
+ ### Fixed
15
+
16
+ - Fixed typed runtime queries so malformed required artifacts, including invalid
17
+ `task-manifest.json`, return `InvalidQueryArtifactError` with `ok:false`
18
+ instead of reporting a successful query with an embedded error payload.
19
+
20
+ ## [4.5.3] - 2026-04-29
21
+
22
+ ### Skill Strategy Integration
23
+
24
+ v4.5.3 absorbs the useful strategies from an external skill library into native
25
+ cc-devflow contracts, keeping the public workflow cohesive instead of adding
26
+ parallel skill surfaces.
27
+
28
+ ### Changed
29
+
30
+ - Added an external skill strategy audit and migrated the useful patterns into native cc-devflow contracts instead of copying external skill prose.
31
+ - Updated `cc-plan` to capture glossary deltas, compare non-trivial interface shapes, mark `AFK` / `HITL` vertical slices, and keep durable handoffs behavior-focused.
32
+ - Updated `cc-investigate` to sharpen feedback loops as investigation products and record prevention handoffs after root-cause freeze.
33
+ - Updated `cc-do` and `cc-check` to enforce tracer-bullet execution and review test fixture honesty around partial data, casts, stubs, and mocks.
34
+ - Updated `cc-simplify` to apply deep-module, deletion-test, and real-seam checks before accepting architecture cleanup findings.
35
+ - Updated `cc-act`, `cc-spec-init`, and `docs-sync` to harden issue handoffs, dangerous git action safety, capability language boundaries, and skill contract quality gates.
36
+ - Updated `cc-check` to require QA feedback-loop and behavior evidence for bugfix and user-visible behavior verification, including reproduction mode, determinism, expected/actual behavior, and test seam follow-ups.
37
+ - Updated `cc-act` to carry QA behavior evidence into PR briefs, handoffs, and release notes, and to write follow-ups as durable behavior briefs before roadmap/backlog writeback.
38
+ - Updated `cc-roadmap`, `cc-plan`, and `cc-investigate` to keep canonical language and durable decisions in cc-devflow-native sources: `devflow/specs/`, roadmap/backlog, design/analysis, and change metadata.
39
+ - Refreshed public examples and skill binding metadata for `cc-roadmap@4.4.1`, `cc-plan@3.7.0`, `cc-investigate@1.2.0`, `cc-do@1.6.0`, `cc-check@1.10.0`, `cc-act@1.8.0`, and `cc-spec-init@1.1.0`.
40
+
12
41
  ## [4.5.2] - 2026-04-28
13
42
 
14
43
  ### Skill Review Hardening
package/README.md CHANGED
@@ -76,9 +76,17 @@ Maintenance skills are shipped with the pack:
76
76
 
77
77
  ## Planning Quality Gates
78
78
 
79
- `cc-roadmap` now records planning posture and evidence maturity before recommending a route. That keeps idea-stage, active-user, paying-customer, infrastructure, and recovery work from being forced through the same questions. Developer-facing or operator-facing roadmap items also carry target user, time to first value, magic moment, and adoption bottleneck into `cc-plan`.
79
+ `cc-roadmap` now records planning posture, evidence maturity, canonical project language, and durable decision context before recommending a route. That keeps idea-stage, active-user, paying-customer, infrastructure, and recovery work from being forced through the same questions, and prevents roadmap items from inventing a second vocabulary. Developer-facing or operator-facing roadmap items also carry target user, time to first value, magic moment, adoption bottleneck, and domain handoff into `cc-plan`.
80
80
 
81
- `cc-plan` freezes more implementation decisions before `cc-do` starts. Non-trivial plans compare minimal viable and ideal architecture options, full designs include decision horizon plus error/rescue mapping, and test-first plans record test framework evidence, coverage quality, and mandatory regression tests when existing behavior changes.
81
+ Canonical language and durable decisions stay inside cc-devflow-native sources: `devflow/specs/`, `devflow/ROADMAP.md`, `devflow/BACKLOG.md`, `planning/design.md`, `planning/analysis.md`, and `change-meta.json`.
82
+
83
+ `cc-plan` freezes more implementation decisions before `cc-do` starts. Non-trivial plans compare minimal viable and ideal architecture options, full designs include decision horizon plus error/rescue mapping, and test-first plans record test framework evidence, public test seams, behavior assertions, mock boundaries, coverage quality, mandatory regression tests, interface depth, and vertical tracer-bullet slices when existing behavior changes.
84
+
85
+ ## Verification And Ship Gates
86
+
87
+ `cc-check` now treats QA as a feedback-loop problem, not only a green-test problem. Bugfix and behavior work records the loop used to prove reality, expected versus actual behavior, reproduction steps, test boundary quality, and architecture follow-ups when no clean public test seam exists.
88
+
89
+ `cc-act` carries that evidence into PR briefs, handoffs, and release notes. Follow-ups must be durable behavior briefs with current behavior, desired behavior, key interfaces, acceptance criteria, and explicit out-of-scope notes before they are written back to roadmap or backlog.
82
90
 
83
91
  ## Installation Modes
84
92
 
package/README.zh-CN.md CHANGED
@@ -76,9 +76,17 @@ npx cc-devflow@latest adapt --cwd /path/to/your/project --all
76
76
 
77
77
  ## 计划质量门禁
78
78
 
79
- `cc-roadmap` 现在会先记录 planning posture evidence maturity,再推荐路线。idea、已有用户、付费客户、infra、recovery 场景不会被套进同一组问题。面向开发者或操作者的 roadmap item 还会把目标用户、time to first value、magic moment 和 adoption bottleneck 交给 `cc-plan`。
79
+ `cc-roadmap` 现在会先记录 planning posture、evidence maturity、项目 canonical language 和持久决策上下文,再推荐路线。idea、已有用户、付费客户、infra、recovery 场景不会被套进同一组问题,也不会让 roadmap item 发明第二套词汇。面向开发者或操作者的 roadmap item 还会把目标用户、time to first value、magic moment、adoption bottleneck domain handoff 交给 `cc-plan`。
80
80
 
81
- `cc-plan` 会在 `cc-do` 开始前冻结更多实现决策。非 trivial 计划需要比较 minimal viableideal architecture,full-design 需要包含 implementation decision horizon 和 error/rescue map;测试计划要记录测试框架证据、覆盖质量,并在修改既有行为时强制规划 regression test。
81
+ Canonical language durable decisions 只收敛到 cc-devflow 原生真相源:`devflow/specs/`、`devflow/ROADMAP.md`、`devflow/BACKLOG.md`、`planning/design.md`、`planning/analysis.md``change-meta.json`。
82
+
83
+ `cc-plan` 会在 `cc-do` 开始前冻结更多实现决策。非 trivial 计划需要比较 minimal viable 和 ideal architecture,full-design 需要包含 implementation decision horizon 和 error/rescue map;测试计划要记录测试框架证据、public test seam、behavior assertion、mock boundary、覆盖质量、强制 regression test、interface depth 和 vertical tracer-bullet slices。
84
+
85
+ ## 验证与交付门禁
86
+
87
+ `cc-check` 现在把 QA 当成反馈环问题,而不是只看测试是否绿。Bugfix 和行为变更需要记录证明现实的 loop、expected / actual、复现步骤、测试边界质量;如果没有干净的 public test seam,要留下架构 follow-up。
88
+
89
+ `cc-act` 会把这些证据带进 PR brief、handoff 和 release note。Follow-up 必须写成 durable behavior brief,包含 current behavior、desired behavior、key interfaces、acceptance criteria 和 out-of-scope,再回写 roadmap 或 backlog。
82
90
 
83
91
  ## 安装方式
84
92
 
@@ -14,6 +14,10 @@ const {
14
14
  setConfigValue,
15
15
  writeConfigTemplate
16
16
  } = require(path.join(PACKAGE_ROOT, 'lib/skill-runtime/config.js'));
17
+ const {
18
+ listQueryIds,
19
+ runQuery
20
+ } = require(path.join(PACKAGE_ROOT, 'lib/skill-runtime/query.js'));
17
21
  const ADAPT_BIN = path.join(PACKAGE_ROOT, 'bin', 'adapt.js');
18
22
  const ADAPTER_BIN = path.join(PACKAGE_ROOT, 'bin', 'cc-devflow.js');
19
23
  const TEMPLATE_IGNORES = new Set(['.DS_Store', 'tsc-cache']);
@@ -54,6 +58,8 @@ Commands:
54
58
  config set Set one project/user/local config value
55
59
  config resolve Print resolved YAML config with key-level trace
56
60
  config doctor Validate config and local ignore safety
61
+ query list List typed runtime query ids
62
+ query <id> Run a typed runtime query as JSON
57
63
 
58
64
  Init options:
59
65
  --dir <path> Target project path (default: cwd)
@@ -79,6 +85,11 @@ Config options:
79
85
  --trace Include key-level source trace with policy output
80
86
  --force Overwrite an existing config template
81
87
 
88
+ Query options:
89
+ --cwd <path> Project path used for devflow artifact lookup
90
+ --change <id> Change id, for example REQ-123
91
+ --change-id <id> Alias for --change
92
+
82
93
  Examples:
83
94
  cc-devflow init
84
95
  cc-devflow init --dir /path/to/project
@@ -88,6 +99,8 @@ Examples:
88
99
  cc-devflow config set output.document_language zh-CN --cwd /path/to/project --project
89
100
  cc-devflow config set output.document_language zh-CN --user
90
101
  cc-devflow config resolve --cwd /path/to/project --format policy
102
+ cc-devflow query list
103
+ cc-devflow query ship-readiness --cwd /path/to/project --change REQ-123
91
104
  `);
92
105
  }
93
106
 
@@ -432,6 +445,75 @@ function runConfig(args) {
432
445
  return 0;
433
446
  }
434
447
 
448
+ function parseQueryArgs(args) {
449
+ const parsed = {
450
+ cwd: null,
451
+ changeId: null,
452
+ rest: []
453
+ };
454
+
455
+ for (let i = 0; i < args.length; i++) {
456
+ const arg = args[i];
457
+
458
+ if (arg === '--cwd') {
459
+ parsed.cwd = args[++i];
460
+ continue;
461
+ }
462
+
463
+ if (arg.startsWith('--cwd=')) {
464
+ parsed.cwd = arg.slice('--cwd='.length);
465
+ continue;
466
+ }
467
+
468
+ if (arg === '--change' || arg === '--change-id') {
469
+ parsed.changeId = args[++i];
470
+ continue;
471
+ }
472
+
473
+ if (arg.startsWith('--change=')) {
474
+ parsed.changeId = arg.slice('--change='.length);
475
+ continue;
476
+ }
477
+
478
+ if (arg.startsWith('--change-id=')) {
479
+ parsed.changeId = arg.slice('--change-id='.length);
480
+ continue;
481
+ }
482
+
483
+ parsed.rest.push(arg);
484
+ }
485
+
486
+ return parsed;
487
+ }
488
+
489
+ async function runQueryCommand(args) {
490
+ const [subcommand, ...rest] = args;
491
+
492
+ if (!subcommand || subcommand === '--help' || subcommand === '-h') {
493
+ console.error('Use: cc-devflow query list OR cc-devflow query <id> --change <changeId> [--cwd <path>]');
494
+ return 3;
495
+ }
496
+
497
+ if (subcommand === 'list') {
498
+ process.stdout.write(`${listQueryIds().join('\n')}\n`);
499
+ return 0;
500
+ }
501
+
502
+ const options = parseQueryArgs(rest);
503
+ if (!options.changeId) {
504
+ console.error('Query --change is required.');
505
+ return 3;
506
+ }
507
+
508
+ const result = await runQuery(subcommand, {
509
+ repoRoot: path.resolve(options.cwd || process.cwd()),
510
+ changeId: options.changeId
511
+ });
512
+
513
+ process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
514
+ return result.ok ? 0 : 2;
515
+ }
516
+
435
517
  function runAdapt(args) {
436
518
  const { options, rest } = parseCliArgs(args);
437
519
 
@@ -475,7 +557,7 @@ function runAdapter(command, args) {
475
557
  return typeof result.status === 'number' ? result.status : 1;
476
558
  }
477
559
 
478
- function main() {
560
+ async function main() {
479
561
  const argv = process.argv.slice(2);
480
562
  const [command, ...rest] = argv;
481
563
 
@@ -496,9 +578,18 @@ function main() {
496
578
  return runConfig(rest);
497
579
  }
498
580
 
581
+ if (command === 'query') {
582
+ return runQueryCommand(rest);
583
+ }
584
+
499
585
  return runAdapter(command, rest);
500
586
  }
501
587
 
502
588
  if (require.main === module) {
503
- process.exit(main());
589
+ main()
590
+ .then((code) => process.exit(code))
591
+ .catch((error) => {
592
+ console.error(error.message);
593
+ process.exit(1);
594
+ });
504
595
  }
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "updatedAt": "2026-04-28",
3
3
  "skills": {
4
- "cc-roadmap": "4.3.4",
5
- "cc-plan": "3.5.6",
6
- "cc-investigate": "1.1.4",
7
- "cc-do": "1.5.2",
8
- "cc-check": "1.8.4",
9
- "cc-act": "1.6.4",
10
- "cc-spec-init": "1.0.1"
4
+ "cc-roadmap": "4.4.1",
5
+ "cc-plan": "3.7.1",
6
+ "cc-investigate": "1.2.1",
7
+ "cc-do": "1.6.1",
8
+ "cc-check": "1.10.1",
9
+ "cc-act": "1.8.1",
10
+ "cc-spec-init": "1.1.0"
11
11
  },
12
12
  "examples": [
13
13
  {
@@ -3,7 +3,7 @@
3
3
  ## Backlog Meta
4
4
 
5
5
  - Roadmap version: `roadmap.v2`
6
- - Skill version: `4.3.4`
6
+ - Skill version: `4.4.1`
7
7
  - Last synced: `2026-04-19`
8
8
  - Current focus stage: `Stage 2`
9
9
  - Tracking source: `roadmap-tracking.json`
@@ -4,7 +4,7 @@
4
4
 
5
5
  - Example version: `1.0.0`
6
6
  - Last reviewed: `2026-04-17`
7
- - Bound skills: `cc-roadmap@4.3.4`, `cc-plan@3.5.6`, `cc-do@1.5.2`, `cc-check@1.8.4`
7
+ - Bound skills: `cc-roadmap@4.4.1`, `cc-plan@3.7.1`, `cc-do@1.6.1`, `cc-check@1.10.1`
8
8
 
9
9
  This example shows a requirement that **looked executable**, but `cc-check` correctly stopped it and sent it back to `cc-plan`.
10
10
 
@@ -3,7 +3,7 @@
3
3
  ## Roadmap Meta
4
4
 
5
5
  - Roadmap version: `roadmap.v2`
6
- - Skill version: `4.3.4`
6
+ - Skill version: `4.4.1`
7
7
  - Status: `active`
8
8
  - Last updated: `2026-04-16`
9
9
  - Owner / decider: `product-owner`
@@ -4,7 +4,7 @@
4
4
 
5
5
  - Requirement version: `REQ-002.v2`
6
6
  - Design version: `design.v2`
7
- - CC-Plan skill version: `3.5.6`
7
+ - CC-Plan skill version: `3.7.1`
8
8
  - Requirement ID: `REQ-002`
9
9
  - Design mode: `full-design`
10
10
  - Why not `tiny-design`: the feature crosses import parsing, invite rules, billing limits, duplicate handling, and audit logging
@@ -4,7 +4,7 @@
4
4
 
5
5
  - Requirement version: `REQ-002.v2`
6
6
  - Design version: `design.v2`
7
- - CC-Plan skill version: `3.5.6`
7
+ - CC-Plan skill version: `3.7.1`
8
8
  - Source roadmap item: `RM-010`
9
9
  - Source roadmap version: `roadmap.v2`
10
10
 
@@ -3,7 +3,7 @@
3
3
  "lastSyncedAt": "2026-04-19",
4
4
  "backlogMeta": {
5
5
  "roadmapVersion": "roadmap.v2",
6
- "skillVersion": "4.3.4",
6
+ "skillVersion": "4.4.1",
7
7
  "currentFocusStage": "Stage 2"
8
8
  },
9
9
  "dependencyHandoff": {
@@ -3,7 +3,7 @@
3
3
  ## Backlog Meta
4
4
 
5
5
  - Roadmap version: `roadmap.v2`
6
- - Skill version: `4.3.4`
6
+ - Skill version: `4.4.1`
7
7
  - Last synced: `2026-04-19`
8
8
  - Current focus stage: `Stage 2`
9
9
  - Tracking source: `roadmap-tracking.json`
@@ -4,7 +4,7 @@
4
4
 
5
5
  - Example version: `1.0.0`
6
6
  - Last reviewed: `2026-04-17`
7
- - Bound skills: `cc-roadmap@4.3.4`, `cc-plan@3.5.6`, `cc-do@1.5.2`, `cc-check@1.8.4`, `cc-act@1.6.4`
7
+ - Bound skills: `cc-roadmap@4.4.1`, `cc-plan@3.7.1`, `cc-do@1.6.1`, `cc-check@1.10.1`, `cc-act@1.8.1`
8
8
 
9
9
  This example shows verified work that is **ready to move forward**, but `cc-act` still chooses `local-handoff`.
10
10
 
@@ -3,7 +3,7 @@
3
3
  ## Roadmap Meta
4
4
 
5
5
  - Roadmap version: `roadmap.v3`
6
- - Skill version: `4.3.4`
6
+ - Skill version: `4.4.1`
7
7
  - Status: `active`
8
8
  - Last updated: `2026-04-16`
9
9
  - Owner / decider: `product-owner`
@@ -4,7 +4,7 @@
4
4
 
5
5
  - Requirement version: `REQ-003.v1`
6
6
  - Design version: `design.v1`
7
- - CC-Plan skill version: `3.5.6`
7
+ - CC-Plan skill version: `3.7.1`
8
8
  - Requirement ID: `REQ-003`
9
9
  - Design mode: `tiny-design`
10
10
  - Why this stays `tiny-design`: the patch adds one export action inside the existing admin audit UI without changing data contracts
@@ -4,7 +4,7 @@
4
4
 
5
5
  - Requirement version: `REQ-003.v1`
6
6
  - Design version: `design.v1`
7
- - CC-Plan skill version: `3.5.6`
7
+ - CC-Plan skill version: `3.7.1`
8
8
  - Source roadmap item: `RM-020`
9
9
  - Source roadmap version: `roadmap.v3`
10
10
 
@@ -3,7 +3,7 @@
3
3
  "lastSyncedAt": "2026-04-19",
4
4
  "backlogMeta": {
5
5
  "roadmapVersion": "roadmap.v2",
6
- "skillVersion": "4.3.4",
6
+ "skillVersion": "4.4.1",
7
7
  "currentFocusStage": "Stage 2"
8
8
  },
9
9
  "dependencyHandoff": {
@@ -3,7 +3,7 @@
3
3
  ## Backlog Meta
4
4
 
5
5
  - Roadmap version: `roadmap.v1`
6
- - Skill version: `4.3.4`
6
+ - Skill version: `4.4.1`
7
7
  - Last synced: `2026-04-19`
8
8
  - Current focus stage: `Stage 1`
9
9
  - Tracking source: `roadmap-tracking.json`
@@ -4,7 +4,7 @@
4
4
 
5
5
  - Example version: `1.0.0`
6
6
  - Last reviewed: `2026-04-17`
7
- - Bound skills: `cc-roadmap@4.3.4`, `cc-plan@3.5.6`, `cc-do@1.5.2`, `cc-check@1.8.4`, `cc-act@1.6.4`
7
+ - Bound skills: `cc-roadmap@4.4.1`, `cc-plan@3.7.1`, `cc-do@1.6.1`, `cc-check@1.10.1`, `cc-act@1.8.1`
8
8
 
9
9
  This folder shows one minimal but complete `cc-roadmap -> cc-plan -> cc-do -> cc-check -> cc-act` loop.
10
10
 
@@ -3,7 +3,7 @@
3
3
  ## Roadmap Meta
4
4
 
5
5
  - Roadmap version: `roadmap.v1`
6
- - Skill version: `4.3.4`
6
+ - Skill version: `4.4.1`
7
7
  - Status: `active`
8
8
  - Last updated: `2026-04-15`
9
9
  - Owner / decider: `product-owner`
@@ -4,7 +4,7 @@
4
4
 
5
5
  - Requirement version: `REQ-001.v1`
6
6
  - Design version: `design.v1`
7
- - CC-Plan skill version: `3.5.6`
7
+ - CC-Plan skill version: `3.7.1`
8
8
  - Requirement ID: `REQ-001`
9
9
  - Design mode: `tiny-design`
10
10
  - Why this stays `tiny-design`: the patch is limited to an existing dialog and test file, with no API or data model changes
@@ -9,7 +9,7 @@
9
9
  "sourceRoadmap": {
10
10
  "itemId": "RM-001",
11
11
  "roadmapVersion": "roadmap.v1",
12
- "roadmapSkillVersion": "4.3.4",
12
+ "roadmapSkillVersion": "4.4.1",
13
13
  "sourceStage": "Stage 1",
14
14
  "successSignal": "Users can copy the invite link with one click",
15
15
  "killSignal": "The patch requires backend or permission changes",
@@ -22,7 +22,7 @@
22
22
  ]
23
23
  },
24
24
  "planningMeta": {
25
- "reqPlanSkillVersion": "3.5.6",
25
+ "reqPlanSkillVersion": "3.7.1",
26
26
  "designVersion": "design.v1",
27
27
  "approvedAt": "2026-04-15T10:05:00.000Z",
28
28
  "approvedBy": "user",
@@ -4,7 +4,7 @@
4
4
 
5
5
  - Requirement version: `REQ-001.v1`
6
6
  - Design version: `design.v1`
7
- - CC-Plan skill version: `3.5.6`
7
+ - CC-Plan skill version: `3.7.1`
8
8
  - Source roadmap item: `RM-001`
9
9
  - Source roadmap version: `roadmap.v1`
10
10
 
@@ -3,7 +3,7 @@
3
3
  "lastSyncedAt": "2026-04-19",
4
4
  "backlogMeta": {
5
5
  "roadmapVersion": "roadmap.v1",
6
- "skillVersion": "4.3.4",
6
+ "skillVersion": "4.4.1",
7
7
  "currentFocusStage": "Stage 1"
8
8
  },
9
9
  "dependencyHandoff": {