cc-devflow 4.5.11 → 4.5.12

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 (185) hide show
  1. package/.claude/skills/cc-act/CHANGELOG.md +18 -0
  2. package/.claude/skills/cc-act/PLAYBOOK.md +17 -269
  3. package/.claude/skills/cc-act/SKILL.md +38 -425
  4. package/.claude/skills/cc-act/assets/PROJECT_POSTMORTEM_INDEX_TEMPLATE.md +2 -13
  5. package/.claude/skills/cc-act/assets/PROJECT_POSTMORTEM_TEMPLATE.md +1 -9
  6. package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +21 -177
  7. package/.claude/skills/cc-act/references/closure-contract.md +12 -63
  8. package/.claude/skills/cc-act/references/git-commit-guidelines.md +5 -5
  9. package/.claude/skills/cc-act/scripts/cc-act-common.sh +5 -322
  10. package/.claude/skills/cc-act/scripts/detect-ship-target.sh +11 -2
  11. package/.claude/skills/cc-act/scripts/inspect-git-index.sh +58 -0
  12. package/.claude/skills/cc-act/scripts/render-pr-brief.sh +40 -440
  13. package/.claude/skills/cc-act/scripts/verify-act-gate.sh +10 -50
  14. package/.claude/skills/cc-check/CHANGELOG.md +18 -0
  15. package/.claude/skills/cc-check/PLAYBOOK.md +19 -273
  16. package/.claude/skills/cc-check/SKILL.md +33 -456
  17. package/.claude/skills/cc-check/references/review-contract.md +12 -147
  18. package/.claude/skills/cc-dev/CHANGELOG.md +15 -0
  19. package/.claude/skills/cc-dev/PLAYBOOK.md +1 -1
  20. package/.claude/skills/cc-dev/SKILL.md +52 -137
  21. package/.claude/skills/cc-dev/scripts/resolve-cc-devflow.sh +181 -0
  22. package/.claude/skills/cc-do/CHANGELOG.md +11 -0
  23. package/.claude/skills/cc-do/PLAYBOOK.md +19 -113
  24. package/.claude/skills/cc-do/SKILL.md +39 -245
  25. package/.claude/skills/cc-do/references/execution-recovery.md +15 -109
  26. package/.claude/skills/cc-do/scripts/cc-do-common.sh +5 -57
  27. package/.claude/skills/cc-do/scripts/check-task-status.sh +35 -65
  28. package/.claude/skills/cc-do/scripts/mark-task-complete.sh +9 -46
  29. package/.claude/skills/cc-do/scripts/select-ready-tasks.sh +29 -97
  30. package/.claude/skills/cc-investigate/CHANGELOG.md +16 -0
  31. package/.claude/skills/cc-investigate/PLAYBOOK.md +20 -180
  32. package/.claude/skills/cc-investigate/SKILL.md +64 -246
  33. package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +48 -98
  34. package/.claude/skills/cc-investigate/references/investigation-contract.md +14 -218
  35. package/.claude/skills/cc-next/CHANGELOG.md +6 -0
  36. package/.claude/skills/cc-next/PLAYBOOK.md +12 -8
  37. package/.claude/skills/cc-next/SKILL.md +34 -140
  38. package/.claude/skills/cc-plan/CHANGELOG.md +16 -0
  39. package/.claude/skills/cc-plan/PLAYBOOK.md +22 -161
  40. package/.claude/skills/cc-plan/SKILL.md +45 -295
  41. package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +30 -228
  42. package/.claude/skills/cc-plan/references/planning-contract.md +24 -161
  43. package/.claude/skills/cc-plan/scripts/next-change-key.sh +8 -44
  44. package/.claude/skills/cc-plan/scripts/parse-task-dependencies.js +2 -2
  45. package/.claude/skills/cc-plan/scripts/validate-scope.sh +1 -1
  46. package/.claude/skills/cc-pr-land/SKILL.md +14 -114
  47. package/.claude/skills/cc-pr-review/CHANGELOG.md +4 -0
  48. package/.claude/skills/cc-pr-review/SKILL.md +20 -103
  49. package/.claude/skills/cc-review/CHANGELOG.md +17 -0
  50. package/.claude/skills/cc-review/PLAYBOOK.md +13 -86
  51. package/.claude/skills/cc-review/SKILL.md +53 -241
  52. package/.claude/skills/cc-review/references/e2e-and-plugin-verification.md +2 -2
  53. package/.claude/skills/cc-review/references/implementation-review-branch.md +7 -147
  54. package/.claude/skills/cc-review/references/plan-review-branch.md +5 -147
  55. package/.claude/skills/cc-review/references/review-methods.md +10 -218
  56. package/.claude/skills/cc-review/scripts/collect-review-context.sh +4 -63
  57. package/.claude/skills/cc-roadmap/PLAYBOOK.md +1 -1
  58. package/.claude/skills/cc-roadmap/SKILL.md +3 -3
  59. package/.claude/skills/cc-simplify/CHANGELOG.md +7 -0
  60. package/.claude/skills/cc-simplify/SKILL.md +26 -21
  61. package/.claude/skills/cc-spec-init/PLAYBOOK.md +12 -48
  62. package/.claude/skills/cc-spec-init/SKILL.md +29 -132
  63. package/.claude/skills/cc-spec-init/references/spec-contract.md +8 -17
  64. package/CHANGELOG.md +13 -0
  65. package/bin/cc-devflow-cli.js +20 -260
  66. package/bin/cc-devflow.js +44 -7
  67. package/docs/commands/README.md +1 -1
  68. package/docs/commands/README.zh-CN.md +1 -1
  69. package/docs/examples/README.md +1 -1
  70. package/docs/examples/START-HERE.md +14 -15
  71. package/docs/examples/example-bindings.json +11 -11
  72. package/docs/examples/full-design-blocked/README.md +4 -6
  73. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/{planning/tasks.md → task.md} +20 -15
  74. package/docs/examples/local-handoff/README.md +8 -11
  75. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/pr-brief.md +31 -0
  76. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/{planning/tasks.md → task.md} +18 -13
  77. package/docs/examples/pdca-loop/README.md +6 -9
  78. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +9 -11
  79. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/{planning/tasks.md → task.md} +18 -13
  80. package/docs/examples/scripts/check-example-bindings.sh +11 -62
  81. package/docs/guides/artifact-contract.md +10 -40
  82. package/docs/guides/getting-started.md +8 -8
  83. package/docs/guides/getting-started.zh-CN.md +8 -8
  84. package/docs/guides/minimize-artifacts.md +16 -130
  85. package/docs/guides/project-postmortem.md +14 -71
  86. package/lib/compiler/__tests__/skills-registry.test.js +9 -8
  87. package/lib/compiler/resource-copier.js +29 -0
  88. package/lib/skill-runtime/__tests__/archive-change.test.js +2 -2
  89. package/lib/skill-runtime/__tests__/benchmark-skills.test.js +3 -3
  90. package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +14 -4
  91. package/lib/skill-runtime/errors.js +3 -3
  92. package/lib/skill-runtime/index.js +5 -23
  93. package/lib/skill-runtime/paths.js +5 -52
  94. package/lib/skill-runtime/query-registry.js +4 -4
  95. package/lib/skill-runtime/query.js +89 -201
  96. package/lib/skill-runtime/store.js +4 -40
  97. package/lib/skill-runtime/trace.js +2 -2
  98. package/package.json +2 -5
  99. package/.claude/skills/cc-act/assets/PROJECT_POSTMORTEM_PRINCIPLES_TEMPLATE.md +0 -29
  100. package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +0 -54
  101. package/.claude/skills/cc-act/scripts/generate-status-report.sh +0 -92
  102. package/.claude/skills/cc-act/scripts/sync-act-docs.sh +0 -355
  103. package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +0 -234
  104. package/.claude/skills/cc-check/scripts/render-report-card.js +0 -438
  105. package/.claude/skills/cc-check/scripts/verify-gate.sh +0 -85
  106. package/.claude/skills/cc-do/scripts/build-task-context.sh +0 -175
  107. package/.claude/skills/cc-do/scripts/record-review-decision.sh +0 -88
  108. package/.claude/skills/cc-do/scripts/recover-workflow.sh +0 -82
  109. package/.claude/skills/cc-do/scripts/run-problem-analysis.sh +0 -70
  110. package/.claude/skills/cc-do/scripts/verify-task-gates.sh +0 -109
  111. package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +0 -92
  112. package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +0 -224
  113. package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +0 -178
  114. package/.claude/skills/cc-spec-init/assets/CHANGE_META_TEMPLATE.json +0 -28
  115. package/.claude/skills/cc-spec-init/scripts/validate-spec-links.sh +0 -45
  116. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +0 -234
  117. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +0 -488
  118. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +0 -189
  119. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/resume-index.md +0 -39
  120. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/status.md +0 -29
  121. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +0 -123
  122. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +0 -292
  123. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +0 -136
  124. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/status.md +0 -29
  125. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +0 -124
  126. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +0 -292
  127. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +0 -136
  128. package/docs/get-shit-done-strategy-audit.md +0 -518
  129. package/docs/skill-runtime-migration.md +0 -46
  130. package/lib/skill-runtime/__tests__/approve.test.js +0 -92
  131. package/lib/skill-runtime/__tests__/autopilot.test.js +0 -253
  132. package/lib/skill-runtime/__tests__/benchmark-artifacts.test.js +0 -165
  133. package/lib/skill-runtime/__tests__/delegation.test.js +0 -97
  134. package/lib/skill-runtime/__tests__/dispatch.test.js +0 -237
  135. package/lib/skill-runtime/__tests__/intent.test.js +0 -203
  136. package/lib/skill-runtime/__tests__/lifecycle.test.js +0 -169
  137. package/lib/skill-runtime/__tests__/planner.tdd.test.js +0 -331
  138. package/lib/skill-runtime/__tests__/prepare-pr.test.js +0 -126
  139. package/lib/skill-runtime/__tests__/query.test.js +0 -860
  140. package/lib/skill-runtime/__tests__/readiness.test.js +0 -53
  141. package/lib/skill-runtime/__tests__/release.test.js +0 -85
  142. package/lib/skill-runtime/__tests__/review-check-integration.test.js +0 -148
  143. package/lib/skill-runtime/__tests__/review-records.test.js +0 -619
  144. package/lib/skill-runtime/__tests__/runtime.integration.test.js +0 -351
  145. package/lib/skill-runtime/__tests__/schemas.test.js +0 -337
  146. package/lib/skill-runtime/__tests__/task-contract-migrate.test.js +0 -137
  147. package/lib/skill-runtime/__tests__/task-contract.test.js +0 -874
  148. package/lib/skill-runtime/__tests__/team-state.test.js +0 -51
  149. package/lib/skill-runtime/__tests__/verify-artifacts.test.js +0 -203
  150. package/lib/skill-runtime/__tests__/worker-run.test.js +0 -275
  151. package/lib/skill-runtime/__tests__/worker.test.js +0 -56
  152. package/lib/skill-runtime/__tests__/workflow-context-legacy-fallback.test.js +0 -31
  153. package/lib/skill-runtime/__tests__/workflow-context.test.js +0 -98
  154. package/lib/skill-runtime/artifacts.js +0 -88
  155. package/lib/skill-runtime/context-index.js +0 -545
  156. package/lib/skill-runtime/delegation.js +0 -533
  157. package/lib/skill-runtime/intent.js +0 -309
  158. package/lib/skill-runtime/lifecycle.js +0 -294
  159. package/lib/skill-runtime/operations/CLAUDE.md +0 -19
  160. package/lib/skill-runtime/operations/approve.js +0 -81
  161. package/lib/skill-runtime/operations/autopilot-core.js +0 -337
  162. package/lib/skill-runtime/operations/autopilot-execution.js +0 -307
  163. package/lib/skill-runtime/operations/autopilot-shared.js +0 -48
  164. package/lib/skill-runtime/operations/autopilot.js +0 -163
  165. package/lib/skill-runtime/operations/dispatch.js +0 -416
  166. package/lib/skill-runtime/operations/init.js +0 -60
  167. package/lib/skill-runtime/operations/janitor.js +0 -61
  168. package/lib/skill-runtime/operations/plan.js +0 -59
  169. package/lib/skill-runtime/operations/prepare-pr.js +0 -25
  170. package/lib/skill-runtime/operations/release.js +0 -99
  171. package/lib/skill-runtime/operations/resume.js +0 -126
  172. package/lib/skill-runtime/operations/review-records.js +0 -265
  173. package/lib/skill-runtime/operations/snapshot.js +0 -45
  174. package/lib/skill-runtime/operations/task-contract.js +0 -593
  175. package/lib/skill-runtime/operations/verify.js +0 -170
  176. package/lib/skill-runtime/operations/worker-run.js +0 -531
  177. package/lib/skill-runtime/operations/worker.js +0 -33
  178. package/lib/skill-runtime/planner.js +0 -539
  179. package/lib/skill-runtime/readiness.js +0 -84
  180. package/lib/skill-runtime/review-records.js +0 -123
  181. package/lib/skill-runtime/review.js +0 -855
  182. package/lib/skill-runtime/schemas.js +0 -746
  183. package/lib/skill-runtime/task-contract.js +0 -188
  184. package/lib/skill-runtime/team-state.js +0 -122
  185. package/lib/skill-runtime/workflow-context.js +0 -748
