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
@@ -20,16 +20,70 @@
20
20
  ]
21
21
  },
22
22
  "planningMeta": {
23
- "reqPlanSkillVersion": "3.5.6",
23
+ "reqPlanSkillVersion": "3.7.1",
24
24
  "designVersion": "design.v1",
25
25
  "approvedAt": "2026-04-15T12:00:00.000Z",
26
26
  "approvedBy": "user",
27
- "basedOnOption": "Option A"
27
+ "basedOnOption": "Option A",
28
+ "ambiguityGate": {
29
+ "whatScore": 0,
30
+ "whyScore": 0,
31
+ "blockingThreshold": 3,
32
+ "status": "pass",
33
+ "assumptionsPreview": [],
34
+ "blockedQuestions": []
35
+ },
36
+ "reviewLoop": {
37
+ "attempt": 1,
38
+ "maxAttempts": 3,
39
+ "repeatedConcernFingerprints": [],
40
+ "stallReason": "",
41
+ "rerouteIfStalled": "ask-user"
42
+ }
43
+ },
44
+ "sourceEvidence": [
45
+ {
46
+ "source": "planning/design.md",
47
+ "trust": "internal-contract",
48
+ "useAs": "contract",
49
+ "instructionRisk": "low",
50
+ "decision": "authoritative for this requirement"
51
+ }
52
+ ],
53
+ "languageAndDecisions": {
54
+ "languageSources": [],
55
+ "canonicalTerms": [],
56
+ "languageConflicts": [],
57
+ "decisionDocs": [],
58
+ "adrOrSpecConflicts": [],
59
+ "externalDocConflicts": {
60
+ "autoResolved": [],
61
+ "competing": [],
62
+ "unresolved": []
63
+ }
28
64
  },
29
65
  "executionDiscipline": {
30
66
  "default": "red-green-refactor",
67
+ "taskShape": "vertical-tracer-bullets",
31
68
  "testFirstRequired": true,
32
69
  "testFrameworkSource": "",
70
+ "testQualityPolicy": {
71
+ "publicInterfaceRequired": true,
72
+ "behaviorAssertionRequired": true,
73
+ "mockBoundary": "system-boundaries-only",
74
+ "implementationDetailTests": "blocked",
75
+ "feedbackLoopPreference": [
76
+ "automated-test",
77
+ "http-curl",
78
+ "cli-fixture",
79
+ "browser-script",
80
+ "trace-replay",
81
+ "throwaway-harness",
82
+ "property-fuzz",
83
+ "differential-loop",
84
+ "hitl-script"
85
+ ]
86
+ },
33
87
  "regressionTestsRequired": [],
34
88
  "tddExceptions": []
35
89
  },
@@ -67,6 +121,26 @@
67
121
  "phase": 1,
68
122
  "status": "pending",
69
123
  "tddPhase": "red",
124
+ "verticalSlice": "Slice 1",
125
+ "testSeam": {
126
+ "entry": "public interface / caller flow / CLI / API / UI / trace replay / harness",
127
+ "behaviorAsserted": "The user or caller observable behavior that should exist",
128
+ "implementationDetailRisk": "low"
129
+ },
130
+ "feedbackLoop": {
131
+ "type": "automated-test",
132
+ "determinism": "deterministic",
133
+ "expectedFailure": "Fails because the target behavior is missing"
134
+ },
135
+ "allowedMocks": [
136
+ "external API / time / randomness / filesystem / database boundary"
137
+ ],
138
+ "testQuality": {
139
+ "usesPublicInterface": true,
140
+ "describesBehavior": true,
141
+ "survivesInternalRefactor": true,
142
+ "mocksOnlySystemBoundaries": true
143
+ },
70
144
  "dependsOn": [],
71
145
  "parallel": false,