@@ -1,151 +1,9 @@
1
1
  # Plan Review Branch
2
2
 
3
- Use this reference when the review target is a plan, investigation handoff, or mixed branch whose plan contract may be wrong.
3
+ Read:
4
4
 
5
- ## Intake
5
+ 1. `task.md`
6
+ 2. relevant roadmap or issue text
7
+ 3. affected code/tests/docs
6
8
 
7
- Read, in order:
8
-
9
- 1. `planning/design.md` or `planning/analysis.md`
10
- 2. `planning/tasks.md`
11
- 3. `planning/task-manifest.json`
12
- 4. `change-meta.json`
13
- 5. related roadmap/spec/docs/code referenced by the plan
14
-
15
- If no change directory exists, review the user-provided plan text and clearly mark missing durable artifacts.
16
-
17
- ## Review Shape
18
-
19
- First select applicable facets, then create one or more review nodes for each selected facet. Do not load every facet when the plan is small, but do not skip a selected facet merely to keep the answer short.
20
-
21
- For complex plans, assign selected facets to independent read-only reviewers when subagent support is available. Strategy, engineering, design, DX, and TOC reviewers should not share intermediate conclusions; the main thread merges their findings after each reviewer returns.
22
-
23
- ### 1. Strategy Facet
24
-
25
- Use a native strategy review question set:
26
-
27
- - Is this the right problem?
28
- - Is the stated user/business outcome direct or a proxy?
29
- - What happens if we do nothing?
30
- - What does the 12-month ideal look like?
31
- - What existing code or workflow already solves part of this?
32
-
33
- Output:
34
-
35
- ```text
36
- CURRENT -> THIS PLAN -> 12-MONTH IDEAL
37
- ```
38
-
39
- Node examples:
40
-
41
- - `plan.strategy.problem-fit`
42
- - `plan.strategy.outcome-signal`
43
- - `plan.strategy.do-nothing-risk`
44
-
45
- ### 2. Engineering Facet
46
-
47
- Review:
48
-
49
- - component boundaries
50
- - data flow and shadow paths
51
- - state transitions
52
- - security boundaries
53
- - rollback shape
54
- - testability seam
55
- - parallelization risk
56
-
57
- Required diagram for non-trivial plans:
58
-
59
- ```text
60
- Entry -> validate -> transform -> persist -> output
61
- | | | | |
62
- nil invalid exception conflict stale
63
- empty wrong type timeout duplicate partial
64
- ```
65
-
66
- Node examples:
67
-
68
- - `plan.engineering.boundaries`
69
- - `plan.engineering.data-flow`
70
- - `plan.engineering.state-transitions`
71
- - `plan.engineering.testability`
72
-
73
- ### 3. Design Facet
74
-
75
- Run only for user-facing UI or interaction flows.
76
-
77
- Check:
78
-
79
- - first, second, third thing the user sees
80
- - loading / empty / error / success / partial states
81
- - responsive and accessibility intent
82
- - generic UI or AI slop risk
83
- - whether live design review will be needed after implementation
84
-
85
- Node examples:
86
-
87
- - `plan.design.primary-flow`
88
- - `plan.design.states`
89
- - `plan.design.responsive-accessibility`
90
-
91
- ### 4. DX Facet
92
-
93
- Run only for API, CLI, SDK, package, docs, agent skill, MCP, or developer/operator surfaces.
94
-
95
- Check:
96
-
97
- - target developer/operator persona
98
- - time to first value
99
- - install/run/debug/upgrade path
100
- - actionable errors: problem + cause + fix
101
- - copy-paste examples and escape hatches
102
-
103
- Node examples:
104
-
105
- - `plan.dx.first-value`
106
- - `plan.dx.errors`
107
- - `plan.dx.examples`
108
-
109
- ## TOC Root-Cause Pass
110
-
111
- For complex bugs, use:
112
-
113
- 1. Current reality tree: symptoms, causes, enabling conditions.
114
- 2. Conflict diagram: why the obvious fix conflicts with a real need.
115
- 3. Future reality tree: what the proposed fix changes and what it may break.
116
-
117
- If the root cause is not proven, reroute to `cc-investigate`, not `cc-do`.
118
-
119
- Record each TOC pass as a separate node so the review can resume:
120
-
121
- - current reality tree
122
- - conflict diagram
123
- - future reality tree
124
-
125
- ## Code Smell Pass In Planning
126
-
127
- Plans can contain smells before code exists:
128
-
129
- - repeated implementation steps with slight variations
130
- - parallel data sources
131
- - task split by technical layer instead of behavior
132
- - fake abstraction or one-adapter seam
133
- - missing owner for shared state
134
- - hand-wavy "handle edge cases" or "add validation"
135
-
136
- Each planning smell must become a plan finding and route to `cc-plan`.
137
-
138
- ## Output Requirements
139
-
140
- Record in `review-ledger.jsonl` and render on-demand Markdown when a human report is needed:
141
-
142
- - plan review nodes checked, skipped, or blocked
143
- - plan reviewer agents used or fallback reason
144
- - plan artifacts read
145
- - strategy/engineering/design/DX facets used
146
- - diagrams produced
147
- - in-scope bad smells
148
- - decisions needed
149
- - reroute recommendation
150
-
151
- If any plan facet changes the task list or implementation contract, route to `cc-plan`.
9
+ Find scope, architecture, test-strategy, and ambiguity problems. Report findings in the response only. Do not write review files.
@@ -1,221 +1,13 @@
1
- # CC-Review Methods
1
+ # Review Methods
2
2
 