72
146
  "touches": [
@@ -25,6 +25,28 @@
25
25
  - Inherited non-goals:
26
26
  - Upstream evidence:
27
27
 
28
+ ## Source Trust Boundary
29
+
30
+ - Internal contracts:
31
+ - Repo evidence:
32
+ - External evidence:
33
+ - Untrusted text:
34
+ - Instruction risk:
35
+
36
+ ## Assumptions Preview & Ambiguity Gate
37
+
38
+ - WHAT ambiguity score:
39
+ - WHY ambiguity score:
40
+ - Assumptions preview:
41
+ - Gate verdict: `pass` | `blocked`
42
+ - Blocked question if any:
43
+
44
+ ## External Document Conflicts
45
+
46
+ - Auto-resolved:
47
+ - Competing:
48
+ - Unresolved blockers:
49
+
28
50
  ## Capability Handoff
29
51
 
30
52
  - Canonical capability spec:
@@ -32,6 +54,13 @@
32
54
  - Current gaps:
33
55
  - Spec sync target:
34
56
 
57
+ ## Domain Language & Decisions
58
+
59
+ - Language sources loaded:
60
+ - Canonical terms used:
61
+ - Language / spec decision conflicts:
62
+ - Decisions worth long-term spec sync:
63
+
35
64
  ## Frozen Design Card
36
65
 
37
66
  - Change:
@@ -45,6 +74,14 @@
45
74
 
46
75
  > `tiny-design` 是短设计,不是免设计。没有明确批准状态、验证证据和升级触发条件,就不能继续拆任务。
47
76
 
77
+ ## Interface Shape
78
+
79
+ - Callers:
80
+ - Public operations:
81
+ - Complexity hidden:
82
+ - Misuse risk:
83
+ - Why this stays simple:
84
+
48
85
  ## Implementation Surface Map
49
86
 
50
87
  | Surface | Responsibility | Why here | Coupling risk |
@@ -55,6 +92,11 @@
55
92
 
56
93
  - Test framework source:
57
94
  - First failing test:
95
+ - Test seam / public interface:
96
+ - Behavior asserted:
97
+ - Mock boundary:
98
+ - Feedback loop type:
99
+ - Tracer bullet order:
58
100
  - Green implementation check:
59
101
  - Refactor checkpoint:
60
102
  - TDD exceptions:
@@ -84,12 +126,28 @@
84
126
  - Scope scan:
85
127
  - Ambiguity scan:
86
128
  - Feasibility scan:
129
+ - Domain language scan:
87
130
  - Implementation surface scan:
131
+ - Interface depth scan:
88
132
  - Test framework / regression scan:
133
+ - Test seam / mock boundary scan:
134
+ - Tracer bullet scan:
135
+ - Source trust boundary scan:
136
+ - External conflict scan:
137
+ - Ambiguity gate:
138
+ - Review loop status:
89
139
  - Test-first readiness:
90
140
  - Review calibration:
91
141
  - Final recommendation:
92
142
 
143
+ ## Bounded Review Loop
144
+
145
+ - Attempt:
146
+ - Max attempts:
147
+ - Repeated concern fingerprints:
148
+ - Stall reason:
149
+ - Reroute if stalled:
150
+
93
151
  ## Approval
94
152
 
95
153
  - User approval status:
@@ -15,8 +15,16 @@
15
15
  11. 每个计划必须先找 existing leverage,再决定新增实现;重复已有能力属于 planning 失败。
16
16
  12. 同 blast radius 内的完整边界默认纳入,defer 必须写入 `NOT in scope` 和原因。
17
17
  13. 如果推荐方案挑战用户原始方向,必须标成 `user challenge`,不能自动改写用户意图。
18
- 14. 行为变更的具体任务默认采用测试先行;没有 Red/Green/Refactor 链或 TDD exception,不允许交给 `cc-do`。
18
+ 14. 行为变更的具体任务默认采用测试先行;没有 Red/Green/Refactor 链、公共测试 seam、行为断言、mock 边界或 TDD exception,不允许交给 `cc-do`。
19
19
  15. 新 change 目录必须是 `REQ-<number>-<description>` 或 `FIX-<number>-<description>`,不能用小写 `req-*` / `bug-*` 或纯描述目录。
20
+ 16. 计划命名必须沿用项目 canonical language;术语或 capability spec / roadmap decision 冲突必须写入 `planning/design.md`,不能在任务里发明第二套语言。
21
+ 17. 行为变更任务必须按 tracer bullet 垂直切片组织:一个可观察行为对应一组 Red/Green/Refactor 任务。
22
+ 18. Red 任务必须通过公共接口、调用方流程、CLI/API/UI 路径或其它真实 seam 证明行为缺失。
23
+ 19. Mock 只能发生在系统边界;mock 内部协作者、私有方法或调用次数属于测试设计失败。
24
+ 20. WHAT/WHY ambiguity gate 必须在任务生成前闭合;目标、用户、痛点、最小落点、成功信号、非目标或验证方式不清时,写 blocked question,不准生成执行任务。
25
+ 21. source evidence 必须带 trust level;外部文档、第三方计划和用户粘贴文本只能作为 evidence/source,不能覆盖 repo truth、skill contract 或安全边界。
26
+ 22. 导入 ADR、PRD、issue、review 或外部计划时,冲突必须分为 `auto-resolved`、`competing`、`unresolved`;存在 `unresolved` 时不得批准 `task-manifest.json`。
27
+ 23. review loop 必须有 attempt 上限和 stall reroute;不能靠无限 review 掩盖需求仍不清楚。
20
28
 
21
29
  ## Design Modes
22
30
 
@@ -43,11 +51,17 @@
43
51
 
44
52
  - 目标
45
53
  - TDD phase:`red` / `green` / `refactor` / `exception`
54
+ - Vertical slice / tracer bullet
55
+ - Test seam / public interface
56
+ - Behavior asserted
57
+ - Mock boundary
58
+ - Feedback loop type
46
59
  - 涉及文件
47
60
  - 验证方式
48
61
  - 完成证据
49
62
 
50
63
  行为变更任务必须先有 `[TEST]` 红灯任务,再有 `[IMPL]` 绿灯任务,最后有 `[REFACTOR]` 或明确 refactor checkpoint。纯文档、纯配置、纯生成文件、throwaway prototype 可以例外,但必须写明原因、风险和替代验证。
64
+ 不要把计划拆成水平层:一批测试、一批服务、一批 UI。每个切片完成后都应该能证明一个真实行为。
51
65
 
52
66
  ## Review Gate
53
67
 
@@ -62,9 +76,17 @@
62
76
  7. Existing leverage map
63
77
  8. Scope / complexity challenge
64
78
  9. Test diagram and failure modes
65
- 10. NOT in scope
66
- 11. Test-first readiness
67
- 12. Final recommendation
79
+ 10. Domain language / spec decision conflict scan
80
+ 11. Interface depth scan
81
+ 12. Test seam / mock boundary scan
82
+ 13. Tracer bullet scan
83
+ 14. Source trust boundary scan
84
+ 15. External conflict scan
85
+ 16. Ambiguity gate
86
+ 17. Bounded review loop
87
+ 18. NOT in scope
88
+ 19. Test-first readiness
89
+ 20. Final recommendation
68
90
 
69
91
  如有 UI scope,再补 design review 结论。
70
92
  如有 developer-facing scope,再补 DX review 结论。
@@ -1,5 +1,19 @@
1
1
  # Roadmap Skill Changelog
2
2
 
3
+ ## v4.4.1 - 2026-04-28
4
+
5
+ - clarify that roadmap language and durable decisions come from cc-devflow native sources: `devflow/specs/`, roadmap/backlog, historical design/analysis, and change metadata
6
+ - remove external context/architecture-decision files from the standard roadmap contract so non-native documentation ecosystems stay optional rather than canonical
7
+ - update roadmap/backlog templates and dialogue prompts to route durable decisions into capability spec deltas, roadmap decision notes, and downstream design handoff
8
+
9
+ ## v4.4.0 - 2026-04-28
10
+
11
+ - absorb strategic grilling discipline into roadmap work: one route-changing question at a time, recommended answer with evidence, and no user question when repo evidence can answer
12
+ - require domain language and durable decision scans before naming stages, capabilities, roadmap items, or backlog handoffs
13
+ - add language / spec decision conflict gates so route recommendations expose terminology and decision drift instead of creating a second conceptual system
14
+ - update roadmap and backlog templates with domain-language and durable-decision handoff sections for downstream `cc-plan`
15
+ - update tracking template skill version to match the enhanced roadmap contract
16
+
3
17
  ## v4.3.4 - 2026-04-28
4
18
 
5
19
  - add planning posture and evidence maturity routing so roadmap questions match idea, user, paying, infra, or recovery contexts
@@ -19,6 +19,7 @@
19
19
  7. 多个独立子系统混在一个目标里时,先拆阶段和 `RM` 候选,不要继续追问实现细节。
20
20
  8. 先判断 planning posture 和 evidence maturity,再决定追问哪些问题;不要用同一套问题硬套 idea、已有用户、付费客户、infra 和 recovery 场景。
21
21
  9. developer-facing / operator-facing 路线必须写清 target user、time to first value、magic moment 和 adoption bottleneck。
22
+ 10. 先对齐 `devflow/specs/`、roadmap/backlog 和历史 design decision,再命名 stage、capability、RM 和 backlog;术语或决策冲突必须成为显式路线风险。
22
23
 
23
24
  ## Local Kit
24
25
 
@@ -37,12 +38,13 @@
37
38
 
38
39
  1. 现有 `devflow/ROADMAP.md` / `devflow/BACKLOG.md`
39
40
  2. `CLAUDE.md`、`README*`、`TODOS.md`
40
- 3. 最近相关 docs / specs / plans
41
- 4. 最近相关提交、当前工作树状态、正在推进的 requirement
42
- 5. 现实 forcing functions:deadline、distribution、资源、依赖、当前卡点
43
- 6. planning posturestartup / internal / hackathon / OSS / research / learning / side-project / infrastructure
44
- 7. evidence maturityidea / has users / paying users / internal sponsor / infra-only / recovery
45
- 8. developer / operator adoption 线索:目标人、first success path、TTHW / time to first value、debug / upgrade 卡点
41
+ 3. 项目语言和持久决策:`devflow/specs/INDEX.md`、相关 capability specs、当前 roadmap/backlog、历史 `planning/design.md` / `planning/analysis.md`、`change-meta.json`、长期 design decision
42
+ 4. 最近相关 docs / specs / plans
43
+ 5. 最近相关提交、当前工作树状态、正在推进的 requirement
44
+ 6. 现实 forcing functionsdeadline、distribution、资源、依赖、当前卡点
45
+ 7. planning posturestartup / internal / hackathon / OSS / research / learning / side-project / infrastructure
46
+ 8. evidence maturity:idea / has users / paying users / internal sponsor / infra-only / recovery
47
+ 9. developer / operator adoption 线索:目标人、first success path、TTHW / time to first value、debug / upgrade 卡点
46
48
 
47
49
  先把这些材料压成 `Context Snapshot`,再追问用户。
48
50
 
@@ -63,7 +65,7 @@
63
65
  8. 当前最大的 adoption / trust / delivery 卡点是什么
64
66
  9. 成功与失败的判断信号是什么
65
67
 
66
- 第一轮答案之后做 framing check:术语是否具体、用户是否可命名、pain 是否来自真实行为、status quo 是否明确、需求证据是否强过“感兴趣”。如果答案虚,先收紧问题,不要急着定路线。
68
+ 第一轮答案之后做 framing check:术语是否具体、是否沿用项目 canonical language、用户是否可命名、pain 是否来自真实行为、status quo 是否明确、需求证据是否强过“感兴趣”。如果答案虚,先收紧问题,不要急着定路线。
67
69
 
68
70
  ## Evidence-Maturity Routing
69
71
 
@@ -146,6 +148,7 @@
146
148
  6. 本次版本相比上一版到底改了什么
147
149
  7. 问题路由是否匹配 planning posture / evidence maturity
148
150
  8. developer-facing / operator-facing item 是否能说明 first value 为什么会发生
151
+ 9. stage / RM / capability 命名是否沿用项目语言,或明确记录了需要重开的 language / spec / roadmap decision 冲突
149
152
 
150
153
  ## Versioning
151
154
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cc-roadmap
3
- version: 4.3.4
3
+ version: 4.4.1
4
4
  description: "Use when defining, resetting, or narrowing project direction, stage order, or backlog priority before a concrete requirement enters the PDCA loop."
5
5
  triggers:
6
6
  - "帮我定路线图"
@@ -31,6 +31,7 @@ writes:
31
31
  when: "roadmap/backlog tracking is maintained through bundled helper scripts"
32
32
  entry_gate:
33
33
  - "Read current roadmap, backlog, related capability specs, and surrounding repo context before proposing direction."
34
+ - "Load cc-devflow native language and durable-decision sources (`devflow/specs/`, current roadmap/backlog, prior `planning/design.md` or `planning/analysis.md`, and `change-meta.json`) before naming stages, capabilities, users, or backlog items."
34
35
  - "Confirm this is a project-direction problem, not a single requirement execution problem."
35
36
  - "Classify planning posture and evidence maturity before selecting the route or forcing questions."
36
37
  - "If the ask contains multiple independent subsystems, decompose them into stages and RM candidates before refining any implementation detail."
@@ -114,7 +115,8 @@ tool_budget:
114
115
  2. 先判断这是“项目方向问题”还是“单 requirement 执行问题”。
115
116
  3. 如果输入是多个独立子系统的混合目标,先拆成阶段和 `RM` 候选;不要继续追问某个子系统的实现细节。
116
117
  4. 先做一次上下文扫描,不能跳过现有事实直接写愿景。
117
- 5. 方向没被批准前,不准把 roadmap 偷偷下放成实现任务。
118
+ 5. 先读取 cc-devflow 原生项目语言与持久决策:`devflow/specs/INDEX.md`、相关 capability specs、`devflow/ROADMAP.md`、`devflow/BACKLOG.md`、历史 `planning/design.md` / `planning/analysis.md` 和 `change-meta.json`;不存在时静默跳过,但术语或决策冲突必须写进 roadmap
119
+ 6. 方向没被批准前,不准把 roadmap 偷偷下放成实现任务。
118
120
 
119
121
  ## Context Sweep
120
122
 
@@ -122,13 +124,14 @@ tool_budget:
122
124
 
123
125
  1. 当前 `devflow/ROADMAP.md` / `devflow/BACKLOG.md` 的主线、版本、已停放事项。
124
126
  2. `devflow/specs/INDEX.md` 与相关 capability specs 的边界、状态、open gaps。
125
- 3. `CLAUDE.md`、`README*`、`TODOS.md`、最近相关 docs / specs / plans
126
- 4. 最近相关提交、当前分支脏状态、正在进行中的 requirement
127
- 5. 真实 forcing functions:deadline、发布窗口、资源上限、依赖、distribution、adoption / trust / delivery 卡点。
128
- 6. 当前项目最强的现实证据,以及仍然只能靠假设的空白。
129
- 7. Planning posture:startup / internal / hackathon / OSS / research / learning / side-project / infrastructure。
130
- 8. Evidence maturityidea / has users / paying users / internal sponsor / infra-only / recovery
131
- 9. 如果是 developer-facing operator-facing 能力,补齐 target developer/operator、time to first value、magic moment、install / run / debug / upgrade 卡点。
127
+ 3. 项目语言 / 决策上下文:`devflow/specs/INDEX.md`、相关 capability specs、当前 roadmap/backlog、历史 `planning/design.md` / `planning/analysis.md`、`change-meta.json` 和长期 design decision
128
+ 4. `CLAUDE.md`、`README*`、`TODOS.md`、最近相关 docs / specs / plans
129
+ 5. 最近相关提交、当前分支脏状态、正在进行中的 requirement。
130
+ 6. 真实 forcing functions:deadline、发布窗口、资源上限、依赖、distribution、adoption / trust / delivery 卡点。
131
+ 7. 当前项目最强的现实证据,以及仍然只能靠假设的空白。
132
+ 8. Planning posturestartup / internal / hackathon / OSS / research / learning / side-project / infrastructure
133
+ 9. Evidence maturity:idea / has users / paying users / internal sponsor / infra-only / recovery。
134
+ 10. 如果是 developer-facing 或 operator-facing 能力,补齐 target developer/operator、time to first value、magic moment、install / run / debug / upgrade 卡点。
132
135
 
133
136
  先把这些材料压成一个 `Context Snapshot`,再开始追问用户。
134
137
 
@@ -144,7 +147,18 @@ tool_budget:
144
147
  | infra-only | 当前瓶颈、调用方、现有 workaround、复用边界、迁移/回滚约束 | 伪装成用户访谈的问题 |
145
148
  | recovery / trust gap | 事故证据、恢复路径、最小可信修复、停止继续扩张的 kill signal | 新功能愿景 |
146
149
 
147
- 第一轮回答后必须做 framing check:术语是否具体、用户是否可命名、痛点是否有行为证据、status quo 是否真实、需求是否只是兴趣。发现答案虚,要先收紧问题,再谈路线。
150
+ 第一轮回答后必须做 framing check:术语是否具体、是否沿用项目 canonical language、用户是否可命名、痛点是否有行为证据、status quo 是否真实、需求是否只是兴趣。发现答案虚,要先收紧问题,再谈路线。
151
+
152
+ ## Strategic Grilling Protocol
153
+
154
+ `cc-roadmap` 的 brainstorm 不是开放式聊天,而是路线决策树压缩:
155
+
156
+ 1. 一次只推进一个会改变阶段顺序或 backlog 优先级的关键未知点。
157
+ 2. 每个问题必须附带推荐答案、证据来源、以及如果用户反对会改变哪条路线。
158
+ 3. 能从 repo、roadmap/backlog、capability spec、历史 design/analysis、最近提交、真实运行证据里得到答案时,先查证,不问用户。
159
+ 4. 模糊或冲突的术语要压成 canonical term;如果 `devflow/specs/`、roadmap/backlog 或历史 design/analysis 已有定义,路线图必须沿用。
160
+ 5. 每条路线都要用一个具体 scenario 压测:谁在什么约束下,今天如何绕路,Stage 1 完成后哪一步不再发生。
161
+ 6. 硬决策才沉淀:只有 hard to reverse、surprising without context、real trade-off 三者同时成立,才进入 capability spec delta、roadmap decision note 或本次 design decision log。
148
162
 
149
163
  ## Session Protocol
150
164
 
@@ -156,7 +170,7 @@ tool_budget:
156
170
  6. 如果一个方向里有多个可独立交付的子系统,先写清 decomposition:哪些合并为同一阶段,哪些拆成独立 `RM`,为什么。
157
171
  7. 只冻结 1-3 个阶段。每个阶段都必须有 goal、why now、dependencies、exit signal、kill signal、non-goals。
158
172
  8. 把 `RM` 之间的硬依赖压成显式 dependency graph,并标出 parallel-ready wave;不要把“最好按这个顺序做”伪装成 blocker。
159
- 9. backlog 只保留会真的进入下一轮 `cc-plan` 的事项,每项都要带成功信号、下一决策、`Primary Capability`、`Secondary Capabilities`、`Expected Spec Delta`、`Depends On` 与 `Parallel With`。
173
+ 9. backlog 只保留会真的进入下一轮 `cc-plan` 的事项,每项都要带成功信号、下一决策、`Primary Capability`、`Secondary Capabilities`、`Expected Spec Delta`、canonical language handoff、`Depends On` 与 `Parallel With`。
160
174
  10. 用户没批准,不进入 `cc-plan`。
161
175
 
162
176
  ## Route Selection Rule
@@ -194,25 +208,27 @@ tool_budget:
194
208
  7. deadline / team / budget / dependency / distribution 的硬约束是什么
195
209
  8. 当前最大的 adoption、trust、delivery 卡点是什么
196
210
  9. 这个 roadmap 成功与失败各自用什么信号判断
211
+ 10. 当前路线里哪些核心名词已经有 canonical definition,哪些术语仍然冲突或含糊
197
212
 
198
213
  如果这是 developer-facing / operator-facing roadmap,再补 4 件事:
199
214
 
200
- 10. 目标开发者 / 操作者是谁
201
- 11. 从第一次接触到第一次成功输出需要多久
202
- 12. 让他们觉得“这东西真的有用”的 magic moment 是什么
203
- 13. install / run / debug / upgrade / handoff 中哪个环节最可能让 adoption 失败
215
+ 11. 目标开发者 / 操作者是谁
216
+ 12. 从第一次接触到第一次成功输出需要多久
217
+ 13. 让他们觉得“这东西真的有用”的 magic moment 是什么
218
+ 14. install / run / debug / upgrade / handoff 中哪个环节最可能让 adoption 失败
204
219
 
205
220
  ## Approval Gates
206
221
 
207
222
  1. 没有 `Context Snapshot`,不准给路线推荐。
208
223
  2. 没有 planning posture、evidence maturity 和 framing check,不准给路线推荐。
209
- 3. 没有 2-3 条路线对比,不准直接拍脑袋定主线。
210
- 4. 没有 exit signal / kill signal / non-goals,不算阶段冻结。
211
- 5. 没有明确成功信号和下一决策,不准把事项放进 `Ready For Req-Plan`。
212
- 6. developer-facing / operator-facing item 没有 target user、time to first value 或 adoption bottleneck,不准标成 ready。
213
- 7. 没有 `RM dependency graph`parallel-ready wave,不准宣称事项可以并发推进。
214
- 8. 没有独立子系统拆分判断,不准把大而混杂的方向伪装成单一主线。
215
- 9. 没有用户批准,不准把 roadmap item 下放到 `cc-plan`。
224
+ 3. 没有 native language / durable decision scan,不准给路线推荐;如果缺少 `devflow/specs/` 或历史决策材料,写成 `not present`,不要假装已对齐。
225
+ 4. 没有 2-3 条路线对比,不准直接拍脑袋定主线。
226
+ 5. 没有 exit signal / kill signal / non-goals,不算阶段冻结。
227
+ 6. 没有明确成功信号和下一决策,不准把事项放进 `Ready For Req-Plan`。
228
+ 7. developer-facing / operator-facing item 没有 target user、time to first value adoption bottleneck,不准标成 ready
229
+ 8. 没有 `RM dependency graph` 或 parallel-ready wave,不准宣称事项可以并发推进。
230
+ 9. 没有独立子系统拆分判断,不准把大而混杂的方向伪装成单一主线。
231
+ 10. 没有用户批准,不准把 roadmap item 下放到 `cc-plan`。
216
232
 
217
233
  ## Review Loop
218
234
 
@@ -228,6 +244,8 @@ tool_budget:
228
244
  8. Handoff scan:第一批 roadmap item 是否已经自然长成可进入 `cc-plan` 的对象。
229
245
  9. Evidence maturity scan:问题路由是否匹配 idea / user / paying / infra / recovery 状态,还是拿同一套问题硬套所有项目。
230
246
  10. Adoption scan:developer-facing / operator-facing item 是否写清目标人、time to first value、magic moment 和 adoption bottleneck。
247
+ 11. Domain language scan:stage、capability、RM title、backlog handoff 是否沿用项目语言;冲突是否显式交给下一轮决策。
248
+ 12. Durable decision scan:路线是否违背既有 capability spec、roadmap decision 或历史 design decision;如需重开,是否说明为什么值得重开。
231
249
 
232
250
  ## Output
233
251
 
@@ -244,6 +262,7 @@ tool_budget:
244
262
  3. 哪个 signal 说明这一仗赢了
245
263
  4. 哪些 backlog 项已经真的 ready for `cc-plan`
246
264
  5. 哪些 `RM` 必须串行,哪些已经可以并行开会话
265
+ 6. 哪些项目术语 / capability spec / roadmap decision 会随第一批 backlog 传给 `cc-plan`
247
266
 
248
267
  ## Versioning
249
268
 
@@ -285,7 +304,8 @@ tool_budget:
285
304
  2. 没有现实证据时必须明确写成 assumption,而不是偷偷当事实。
286
305
  3. `devflow/ROADMAP.md` 是方向真相源,`devflow/BACKLOG.md` 是进入下一轮规划的缓冲区。
287
306
  4. 决策理由必须保留下来,方便以后重跑时比较版本差异。
288
- 5. 不要为了显得完整而写 6 个阶段,能打赢下一仗比画完整战争图更重要。
307
+ 5. 路线图里的术语必须沿用项目语言;没有 canonical term 时写 assumption,不要创造第二套概念系统。
308
+ 6. 不要为了显得完整而写 6 个阶段,能打赢下一仗比画完整战争图更重要。
289
309
 
290
310
  ## Do Not
291
311
 
@@ -31,6 +31,14 @@
31
31
  - Magic moment:
32
32
  - Adoption bottleneck:
33
33
 
34
+ ## Domain Handoff
35
+
36
+ - Language sources loaded:
37
+ - Canonical terms for next `cc-plan`:
38
+ - Terms to avoid:
39
+ - Capability spec / roadmap decisions to preserve:
40
+ - Language / decision conflicts to resolve:
41
+
34
42
  ## Ready For Req-Plan
35
43
 
36
44
  - RM-001:
@@ -48,6 +56,8 @@
48
56
  - Time to first value:
49
57
  - Magic moment:
50
58
  - Adoption bottleneck:
59
+ - Canonical terms:
60
+ - Capability spec / roadmap context:
51
61
  - Required context to load:
52
62
  - Depends On:
53
63
  - Parallel With:
@@ -33,6 +33,11 @@
33
33
  - Time to first value:
34
34
  - Magic moment:
35
35
  - Install / run / debug / upgrade bottleneck:
36
+ - Language sources loaded:
37
+ - Canonical terms:
38
+ - Language conflicts:
39
+ - Durable decision sources loaded:
40
+ - Spec / roadmap decision conflicts:
36
41
  - Known unknowns:
37
42
  - Relevant capabilities:
38
43
 
@@ -72,6 +77,15 @@
72
77
  - What we refuse to build yet:
73
78
  - 6-12 month pull:
74
79
 
80
+ ## Native Language & Durable Decisions
81
+
82
+ - Canonical terms this roadmap uses:
83
+ - Terms avoided / aliases:
84
+ - Existing capability spec / roadmap decisions preserved:
85
+ - Capability spec / roadmap decisions reopened:
86
+ - Decisions worth capability spec sync:
87
+ - Handoff notes for `cc-plan`:
88
+
75
89
  ## Evidence-Maturity Routing
76
90
 
77
91
  - Planning posture:
@@ -176,6 +190,7 @@ flowchart LR
176
190
  - Rejected path A:
177
191
  - Rejected path B:
178
192
  - Rejected maturity route:
193
+ - Language / spec decision conflicts:
179
194
  - Developer / operator adoption assumptions:
180
195
  - Open assumptions to verify next:
181
196
  - What changed in this version:
@@ -6,7 +6,7 @@
6
6
  "lastSyncedAt": "2026-04-19",
7
7
  "backlogMeta": {
8
8
  "roadmapVersion": "roadmap.v1",
9
- "skillVersion": "4.3.4",
9
+ "skillVersion": "4.4.1",
10
10
  "currentFocusStage": "Stage 1"
11
11
  },
12
12
  "dependencyHandoff": {
@@ -2,23 +2,26 @@
2
2
 
3
3
  ## Order
4
4
 
5
- 0. 先做 `Context Snapshot`:现有 roadmap / backlog、文档、最近提交、forcing functions
5
+ 0. 先做 `Context Snapshot`:现有 roadmap / backlog、capability specs、历史 design/analysis、最近提交、forcing functions、项目语言 / durable decisions
6
6
  1. 用户是谁
7
7
  2. 今天靠什么笨办法活着
8
8
  3. 最强需求证据是什么
9
9
  4. 为什么现在必须解决
10
10
  5. deadline / capacity / dependency / distribution 约束是什么
11
11
  6. 当前最大的 adoption / trust / delivery 卡点是什么
12
- 7. 最窄突破口是什么
13
- 8. 6-12 个月后会长成什么
14
- 9. 给出 2-3 条路线图形状并明确推荐
15
- 10. 冻结 1-3 个阶段,写 exit signal / kill signal / non-goals
16
- 11. 画出 `RM dependency graph`,标出串行主链和 parallel-ready wave
17
- 12. 标出哪些事项真的 ready for `cc-plan`
12
+ 7. 核心术语是否已有 canonical definition,是否和现有 capability spec / roadmap decision 冲突
13
+ 8. 最窄突破口是什么
14
+ 9. 6-12 个月后会长成什么
15
+ 10. 给出 2-3 条路线图形状并明确推荐
16
+ 11. 冻结 1-3 个阶段,写 exit signal / kill signal / non-goals
17
+ 12. 画出 `RM dependency graph`,标出串行主链和 parallel-ready wave
18
+ 13. 标出哪些事项真的 ready for `cc-plan`
18
19
 
19
20
  ## Question Rules
20
21
 
21
22
  - 一次只推进一个关键未知点
23
+ - 每个问题附带推荐答案、证据来源,以及用户反对时会改变哪条路线
24
+ - 能从 repo / capability spec / roadmap / design / git history 得到答案时先查证,不问用户
22
25
  - 没证据时明确写 assumption
23
26
  - 用户没批准前,不把事项偷下放成 requirement
24
27
 
@@ -35,3 +38,4 @@
35
38
  - `RM` 必须带 `Depends On`,并在 roadmap 里显式画出 dependency graph
36
39
  - backlog 只收下一轮真会进入 `cc-plan` 的事项
37
40
  - ready 项必须带成功信号、下一决策、`Depends On`、`Parallel With`
41
+ - ready 项必须带 canonical terms、capability spec context 或明确的 language / decision conflict
@@ -1,5 +1,11 @@
1
1
  # CC-Simplify Skill Changelog
2
2
 
3
+ ## v1.4.0 - 2026-04-28
4
+
5
+ - add deep-module architecture review checks for shallow wrappers, hypothetical seams, and complexity that should move behind a smaller interface
6
+ - require architecture findings to pass a deletion test before cleanup deletes, keeps, or reshapes a module or helper
7
+ - preserve capability invariants and public contracts when evaluating pass-through abstractions
8
+
3
9
  ## v1.3.0 - 2026-04-28
4
10
 
5
11
  - add scope-aware Codex reviewer dispatch with small-diff skip rules and conditional security, API contract, release, frontend performance, and red-team facets
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: cc-simplify
3
- version: 1.3.0
3
+ version: 1.4.0
4
4
  description: "Use when changed code needs a Codex-native simplification pass for scope drift, reuse, code quality, efficiency, test quality, and confidence-gated smell fixes before cc-check or cc-act."
5
5
  ---
6
6
 
@@ -101,6 +101,9 @@ Finding JSONL schema:
101
101
  4. 是否有 parameter sprawl:为了一个场景继续给函数加参数,而不是整理输入对象或拆出职责。
102
102
  5. 是否泄漏抽象边界:调用方知道了内部状态、文件布局、协议细节或测试专用机制。
103
103
  6. 文件是否因为本次改动开始承担多个职责;如果只是历史遗留,不在本轮扩大范围。
104
+ 7. 新增模块是否是浅包装:接口复杂度几乎等于实现复杂度,删除它只是把同样复杂度搬到调用方。
105
+ 8. seam 是否真实:只有一个 adapter 且没有明确第二个调用场景时,先当作 hypothetical seam;不要为了假扩展性制造抽象。
106
+ 9. deep module 机会:如果一个小接口能隐藏大量重复调用顺序、错误处理、配置或状态转换,优先让复杂度集中到该模块,而不是散落在调用方。
104
107
 
105
108
  #### Agent C: Quality / Efficiency / Test Reviewer
106
109
 
@@ -210,6 +213,12 @@ Decision:
210
213
  3. **需求事实**:对照 `planning/tasks.md`、`change-meta.json`、capability spec,确认没有误删必要行为。
211
214
  4. **验证事实**:明确修复后用什么命令或检查证明没有回归。
212
215
 
216
+ 架构类 finding 还必须过删除测试:想象删除这个模块、helper、wrapper 或 seam。
217
+
218
+ - 如果复杂度只是原样散回多个调用方,它可能是有价值的 deep module。
219
+ - 如果复杂度消失或只留下一个直接调用,它多半是 pass-through / fake seam。
220
+ - 如果删除会违反 capability invariant 或 public contract,就不能当作 cleanup 直接删。
221
+
213
222
  如果 reviewer 建议“更专业”的能力,先做 YAGNI 检查:没有调用方、没有需求、没有 acceptance,就不要新增。
214
223
 
215
224
  这些情况不要报成 finding:
@@ -1,5 +1,11 @@
1
1
  # CC-Spec-Init Skill Changelog
2
2
 
3
+ ## v1.1.0 - 2026-04-28
4
+
5
+ - add a language boundary gate for canonical capability terms, aliases to avoid, flagged ambiguity, and relationship constraints
6
+ - require new capability specs to include a minimal language block before registration in `INDEX.md`
7
+ - prevent implementation names from becoming capability truth unless they already represent stable public domain language
8
+
3
9
  ## v1.0.1 - 2026-04-27
4
10
 
5
11
  - require capability specs, spec indexes, and change metadata to resolve the runtime output policy before writing durable artifacts