3
- Use this reference for every `cc-review` run. It defines the shared method library. Load branch-specific references for concrete workflow steps.
3
+ Pick only the methods that match the current risk:
4
4
 
5
- ## Method Selection
5
+ - diff review
6
+ - test-quality review
7
+ - security review
8
+ - performance review
9
+ - API contract review
10
+ - UI/browser review
11
+ - documentation/PR body review
6
12
 
7
- Select every method needed by the current risk and write the selected methods into the `review-started` event in `review-ledger.jsonl`. This table is a routing map, not a cap.
8
-
9
- | Risk | Method |
10
- | --- | --- |
11
- | unclear goal | goal tree |
12
- | repeated symptom | current reality tree |
13
- | hidden tradeoff | conflict diagram |
14
- | uncertain fix impact | future reality tree |
15
- | implementation complexity | logic tree and smell scan |
16
- | UI/runtime mismatch | E2E/plugin verification |
17
- | code quality or simplification risk | cc-simplify reference plus smell scan |
18
- | broad implementation diff | risk-lane review swarm profile |
19
-
20
- ## Review Plan Nodes
21
-
22
- Before findings, create ordered nodes:
23
-
24
- ```text
25
- R001 plan.strategy.outcome
26
- target: planning/design.md
27
- method: goal tree
28
- check: outcome and scope consistency
29
- status: pending
30
-
31
- R002 plan.engineering.data-flow
32
- target: planning/design.md + referenced code
33
- method: engineering facet
34
- check: single truth source and state transitions
35
- status: pending
36
- ```
37
-
38
- Node rules:
39
-
40
- - one node reviews one coherent question, artifact, or changed surface
41
- - every selected method creates at least one node
42
- - every changed file or user-facing surface is assigned to a node or explicitly skipped
43
- - every node has an owner: `main` or a named read-only reviewer
44
- - every node ends as `checked`, `skipped`, or `blocked`
45
- - no finding limit exists while nodes remain pending
46
- - when a prior ledger exists, reuse checked nodes only if their target and dependencies did not change
47
-
48
- ## Independent Reviewer Assignment
49
-
50
- Use subagents to preserve independent context when the host supports them.
51
-
52
- Assignment rules:
53
-
54
- - Assign independent reviewers by facet, not by random file chunks.
55
- - Keep each reviewer packet self-contained: scope, delta, node ids, required artifacts, reference to use, and output schema.
56
- - Do not ask one reviewer to wait for another reviewer result unless the dependency is explicit in `review-ledger.jsonl`.
57
- - Do not assign two reviewers to the same node unless a critical finding needs a second opinion.
58
- - Main thread validates reviewer evidence before final findings.
59
-
60
- Reviewer result states:
61
-
62
- ```text
63
- accepted -> finding has concrete in-scope evidence
64
- merged -> duplicate finding folded into stronger finding
65
- downgraded -> real note but not blocking or confidence too low
66
- rejected -> out-of-scope, stale, speculative, or contradicted by evidence
67
- ```
68
-
69
- Record these states in `review-ledger.jsonl` or on-demand rendered Markdown and preserve raw reviewer output in `review-agent-results.jsonl`.
70
-
71
- ## Risk-Lane Review Swarm Profile
72
-
73
- Use this profile when a broad implementation diff, PR landing review, or mixed review benefits from independent read-only context. The profile is a default decomposition, not a requirement to manufacture findings.
74
-
75
- | Lane | Reviewer question |
76
- | --- | --- |
77
- | intent-regression | Does the diff match the intended behavior without extra behavior drift, broken edge cases, fallback loss, or caller/callee contract drift? |
78
- | security-privacy | Did the diff weaken auth, validation, secret handling, sensitive data boundaries, defaults, or trust of external input? |
79
- | performance-reliability | Did the diff add duplicate work, hot-path cost, missing cleanup, retry storms, ordering races, or brittle failure handling? |
80
- | contracts-coverage | Did the diff miss API/schema/type/config/flag alignment, migration fallout, regression tests, logs, metrics, assertions, or error paths? |
81
-
82
- Small diffs may use one combined reviewer that covers all lanes. Large or multi-surface diffs should assign separate reviewers for the highest-risk lanes when the host supports subagents.
83
-
84
- The main thread owns aggregation:
85
-
86
- - Merge duplicate findings under the clearest evidence.
87
- - Reject style preferences, nits, and speculative concerns with no concrete impact.
88
- - Downgrade low-confidence notes unless they point to critical impact.
89
- - Convert intent-unclear claims into decision questions instead of findings.
90
- - Order final findings by severity, confidence, and current-scope impact.
91
-
92
- ## Stateful Delta Review
93
-
94
- Use git and prior records to avoid repeating stale work:
95
-
96
- 1. Find the previous reviewed SHA from `review-ledger.jsonl`, falling back to legacy `cc-review-ledger.jsonl` or `cc-review-report.md`.
97
- 2. Compare `git diff <previous-sha>...HEAD` when possible.
98
- 3. If no previous SHA exists, compare against the base branch or reviewed artifact timestamps.
99
- 4. Re-review changed nodes and dependent nodes.
100
- 5. Preserve previous clean nodes only when their target content and assumptions are unchanged.
101
-
102
- If git cannot identify the delta, mark the delta source as `unknown` and review the full in-scope surface.
103
-
104
- ## Thinking Tools
105
-
106
- ### Goal Tree
107
-
108
- Use when the plan has too many proposed actions and not enough outcome clarity.
109
-
110
- ```text
111
- GOAL
112
- ├── necessary condition A
113
- │ ├── measurable signal
114
- │ └── blocked by
115
- ├── necessary condition B
116
- └── NOT IN SCOPE
117
- ```
118
-
119
- ### Current Reality Tree
120
-
121
- Use for bugs and recurring failures.
122
-
123
- ```text
124
- SYMPTOM
125
- ├── direct cause
126
- │ └── deeper cause
127
- ├── enabling condition
128
- └── missing control
129
- ```
130
-
131
- ### Conflict Diagram
132
-
133
- Use when two requirements appear incompatible.
134
-
135
- ```text
136
- Objective
137
- ├── Need A -> Want X
138
- └── Need B -> Want not-X
139
- Assumption to break: ...
140
- ```
141
-
142
- ### Future Reality Tree
143
-
144
- Use before recommending a non-trivial redesign.
145
-
146
- ```text
147
- CHANGE
148
- ├── desired effect
149
- ├── possible negative branch
150
- │ └── prevention
151
- └── verification signal
152
- ```
153
-
154
- ### Logic Tree
155
-
156
- Use for implementation reviews.
157
-
158
- ```text
159
- Entry point
160
- ├── path A
161
- │ ├── happy
162
- │ ├── empty
163
- │ └── error
164
- └── path B
165
- ```
166
-
167
- ## Code Smell Taxonomy
168
-
169
- Only report smells inside the current requirement blast radius or smells made worse by the current work.
170
-
171
- | Smell | Review question | Preferred fix shape |
172
- | --- | --- | --- |
173
- | rigidity | Does a small change force unrelated edits? | move decision to one owner |
174
- | duplication | Is the same logic repeated with small variations? | reuse existing helper or make one narrow helper |
175
- | cycle | Do modules know each other's internals? | invert dependency or extract boundary |
176
- | fragility | Can one change break unrelated behavior? | isolate side effects and add focused tests |
177
- | obscurity | Is intent hidden behind clever names or control flow? | rename, split, or make data shape explicit |
178
- | data-clump | Do fields always travel together? | group them into one object/value |
179
- | unnecessary-complexity | Is abstraction solving a hypothetical future? | delete seam or collapse to direct code |
180
-
181
- ## Severity
182
-
183
- - `critical`: ships wrong behavior, data/security risk, silent failure, broken root cause, or impossible verification.
184
- - `important`: likely maintenance, test, UX, DX, performance, or operability problem in current scope.
185
- - `advisory`: good improvement but not required for this change.
186
-
187
- ## Confidence
188
-
189
- - `9-10`: directly verified in code, artifact, command output, UI run, or log.
190
- - `7-8`: strong evidence from nearby patterns and diff.
191
- - `5-6`: plausible but needs confirmation; mark as verify-first.
192
- - `<5`: do not put in main findings unless critical impact.
193
-
194
- ## Decision Questions
195
-
196
- Ask only when a finding requires user judgment. Do not stop the whole review at the first decision unless that answer blocks the next review node.
197
-
198
- Use:
199
-
200
- ```text
201
- D<N> - <decision title>
202
- Evidence: <concrete artifact/path/line/log/UI action>
203
- Risk: <what breaks if ignored>
204
- Recommendation: A because <principle>
205
- Options:
206
- A) <fix now> (recommended) - impact
207
- B) <defer> - impact
208
- C) <skip> - impact
209
- STOP: wait for the user answer before continuing.
210
- ```
211
-
212
- After the node pass, present a decision queue:
213
-
214
- ```text
215
- Decision Queue
216
- ├── D1 scope or architecture decision
217
- ├── D2 user-visible behavior decision
218
- └── D3 test strategy decision
219
- ```
220
-
221
- Then ask decisions one by one. Do not batch unrelated issues inside one decision.
13
+ Each finding needs evidence, impact, recommendation, and route. Do not write process files.
@@ -3,24 +3,10 @@
3
3
  set -euo pipefail
4
4
 
5
5
  # ------------------------------------------------------------
6
- # 收集 cc-review 的增量上下文
6
+ # 收集 cc-review 的 Git 增量上下文,不读取过程文件
7
7
  # ------------------------------------------------------------
8
8
 
9
- change_dir="${1:-}"
10
- base_ref="${2:-origin/main}"
11
-
12
- if [[ -z "$change_dir" ]]; then
13
- echo "Usage: collect-review-context.sh <change-dir> [base-ref]" >&2
14
- exit 2
15
- fi
16
-
17
- review_dir="$change_dir/review"
18
- ledger="$review_dir/review-ledger.jsonl"
19
- legacy_ledger="$review_dir/cc-review-ledger.jsonl"
20
- report="$review_dir/cc-review-report.md"
21
- plan="$review_dir/cc-review-plan.md"
22
- findings="$review_dir/review-findings.json"
23
- legacy_findings="$review_dir/cc-review-findings.json"
9
+ base_ref="${1:-origin/main}"
24
10
 
25
11
  head_sha="$(git rev-parse HEAD)"
26
12
  base_sha=""
@@ -28,60 +14,15 @@ if git rev-parse --verify "$base_ref" >/dev/null 2>&1; then
28
14
  base_sha="$(git merge-base "$base_ref" HEAD)"
29
15
  fi
30
16
 
31
- reviewed_sha=""
32
- ledger_for_read="$ledger"
33
- if [[ ! -f "$ledger_for_read" && -f "$legacy_ledger" ]]; then
34
- ledger_for_read="$legacy_ledger"
35
- fi
36
-
37
- if [[ -f "$ledger_for_read" ]]; then
38
- reviewed_sha="$(
39
- sed -n 's/.*"headSha"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' "$ledger_for_read" |
40
- tail -n 1
41
- )"
42
- fi
43
-
44
- if [[ -z "$reviewed_sha" && -f "$report" ]]; then
45
- reviewed_sha="$(
46
- sed -n 's/.*Reviewed head SHA:[[:space:]]*`\?\([0-9a-f]\{7,40\}\)`\?.*/\1/p' "$report" |
47
- tail -n 1
48
- )"
49
- fi
50
-
51
- diff_base="$base_sha"
52
- if [[ -n "$reviewed_sha" ]] && git rev-parse --verify "$reviewed_sha^{commit}" >/dev/null 2>&1; then
53
- diff_base="$reviewed_sha"
54
- fi
55
-
56
17
  echo "CC_REVIEW_CONTEXT"
57
- echo "change_dir=$change_dir"
58
- echo "review_dir=$review_dir"
59
18
  echo "base_ref=$base_ref"
60
19
  echo "base_sha=${base_sha:-unknown}"
61
- echo "reviewed_sha=${reviewed_sha:-none}"
62
20
  echo "head_sha=$head_sha"
63
- echo "diff_base=${diff_base:-unknown}"
64
-
65
- echo
66
- echo "PRIOR_REVIEW_FILES"
67
- for file in "$ledger" "$findings" "$plan" "$report" "$legacy_ledger" "$legacy_findings"; do
68
- if [[ -f "$file" ]]; then
69
- printf 'present %s\n' "$file"
70
- else
71
- printf 'missing %s\n' "$file"
72
- fi
73
- done
74
21
 
75
22
  echo
76
23
  echo "CHANGED_FILES"
77
- if [[ -n "$diff_base" ]]; then
78
- git diff --name-status "$diff_base...HEAD"
24
+ if [[ -n "$base_sha" ]]; then
25
+ git diff --name-status "$base_sha...HEAD"
79
26
  else
80
27
  git diff --name-status HEAD
81
28
  fi
82
-
83
- if [[ -f "$ledger_for_read" ]]; then
84
- echo
85
- echo "RECENT_LEDGER"
86
- tail -n 20 "$ledger_for_read"
87
- fi
@@ -40,7 +40,7 @@
40
40
 
41
41
  1. 现有 `devflow/roadmap.json` / `devflow/ROADMAP.md` / `devflow/BACKLOG.md`
42
42
  2. `CLAUDE.md`、`README*`、`TODOS.md`
43
- 3. 项目语言和持久决策:`devflow/specs/INDEX.md`、相关 capability specs、当前 roadmap/backlog、历史 `planning/design.md` / `planning/analysis.md`、`change-meta.json`、长期 design decision
43
+ 3. 项目语言和持久决策:`devflow/specs/INDEX.md`、相关 capability specs、当前 roadmap/backlog
44
44
  4. 最近相关 docs / specs / plans
45
45
  5. 最近相关提交、当前工作树状态、正在推进的 requirement
46
46
  6. 现实 forcing functions:deadline、distribution、资源、依赖、当前卡点
@@ -35,7 +35,7 @@ writes:
35
35
  when: "legacy projects are being migrated into devflow/roadmap.json"
36
36
  entry_gate:
37
37
  - "Read current roadmap, backlog, related capability specs, and surrounding repo context before proposing direction."
38
- - "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."
38
+ - "Load cc-devflow native language and durable-decision sources (`devflow/specs/`, current roadmap/backlog, prior `planning/design.md` or `planning/analysis.md`) before naming stages, capabilities, users, or backlog items."
39
39
  - "Confirm this is a project-direction problem, not a single requirement execution problem."
40
40
  - "Run the Project Direction Gate before evidence-maturity routing: classify the user's goal as founder/business, internal company project, hackathon/demo, open-source/research, learning, side project, infrastructure, or recovery."
41
41
  - "Classify planning posture and evidence maturity before selecting the route or forcing questions."
@@ -156,7 +156,7 @@ Builder 模式(hackathon、open-source/research、learning、side-project)
156
156
  2. 先判断这是“项目方向问题”还是“单 requirement 执行问题”。
157
157
  3. 如果输入是多个独立子系统的混合目标,先拆成阶段和 `RM` 候选;不要继续追问某个子系统的实现细节。
158
158
  4. 先做一次上下文扫描,不能跳过现有事实直接写愿景。
159
- 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。
159
+ 5. 先读取 cc-devflow 原生项目语言与持久决策:`devflow/specs/INDEX.md`、相关 capability specs、`devflow/ROADMAP.md`、`devflow/BACKLOG.md`;不存在时静默跳过,但术语或决策冲突必须写进 roadmap。
160
160
  6. 方向没被批准前,不准把 roadmap 偷偷下放成实现任务。
161
161
 
162
162
  ## Context Sweep
@@ -165,7 +165,7 @@ Builder 模式(hackathon、open-source/research、learning、side-project)
165
165
 
166
166
  1. 当前 `devflow/ROADMAP.md` / `devflow/BACKLOG.md` 的主线、版本、已停放事项。
167
167
  2. `devflow/specs/INDEX.md` 与相关 capability specs 的边界、状态、open gaps。
168
- 3. 项目语言 / 决策上下文:`devflow/specs/INDEX.md`、相关 capability specs、当前 roadmap/backlog、历史 `planning/design.md` / `planning/analysis.md`、`change-meta.json` 和长期 design decision。
168
+ 3. 项目语言 / 决策上下文:`devflow/specs/INDEX.md`、相关 capability specs、当前 roadmap/backlog 和长期 design decision。
169
169
  4. `CLAUDE.md`、`README*`、`TODOS.md`、最近相关 docs / specs / plans。
170
170
  5. 最近相关提交、当前分支脏状态、正在进行中的 requirement。
171
171
  6. 真实 forcing functions:deadline、发布窗口、资源上限、依赖、distribution、adoption / trust / delivery 卡点。
@@ -1,5 +1,12 @@
1
1
  # CC-Simplify Skill Changelog
2
2
 
3
+ ## v1.4.2 - 2026-05-13
4
+
5
+ - replace reviewer-agent JSONL findings with short response-only finding lines
6
+ - keep dedupe and confidence rules without requiring JSON schemas or process files
7
+ - clarify that simplify output is a compact report in the response, not a durable JSON document
8
+ - remove old no-op and verification-report wording from simplify output rules
9
+
3
10
  ## v1.4.1 - 2026-05-10
4
11
 
5
12
  - make `cc-simplify` itself the explicit trigger for automatic read-only subagent review in ClaudeCode and Codex environments
@@ -1,7 +1,17 @@
1
1
  ---
2
2
  name: cc-simplify
3
- version: 1.4.1
3
+ version: 1.4.2
4
4
  description: "Use when changed code needs an automatic subagent-backed simplification pass for scope drift, reuse, code quality, efficiency, test quality, and confidence-gated smell fixes before cc-check or cc-act."
5
+ reads:
6
+ - devflow/changes/<change-key>/task.md
7
+ - current Git diff
8
+ writes:
9
+ - path: code changes
10
+ durability: working-tree
11
+ required: false
12
+ - path: test changes
13
+ durability: working-tree
14
+ required: false
5
15
  ---
6
16
 
7
17
  # CC-Simplify
@@ -30,7 +40,7 @@ ONLY FIX CONFIRMED SMELLS. DO NOT BEAUTIFY BY GUESS.
30
40
  - stack signals: `package.json` / `pyproject.toml` / `go.mod` / `Cargo.toml` / etc.
31
41
  - test framework signals: `jest` / `vitest` / `pytest` / `go test` / etc.
32
42
  - scope flags: API / auth / backend / frontend / migration / docs / release
33
- - related `planning/tasks.md` / `change-meta.json` / capability specs
43
+ - related `task.md` / capability specs
34
44
  - already-run verification, if any
35
45
  3. 如果变更跨多个互不相关模块,先按模块分组;不要让一个 cleanup pass 变成大扫除。
36
46
  4. 只审当前 diff 新增或本次改动扩大后的坏味道。历史债只在它阻挡当前交付或被本次 diff 放大时进入清理范围。
@@ -50,7 +60,7 @@ ONLY FIX CONFIRMED SMELLS. DO NOT BEAUTIFY BY GUESS.
50
60
  - 不依赖 repo-local `.codex/agents/*.toml` 自定义 agent 名称来完成核心流程。自定义 agent 可以作为增强,但主流程必须能依赖 Codex 内置 `explorer` / `default` 或宿主内置 subAgent 机制。
51
61
  - 只把只读评审交给智能体;主线程负责最终判断和实际编辑。
52
62
  - 每个智能体拿到同一份完整 diff、相关任务/设计/spec 路径、当前 repo 根目录。
53
- - 智能体不能改文件,只输出结构化 findings
63
+ - 智能体不能改文件,只输出短 findings;不要写报告文件。
54
64
  - 如果当前运行时没有子智能体工具,或工具调用被上层策略禁止,主线程按同样清单顺序执行,并在报告里写 `Agents used: no (subagent tool unavailable)`;不要伪造子智能体结果。
55
65
  - 小 diff 也要尝试启动子智能体;如果资源或宿主限制不适合三路并行,至少启动一个合并维度的只读 reviewer。
56
66
  - 条件 specialist 只在对应 scope 出现时启用;不要为了“完整”启动无关评审。
@@ -66,22 +76,17 @@ ONLY FIX CONFIRMED SMELLS. DO NOT BEAUTIFY BY GUESS.
66
76
  ```text
67
77
  你是 cc-simplify 的只读评审智能体。不要编辑文件。
68
78
  输入:repo root、完整 diff、相关任务/spec 路径、你的评审维度。
69
- 输出:每行一个 JSON finding;没有发现时只输出 NO FINDINGS。
79
+ 输出:每行一个 finding;没有发现时只输出 NO FINDINGS。
70
80
  没有证据的猜测不要输出为 finding。
71
81
  ```
72
82
 
73
- Finding JSONL schema:
83
+ Finding line shape:
74
84
 
75
- ```json
76
- {"severity":"critical|important|minor","confidence":8,"path":"file","line":12,"category":"reuse|scope|quality|efficiency|testing|security|api-contract|release","summary":"...","evidence":"...","fix":"...","fingerprint":"file:12:category","specialist":"name","test_stub":"optional"}
85
+ ```text
86
+ severity | confidence | file:line | category | evidence | fix | route
77
87
  ```
78
88
 
79
- 字段要求:
80
-
81
- - 必填:`severity`、`confidence`、`path`、`category`、`summary`、`evidence`、`fix`、`specialist`
82
- - 可选:`line`、`fingerprint`、`test_stub`
83
- - `confidence` 用 1-10;低于 5 的 finding 不能进入自动修复列表。
84
- - `test_stub` 只给能用一个小测试抓住的问题;架构判断不要伪造测试。
89
+ 字段要求:`severity`、`confidence`、`file:line`、`category`、`evidence`、`fix`、`route`。`confidence` 用 1-10;低于 5 的 finding 不能进入自动修复列表。
85
90
 
86
91
  ### 推荐三个智能体
87
92
 
@@ -93,7 +98,7 @@ Finding JSONL schema:
93
98
 
94
99
  1. 是否遗漏了任务要求。
95
100
  2. 是否多做了未要求功能。
96
- 3. 是否改变行为、边界或 invariant,却没有同步 `change-meta.json` 或 capability spec。
101
+ 3. 是否改变行为、边界或 invariant,却没有同步 `task.md` 或 capability spec。
97
102
  4. 是否把 bug 修复伪装成新需求,或把新需求伪装成 cleanup。
98
103
  5. 是否应该 reroute:
99
104
  - 设计范围变了 -> `cc-plan`
@@ -126,7 +131,7 @@ Finding JSONL schema:
126
131
  2. 热路径膨胀:启动、请求、渲染、轮询、事件处理里新增阻塞工作。
127
132
  3. 重复 IO / 网络 / API 调用、N+1、整文件读取但只需要局部数据。
128
133
  4. missed concurrency:互不依赖的读文件、搜索、请求、验证命令被串行执行。
129
- 5. recurring no-op update:轮询或 reducer 明明没有变化却通知下游。
134
+ 5. redundant update:轮询或 reducer 明明没有变化却通知下游。
130
135
  6. TOCTOU:先检查文件存在再操作;应直接操作并处理错误。
131
136
  7. 内存和生命周期:无界数组/map/cache、listener 未清理、timer 未释放。
132
137
  8. 测试坏味道:
@@ -152,13 +157,13 @@ Finding JSONL schema:
152
157
 
153
158
  ## Phase 3: 汇总和去重 findings
154
159
 
155
- 先解析 JSONL;非 JSON 行丢弃,`NO FINDINGS` 表示该 source 没有发现。
160
+ 先解析 finding lines;`NO FINDINGS` 表示该 source 没有发现。无法定位文件、证据或修复路径的行丢弃。
156
161
 
157
162
  Fingerprint 规则:
158
163
 
159
- 1. 优先使用 finding 自带 `fingerprint`。
160
- 2. 否则用 `{path}:{line}:{category}`。
161
- 3. 没有 `line` 时用 `{path}:{category}:{summary}`。
164
+ 1. 优先用 `{file}:{line}:{category}`。
165
+ 2. 没有 `line` 时用 `{file}:{category}:{evidence}`。
166
+ 3. 证据相同、修复相同的 finding 合并。
162
167
 
163
168
  同一 fingerprint 的 finding 合并:
164
169
 
@@ -221,7 +226,7 @@ Decision:
221
226
 
222
227
  1. **代码事实**:打开对应文件和相邻实现,确认问题真实存在。
223
228
  2. **使用事实**:用 `rg` 查调用方,确认不是 reviewer 缺上下文。
224
- 3. **需求事实**:对照 `planning/tasks.md`、`change-meta.json`、capability spec,确认没有误删必要行为。
229
+ 3. **需求事实**:对照 `task.md`、capability spec,确认没有误删必要行为。
225
230
  4. **验证事实**:明确修复后用什么命令或检查证明没有回归。
226
231
 
227
232
  架构类 finding 还必须过删除测试:想象删除这个模块、helper、wrapper 或 seam。
@@ -283,7 +288,7 @@ Decision:
283
288
  - Verification run:
284
289
  - Next step: `cc-check` / `cc-act` / `cc-plan` / `cc-investigate`
285
290
 
286
- 如果 `cc-simplify` 修改了代码或验证口径,下一步必须回 `cc-check`,不能带旧 report-card 继续 `cc-act`。
291
+ 如果 `cc-simplify` 修改了代码或验证口径,下一步必须回 `cc-check`,不能带旧验证结论继续 `cc-act`。
287
292
 
288
293
  ## Do Not
289
294