create-harness-vibe-coding 0.8.5 → 0.8.7

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 (39) hide show
  1. package/README.md +20 -4
  2. package/package.json +1 -1
  3. package/src/generator.js +30 -11
  4. package/src/index.js +129 -5
  5. package/templates/common/.claude/agents/reflector.md +35 -0
  6. package/templates/common/.claude/agents/verifier.md +5 -3
  7. package/templates/common/.claude/commands/wf-help.md +1 -2
  8. package/templates/common/.claude/skills/subagent-orchestrator/SKILL.md +10 -4
  9. package/templates/common/.claude/skills/wf/SKILL.md +7 -3
  10. package/templates/common/.claude/skills/wf-auto/SKILL.md +59 -107
  11. package/templates/common/.claude/skills/wf-auto-spark/SKILL.md +19 -17
  12. package/templates/common/.claude/skills/wf-max/SKILL.md +40 -21
  13. package/templates/common/.claude/skills/wf-update/SKILL.md +9 -4
  14. package/templates/common/.codex/config.toml +5 -0
  15. package/templates/common/.harness-version +36 -34
  16. package/templates/common/AGENTS.md +26 -25
  17. package/templates/common/CLAUDE.md +10 -9
  18. package/templates/common/Harness/ACCEPTANCE_PROTOCOL.md +12 -4
  19. package/templates/common/Harness/README.md +12 -13
  20. package/templates/common/Harness/WF-AUTO-SPARK.md +18 -1
  21. package/templates/common/Harness/WF-AUTO.md +518 -492
  22. package/templates/common/Harness/WF-MAX.md +284 -232
  23. package/templates/common/Harness/WF.md +47 -29
  24. package/templates/common/Harness/agent-workflow.md +108 -76
  25. package/templates/common/Harness/dispatch.md +96 -95
  26. package/templates/common/Harness/extension.md +1 -1
  27. package/templates/common/Harness/subagents.md +78 -56
  28. package/templates/common/Harness/tasks/_template/ARTIFACTS.md +1 -1
  29. package/templates/common/Harness/tasks/_template/NOTES.md +1 -1
  30. package/templates/common/Harness/tasks/_template/PLAN.md +53 -60
  31. package/templates/common/Harness/tasks/_template/PROGRESS.md +26 -29
  32. package/templates/common/MEMORY.md +26 -29
  33. package/templates/common/SETUP.md +29 -22
  34. package/templates/common/scripts/scan-clean.mjs +80 -41
  35. package/templates/common/scripts/validate-harness.mjs +101 -31
  36. package/templates/common/scripts/wf-remove.mjs +279 -278
  37. package/templates/common/scripts/wf-update-check.mjs +395 -195
  38. package/templates/optional/skills/browser-e2e/.claude/skills/wf-browser/SKILL.md +1 -1
  39. package/templates/optional/skills/browser-e2e/Harness/workflows/browser-e2e.md +57 -21
@@ -1,15 +1,15 @@
1
- # Subagent Orchestration
1
+ # Subagent Orchestration
2
2
 
3
3
  Purpose: coordinate subagents for speed without losing control of scope, evidence, or integration.
4
4
 
5
5
  Use this file when work needs multiple roles, parallel reading, independent review, broad context, repeated failures, or `/wf`.
6
6
 
7
- project files are the only durable communication channel; chat/subagent transcript state is non-authoritative. Important assumptions, decisions, blockers, evidence, and handoffs must be written to `Harness/tasks/<task-id>/PROGRESS.md` and `Harness/tasks/<task-id>/PLAN.md`, the current feature doc, `Harness/MEMORY.md`, or `Harness/memory/*` as appropriate.
8
-
9
- Subagent work is acceptance-driven. Use [AGENT_ISOLATION.md](AGENT_ISOLATION.md)
10
- for role/context isolation and [ACCEPTANCE_PROTOCOL.md](ACCEPTANCE_PROTOCOL.md)
11
- for PRD-GATE, AC-GATE, CONTRACT-GATE, TEST-GATE, VALIDATION-GATE, and
12
- REVIEW-GATE.
7
+ project files are the only durable communication channel; chat/subagent transcript state is non-authoritative. Important assumptions, decisions, blockers, evidence, and handoffs must be written to `Harness/tasks/<task-id>/PROGRESS.md` and `Harness/tasks/<task-id>/PLAN.md`, the current feature doc, `Harness/MEMORY.md`, or `Harness/memory/*` as appropriate.
8
+
9
+ Subagent work is acceptance-driven. Use [AGENT_ISOLATION.md](AGENT_ISOLATION.md)
10
+ for role/context isolation and [ACCEPTANCE_PROTOCOL.md](ACCEPTANCE_PROTOCOL.md)
11
+ for PRD-GATE, AC-GATE, CONTRACT-GATE, TEST-GATE, VALIDATION-GATE, and
12
+ REVIEW-GATE.
13
13
 
14
14
  ## Source Attribution
15
15
 
@@ -54,30 +54,36 @@ Use the installed roster under `.claude/agents/` before inventing ad hoc roles.
54
54
  | `reviewer` | spec compliance, code quality, maintainability, security, missing tests |
55
55
  | `debugger` | reproduced failures, root cause isolation, smallest safe fix |
56
56
  | `verifier` | command execution, real browser/API checks, final evidence |
57
- | `memory-master` | write/consolidate memory entries, dedup, cross-project extraction; dispatched on repeated failures, user corrections, and WF closeout |
58
- | `context-master` | analyze context usage, recommend compression at ~85% window, extract durable session knowledge during closeout |
59
-
60
- ## Acceptance Role Passes
61
-
62
- These are role passes that may be handled by the built-in roster above or by
63
- project-specific agents. They define context boundaries even when no dedicated
64
- agent file exists.
65
-
66
- | Role Pass | Default Agent | Reads | Writes |
67
- | --- | --- | --- | --- |
68
- | PRD Planner | `planner` | user request, memory, research | Mini PRD/task PLAN only |
69
- | Acceptance Agent | `planner` or `test-writer` | PRD, user scenarios, UI requirements | AC section only |
70
- | Contract Agent | `architect` or `test-writer` | PRD, AC, API/schema/UI requirements | UI/API/state contract section only |
71
- | Test Architect | `test-writer` | AC, contracts, test utilities | tests or test plan only |
72
- | Implementer | `implementer` | PRD, AC, contracts, tests, relevant code | assigned implementation write set only |
73
- | Independent Validator | `verifier` | PRD, AC, contracts, running app/API, commands | validation report/evidence only |
74
- | Debugger | `debugger` | failed AC, logs, trace, screenshot, diff | smallest assigned fix set |
75
-
76
- Hard rule: implementer may not be the independent validator for the same AC ID.
57
+ | `reflector` | closeout synthesis, unresolved-risk check, acceptance gate verdict |
58
+ | `memory-master` | write/consolidate memory entries, dedup, cross-project extraction; dispatched on repeated failures, user corrections, and WF closeout |
59
+ | `context-master` | analyze context usage, recommend compression at ~85% window, extract durable session knowledge during closeout |
60
+
61
+ ## Acceptance Role Passes
62
+
63
+ These are role passes that may be handled by the built-in roster above or by
64
+ project-specific agents. They define context boundaries even when no dedicated
65
+ agent file exists.
66
+
67
+ | Role Pass | Default Agent | Reads | Writes |
68
+ | --- | --- | --- | --- |
69
+ | PRD Planner | `planner` | user request, memory, research | Mini PRD/task PLAN only |
70
+ | Acceptance Agent | `planner` or `test-writer` | PRD, user scenarios, UI requirements | AC section only |
71
+ | Contract Agent | `architect` or `test-writer` | PRD, AC, API/schema/UI requirements | UI/API/state contract section only |
72
+ | Test Architect | `test-writer` | AC, contracts, test utilities | tests or test plan only |
73
+ | Implementer | `implementer` | PRD, AC, contracts, tests, relevant code | assigned implementation write set only |
74
+ | Independent Validator | `verifier` | PRD, AC, contracts, running app/API, commands | validation report/evidence only |
75
+ | Cross Review | `reviewer` | PRD, AC, contracts, diff, tests, validation evidence | spec/AC and code/architecture/test findings only |
76
+ | Reflector | `reflector` | validation evidence, reviewer findings, risks, decisions | final PASS/RETURN_TO_DEBUG/BLOCKED verdict only |
77
+ | Debugger | `debugger` | failed AC, logs, trace, screenshot, diff | smallest assigned fix set |
78
+
79
+ Hard rule: implementer may not be the independent validator for the same AC ID.
77
80
 
78
81
  ## WF Default Fan-Out
79
82
 
80
- Explicit `/wf`, `wf mode`, `workflow mode`, or `wk mode` requires at least 3 distinct agents from `.claude/agents/` before second planning.
83
+ Explicit `/wf`, `wf mode`, `workflow mode`, or `wk mode` requires complete
84
+ role-chain coverage from `.claude/agents/` before closeout: plan,
85
+ research/docs research as needed, architecture, test, implement, independent
86
+ validation, cross-review, reflector, and accept.
81
87
 
82
88
  Default starter set:
83
89
 
@@ -89,13 +95,14 @@ Then add phase-specific agents:
89
95
 
90
96
  - `test-writer` before implementation
91
97
  - `implementer` for the serial write lane
92
- - `reviewer` for spec and code-quality gates
98
+ - `reviewer` for independent spec/AC and code/architecture/test gates
93
99
  - `debugger` after a reproduced verification failure
94
- - `verifier` for final command/browser/API evidence
100
+ - `verifier` for command/browser/API evidence and AC matrix
101
+ - `reflector` after cross-review to decide whether final acceptance may proceed
95
102
  - `context-master` before closeout for knowledge extraction
96
103
  - `memory-master` after repeated failures and during closeout for consolidation
97
104
 
98
- Collaboration mode is determined by concrete conditions, not a fixed ratio. See `Harness/WF.md#Multi-Subagent Requirement` for the full decision tree. Summary: explicit WF/WK mode always multi-agent. 3+ files or cross-layer multi-agent. 1-2 local files, well-understood, not in WF mode solo acceptable. Repeated failure stop solo, switch to multi-agent.
105
+ Collaboration mode is determined by concrete conditions, not a fixed ratio. See `Harness/WF.md#Complete Role Chain Requirement` for the full decision tree. Summary: explicit WF/WK mode always uses the complete role chain. 3+ files or cross-layer work uses multi-agent orchestration. 1-2 local files, well-understood, not in WF mode can be solo. Repeated failure stops solo work and switches to multi-agent.
99
106
 
100
107
  ## Efficiency Ladder
101
108
 
@@ -106,11 +113,24 @@ Choose the cheapest coordination level that is safe.
106
113
  | Solo pass | one file, low risk, clear intent | no subagent |
107
114
  | Single reviewer | small change with meaningful risk | implement, then reviewer |
108
115
  | Parallel read-only | broad reading, research, architecture, multiple independent failures | 2-3 read-only agents |
109
- | Serial build lane | normal feature or fix | acceptance/contract -> test-writer -> implementer -> independent validator -> reviewers |
110
- | Isolated lanes | disjoint write sets or competing approaches | separate worktrees, then review and merge |
111
- | Max parallelism | 5+ disjoint files, fan-out benefit > coordination cost | /wf max: write-set coloring -> wave dispatch -> parallel review |
112
-
113
- Default for automatic WF triggers: 3-5 active read-only agents before second planning. For explicit WF/WK mode, never use the solo pass unless subagents are unavailable; use bounded role passes as the recorded fallback.
116
+ | Serial build lane | normal feature or fix | acceptance/contract -> test-writer -> implementer -> verifier evidence -> cross-review -> reflector -> acceptance |
117
+ | Isolated lanes | disjoint write sets or competing approaches | separate worktrees, then review and merge |
118
+ | Max parallelism | 5+ disjoint files, fan-out benefit > coordination cost | /wf max: write-set coloring -> wave dispatch -> parallel review |
119
+
120
+ Max parallelism removes the Harness default cap, not the runtime's physical or
121
+ account cap. For WF-MAX, record the current runtime budget, use native
122
+ subagents first, close completed agents before declaring the pool exhausted,
123
+ then overflow to the other CLI (`claude -p` or `codex exec`) with explicit
124
+ dispatch packets. Generated Harness Codex config defaults to
125
+ `agents.max_threads = 12` and `agents.max_depth = 1`; if that becomes the
126
+ bottleneck, ask the user before raising `agents.max_threads` and keep
127
+ `max_depth = 1` unless recursive delegation is explicitly approved. Do not rely
128
+ on undocumented fork/derive bypasses as stable capacity.
129
+
130
+ Default for automatic WF triggers: 3-5 active read-only agents before second
131
+ planning. For explicit WF/WK mode, never use the solo pass; schedule the
132
+ complete role chain and use bounded role passes as the recorded fallback when
133
+ subagents are unavailable.
114
134
 
115
135
  ## WF Orchestration Shape
116
136
 
@@ -119,12 +139,12 @@ controller intake
119
139
  -> parallel planner/researcher/docs-researcher/architect subagents
120
140
  -> controller synthesis
121
141
  -> second plan with dependencies and write sets
122
- -> acceptance/contract/test-writer
123
- -> implementer
124
- -> independent validator
125
- -> spec reviewer
126
- -> code/architecture reviewer
127
- -> if failed: debugger/fixer -> review -> verify -> loop
142
+ -> acceptance/contract/test-writer
143
+ -> implementer
144
+ -> independent validator
145
+ -> cross-review: spec/AC reviewer + code/architecture/test reviewer
146
+ -> reflector
147
+ -> if failed: debugger/fixer -> verify -> cross-review -> reflector -> loop
128
148
  -> close with evidence
129
149
  ```
130
150
 
@@ -134,19 +154,20 @@ Use this shape for `/wf`, long tasks, multi-file changes, architecture work, mig
134
154
  /wf max orchestration shape:
135
155
  controller intake
136
156
  -> wave 0: max-parallel exploration (4-14 read-only agents)
137
- -> E-GATE: Exploration Gate all questions answered, findings synthesized (per WF-MAX.md)
138
- -> wave 1: architecture 3 parallel architects boundary decisions + interface contract
139
- -> D-GATE: Write Decomposition Gate Dispatch Table + Self-Audit for write-set (MANDATORY, per WF-MAX.md)
157
+ -> E-GATE: Exploration Gate - all questions answered, findings synthesized (per WF-MAX.md)
158
+ -> wave 1: architecture - 3 parallel architects -> boundary decisions + interface contract
159
+ -> D-GATE: Write Decomposition Gate - Dispatch Table + Self-Audit for write-set (MANDATORY, per WF-MAX.md)
140
160
  -> wave 2: N parallel implementers (disjoint file claims, ALL spawned in ONE message)
141
161
  -> wave 2 review: parallel spec/code/security reviewers
142
162
  -> wave 3+: dependent implementers (if any; re-run D-GATE if write-set changed)
143
163
  -> integration verifier
164
+ -> reflector after cross-review
144
165
  -> closeout with evidence
145
166
  ```
146
167
 
147
168
  ## Dispatch Pack
148
169
 
149
- Use the canonical dispatch input and handoff format in `Harness/dispatch.md`. Every subagent dispatch must be self-contained inject only the docs selected by `Harness/README.md` and `Harness/context-loading.md`.
170
+ Use the canonical dispatch input and handoff format in `Harness/dispatch.md`. Every subagent dispatch must be self-contained - inject only the docs selected by `Harness/README.md` and `Harness/context-loading.md`.
150
171
 
151
172
  ## Parallelism Rules
152
173
 
@@ -159,15 +180,16 @@ Use the canonical dispatch input and handoff format in `Harness/dispatch.md`. Ev
159
180
 
160
181
  ## Review Gates
161
182
 
162
- Implementation is not complete until both gates pass:
183
+ Implementation is not complete until cross-review and reflection pass:
163
184
 
164
- 1. **Spec review**: confirms the result matches the user request, PRD, feature doc, acceptance criteria, contracts, and non-goals. Extra features are failures.
165
- 2. **Code-quality review**: checks correctness, maintainability, architecture, tests, security, and integration risk.
166
-
167
- Validation is separate from review. Validator must produce an AC-by-AC result
168
- matrix from running behavior and evidence, not from the implementer's summary.
185
+ 1. **Spec review**: confirms the result matches the user request, PRD, feature doc, acceptance criteria, contracts, and non-goals. Extra features are failures.
186
+ 2. **Code-quality review**: checks correctness, maintainability, architecture, tests, security, and integration risk.
187
+ 3. **Reflector gate**: checks reviewer findings, verifier evidence, unresolved risks, and contradictions; returns PASS, RETURN_TO_DEBUG, or BLOCKED.
188
+
189
+ Validation is separate from review. Validator must produce an AC-by-AC result
190
+ matrix from running behavior and evidence, not from the implementer's summary.
169
191
 
170
- If either reviewer finds issues, the implementer or debugger fixes them and the same gate runs again. Do not move to verifier with open critical/high findings.
192
+ If either reviewer finds issues, the implementer or debugger fixes them and the same gate runs again. Do not move to final acceptance with open critical/high findings or without reflector PASS.
171
193
 
172
194
  ## Subagent Status Handling
173
195
 
@@ -199,9 +221,9 @@ Findings rejected:
199
221
  Conflicts:
200
222
  Decisions:
201
223
  Next write set:
202
- Verification path:
203
- Acceptance/contract traceability:
204
- Residual risk:
224
+ Verification path:
225
+ Acceptance/contract traceability:
226
+ Residual risk:
205
227
  ```
206
228
 
207
229
  Only the synthesis and named files enter main context. Do not replay full subagent conversations.
@@ -1,3 +1,3 @@
1
- # {{TASK_ID}} Artifacts
1
+ # {{TASK_ID}} - Artifacts
2
2
 
3
3
  Optional: screenshots, logs, API responses, links. Create only when evidence is too large for this task's PLAN.md verification table.
@@ -1,3 +1,3 @@
1
- # {{TASK_ID}} Notes
1
+ # {{TASK_ID}} - Notes
2
2
 
3
3
  Optional: exploration notes, design alternatives, research leads. Create only when notes are too long for this task's PLAN.md.
@@ -1,82 +1,75 @@
1
- # {{TASK_ID}} PLAN
2
-
3
- Task-level implementation plan and evidence. Main agent writes after second planning; implementer reads before coding.
4
-
1
+ # {{TASK_ID}} - PLAN
2
+
3
+ Compact task record. Keep only facts needed to resume, review, and verify.
4
+ Link files or command names instead of pasting logs or subagent transcripts.
5
+
6
+ > Task ID: kebab-case, under 60 chars. Directory name = task ID.
7
+
5
8
  ## Goal
6
9
 
7
- ## Mini PRD
10
+ - Outcome:
11
+ - Non-goals:
8
12
 
9
- Scope:
10
- -
13
+ ## Decisions
11
14
 
12
- Non-scope:
13
- -
15
+ -
14
16
 
15
- User flow:
16
- 1.
17
+ ## Acceptance
17
18
 
18
- UI elements:
19
- -
19
+ Default: keep 1-3 concise ACs. Expand only for UI/API/security/data-loss,
20
+ cross-module, or other high-risk behavior.
20
21
 
21
- API behavior:
22
- -
22
+ - AC-001:
23
23
 
24
- ## Acceptance Criteria
24
+ Expanded evidence required when triggered:
25
+ - UI/browser-visible: add selector contract and real browser evidence.
26
+ - API/integration: add endpoint/payload/response contract.
27
+ - High-risk behavior: add AC-by-AC validation matrix.
25
28
 
26
- | AC ID | Given / When / Then | Verification | Evidence |
27
- |-------|----------------------|--------------|----------|
28
- | AC-001 | | | |
29
+ ## Scope
29
30
 
30
- ## UI Contract
31
+ Allowed write set:
32
+ -
31
33
 
32
- | Element | Selector / Role | States | AC IDs |
33
- |---------|-----------------|--------|--------|
34
+ Forbidden:
35
+ -
36
+ - Truth files (PRD, ACs, UI/API contracts, test plan, validation report) unless a Change Request is recorded.
34
37
 
35
- ## API Contract
38
+ ## Context
36
39
 
37
- | Endpoint | Method | Payload / Response | AC IDs |
38
- |----------|--------|--------------------|--------|
40
+ - Loaded:
41
+ - Assumptions:
39
42
 
40
- ## Test Plan
43
+ ## Agents
41
44
 
42
- For browser-visible ACs, include real user actions and evidence. Syntax-only checks, import tests, shallow renders, typecheck, lint, and build success are not acceptance evidence for UI behavior.
45
+ Only record agents or bounded passes that materially changed the decision.
46
+
47
+ | Role | Read / Write Set | Result |
48
+ |------|------------------|--------|
43
49
 
44
- | AC ID | Test Level | User Action / API Request | Command / File | Evidence | Status |
45
- |-------|------------|---------------------------|----------------|----------|--------|
46
-
47
- ## Scope
48
-
49
- Allowed write set:
50
- -
51
-
52
- Forbidden:
53
- -
54
- - PRD / acceptance criteria / UI contract / API contract / test plan / validation report unless Change Request is recorded
55
-
56
- ## Loaded Context
57
-
58
- -
59
-
60
- ## Subagent Dispatch
61
-
62
- | Agent | Mode | Read Set | Write Set | Status |
63
- |-------|------|----------|-----------|--------|
64
-
65
- ## Subagent Synthesis
66
-
67
- Agents used:
68
- Findings accepted:
69
- Findings rejected:
70
- Conflicts:
71
- Decisions:
72
- Residual risk:
73
-
74
50
  ## Verification
75
51
 
76
- | Check | Result | Notes |
77
- |-------|--------|-------|
52
+ - [ ]
53
+
54
+ ## Risks
55
+
56
+ -
57
+
58
+ ## Expanded Contracts
59
+
60
+ Use this section only when the Acceptance triggers above apply.
61
+
62
+ ### UI Contract
63
+
64
+ | Element | Selector / Role | States | AC IDs |
65
+ |---------|-----------------|--------|--------|
66
+
67
+ ### API Contract
68
+
69
+ | Endpoint | Method | Payload / Response | AC IDs |
70
+ |----------|--------|--------------------|--------|
78
71
 
79
- ## Acceptance Result
72
+ ### Validation Matrix
80
73
 
81
74
  | AC ID | Result | Evidence | Notes |
82
75
  |-------|--------|----------|-------|
@@ -1,29 +1,26 @@
1
- # {{TASK_ID}} PROGRESS
2
-
3
- Task-level progress and heartbeat. Main agent updates; subagents read only.
4
-
5
- ## Current Goal
6
-
7
- ## Phase
8
-
9
- Current: Intake
10
-
11
- ## Heartbeat
12
-
13
- Last beat:
14
- Current phase: Intake
15
- Current blocker: none
16
- Next beat trigger:
17
- Failure count: 0
18
- Recovery action: none
19
-
20
- ## Tasks
21
-
22
- | # | Task | Owner | Verify | Status |
23
- |---|------|-------|--------|--------|
24
- | 1 | Define goal and scope | main agent | recorded above | Pending |
25
-
26
- ## Agent Handoffs
27
-
28
- | Agent | Role | Context Pack | Result |
29
- |-------|------|-------------|--------|
1
+ # {{TASK_ID}} - PROGRESS
2
+
3
+ Compact heartbeat. Update on phase changes, blockers, failures, and closeout.
4
+ Do not paste logs; record the command/file that proves the state.
5
+
6
+ ## Status
7
+
8
+ - Phase: Intake
9
+ - Next:
10
+ - Blocker: none
11
+
12
+ ## Tasks
13
+
14
+ - [ ] Define goal and scope
15
+
16
+ ## Changes
17
+
18
+ -
19
+
20
+ ## Verification
21
+
22
+ -
23
+
24
+ ## Notes
25
+
26
+ -
@@ -5,37 +5,38 @@
5
5
 
6
6
  ## Agents (Sub-agents)
7
7
 
8
- - [researcher](../.claude/agents/researcher.md) product, market, open-source, dependency, pricing, policy, and ecosystem research.
9
- - [docs-researcher](../.claude/agents/docs-researcher.md) official docs, API, SDK, config, limits, errors, and examples verification.
10
- - [planner](../.claude/agents/planner.md) task split, dependencies, write sets, and dispatch table.
11
- - [architect](../.claude/agents/architect.md) boundaries, ports, data-flow, and state impact.
12
- - [test-writer](../.claude/agents/test-writer.md) failing tests or manual verification before implementation.
8
+ - [researcher](../.claude/agents/researcher.md) - product, market, open-source, dependency, pricing, policy, and ecosystem research.
9
+ - [docs-researcher](../.claude/agents/docs-researcher.md) - official docs, API, SDK, config, limits, errors, and examples verification.
10
+ - [planner](../.claude/agents/planner.md) - task split, dependencies, write sets, and dispatch table.
11
+ - [architect](../.claude/agents/architect.md) - boundaries, ports, data-flow, and state impact.
12
+ - [test-writer](../.claude/agents/test-writer.md) - failing tests or manual verification before implementation.
13
13
  - [tdd-guide](../.claude/agents/tdd-guide.md) - AC-linked RED tests, browser UI acceptance, and Playwright/CDP evidence before implementation.
14
- - [implementer](../.claude/agents/implementer.md) bounded implementation inside declared write set.
15
- - [debugger](../.claude/agents/debugger.md) smallest fix for a reproduced failure.
16
- - [reviewer](../.claude/agents/reviewer.md) read-only diff review and closeout risk.
17
- - [verifier](../.claude/agents/verifier.md) verification commands and evidence.
18
- - [memory-master](../.claude/agents/memory-master.md) memory writing, dedup, consolidation, and cross-project knowledge extraction.
19
- - [context-master](../.claude/agents/context-master.md) context analysis, compression alerts, and session knowledge extraction for memory-master.
20
- - [explore-manager](../.claude/agents/explore-manager.md) — WF-MAX W0 exploration: spawn 5-10 read-only researchers, synthesize, report to CEO.
21
- - [architect-manager](../.claude/agents/architect-manager.md) WF-MAX W1 architecture: spawn 3 architects, synthesize interface contracts, report to CEO.
22
- - [implement-manager](../.claude/agents/implement-manager.md) WF-MAX W2 implementation: spawn 5-7 implementers (one file_claim each), merge, report to CEO.
23
- - [review-manager](../.claude/agents/review-manager.md) WF-MAX W2R review: spawn 3-4 reviewers (spec/code/security/perf), deduplicate, classify severity, report to CEO.
14
+ - [implementer](../.claude/agents/implementer.md) - bounded implementation inside declared write set.
15
+ - [debugger](../.claude/agents/debugger.md) - smallest fix for a reproduced failure.
16
+ - [reviewer](../.claude/agents/reviewer.md) - read-only spec/AC and code/architecture/test review.
17
+ - [verifier](../.claude/agents/verifier.md) - verification commands and AC evidence matrix.
18
+ - [reflector](../.claude/agents/reflector.md) - closeout synthesis, contradiction check, and final acceptance gate verdict.
19
+ - [memory-master](../.claude/agents/memory-master.md) - memory writing, dedup, consolidation, and cross-project knowledge extraction.
20
+ - [context-master](../.claude/agents/context-master.md) - context analysis, compression alerts, and session knowledge extraction for memory-master.
21
+ - [explore-manager](../.claude/agents/explore-manager.md) - WF-MAX W0 exploration: spawn 5-10 read-only researchers, synthesize, report to CEO.
22
+ - [architect-manager](../.claude/agents/architect-manager.md) - WF-MAX W1 architecture: spawn 3 architects, synthesize interface contracts, report to CEO.
23
+ - [implement-manager](../.claude/agents/implement-manager.md) - WF-MAX W2 implementation: spawn 5-7 implementers (one file_claim each), merge, report to CEO.
24
+ - [review-manager](../.claude/agents/review-manager.md) - WF-MAX W2R review: spawn 3-4 reviewers (spec/code/security/perf), deduplicate, classify severity, report to CEO.
24
25
 
25
26
  Stack-specific agents can be added after the product shape is known.
26
27
 
27
28
  ## Skills (Workflows)
28
29
 
29
- - [WF Mode](WF.md) — long-task workflow: exploration, second plan, implementation, review, verification, heartbeat, and recovery loop.
30
- - [wf](../.claude/skills/wf/SKILL.md) Claude Code WF skill command; mirrored for Codex at `../.agents/skills/wf/SKILL.md`.
31
- - [subagent-orchestrator](../.claude/skills/subagent-orchestrator/SKILL.md) controller-led subagent orchestration, parallel read-only passes, review gates, and recovery handoffs.
32
- - [wf-readme](../.claude/skills/wf-readme/SKILL.md) README preservation, append-only development sections, structured tables, and approved architecture diagrams.
33
- - [wf-review](../.claude/skills/wf-review/SKILL.md) cross-model peer review: invoke the other agent CLI (Codex/Claude) for independent review.
34
- - [wf-update](../.claude/skills/wf-update/SKILL.md) GitHub-based incremental harness update, checksum comparison, and safe in-place updates.
35
- - [wf-learn](../.claude/skills/wf-learn/SKILL.md) force memory learning cycle: context-master -> memory-master -> project + global memory.
36
- - [wf-max](../.claude/skills/wf-max/SKILL.md) — maximum-parallelism workflow: write-set coloring, wave dispatch, parallel review per dimension.
30
+ - [WF Mode](WF.md) - complete role chain: plan, research/docs, architecture, test, implement, validation, cross-review, reflector, acceptance.
31
+ - [wf](../.claude/skills/wf/SKILL.md) - Claude Code WF skill command; mirrored for Codex at `../.agents/skills/wf/SKILL.md`.
32
+ - [subagent-orchestrator](../.claude/skills/subagent-orchestrator/SKILL.md) - controller-led subagent orchestration, parallel read-only passes, review gates, and recovery handoffs.
33
+ - [wf-readme](../.claude/skills/wf-readme/SKILL.md) - README preservation, append-only development sections, structured tables, and approved architecture diagrams.
34
+ - [wf-review](../.claude/skills/wf-review/SKILL.md) - cross-model peer review: invoke the other agent CLI (Codex/Claude) for independent review.
35
+ - [wf-update](../.claude/skills/wf-update/SKILL.md) - GitHub-based incremental harness update, checksum comparison, and safe in-place updates.
36
+ - [wf-learn](../.claude/skills/wf-learn/SKILL.md) - force memory learning cycle: context-master -> memory-master -> project + global memory.
37
+ - [wf-max](../.claude/skills/wf-max/SKILL.md) - WF strict superset: complete role chain plus maximum parallelism, current runtime subagents first, cross-CLI overflow when available.
37
38
  - [wf-auto](../.claude/skills/wf-auto/SKILL.md) - perpetual auto-optimization: bounded ticks, 8-angle internal scan, intent checkpoints, evidence ledger.
38
- - [wf-auto-spark](../.claude/skills/wf-auto-spark/SKILL.md) perpetual inspiration mode: external spark search, long-term roadmap with staged milestones, 50% deviation guard.
39
+ - [wf-auto-spark](../.claude/skills/wf-auto-spark/SKILL.md) - perpetual inspiration mode: external spark search, long-term roadmap with staged milestones, <=50% deviation guard.
39
40
  - [tdd](../.claude/skills/tdd/SKILL.md) - acceptance-driven TDD: AC-linked RED tests, real UI clicks for browser-visible behavior, Playwright/CDP evidence, and configured coverage gate.
40
41
  - [wf-remove](../.claude/skills/wf-remove/SKILL.md) - safely remove Harness framework files (SAFE/MODIFIED/USER classes), auto-prune empty directories, backup option.
41
42
 
@@ -47,15 +48,11 @@ Codex repo-skill mirrors live under `../.agents/skills/` with the same skill nam
47
48
 
48
49
  Stack-specific skills can be added after the product shape is known.
49
50
 
50
- - [browser-e2e](workflows/browser-e2e.md)
51
-
52
- Stack-specific skills can be added after the product shape is known.
53
-
54
51
  ## Rules (Harness Constraints)
55
52
 
56
53
  Located under `.claude/rules/ecc/`, auto-loaded by the CC engine:
57
54
 
58
- - [common.md](../.claude/rules/ecc/common.md) universal harness constraints for context loading, verification, subagents, and security (alwaysApply: true)
55
+ - [common.md](../.claude/rules/ecc/common.md) - universal harness constraints for context loading, verification, subagents, and security (alwaysApply: true)
59
56
  - Language-specific rules pending Claude Code initialization (e.g. python.md, typescript.md, etc.)
60
57
 
61
58
  ## Harness (Runtime)
@@ -31,7 +31,7 @@ First clarify the idea, then create Mini PRD, acceptance criteria, UI/API contra
31
31
 
32
32
  ## Required Bootstrap Sequence
33
33
 
34
- Claude must follow this order:
34
+ Claude or Codex must follow this order during bootstrap. This sequence is broader than installation; if the user only asked to install/configure the harness in an existing project, follow the "Existing Project Fast Path" below and stop after the non-strict validator passes.
35
35
 
36
36
  0. **ECC Stack Configuration** — Detect the project's tech stack. If the repo is empty or has no stack markers (`package.json`, `go.mod`, `pyproject.toml`, `Cargo.toml`, `Gemfile`, `composer.json`, `build.gradle`, etc.), ask the user: "What's your tech stack? (language/framework)" Then install the matching ECC rule sets from `~/.claude/rules/ecc/`. See `Harness/ECC-GUIDE.md` for the stack→rules mapping. Minimum: always install `common/`. Verify with `ls .claude/rules/ecc/`.
37
37
  1. Read `CLAUDE.md`, `Harness/MEMORY.md`, `Harness/README.md`, `Harness/lifecycle.md`, and `Harness/ACCEPTANCE_PROTOCOL.md`. Load `Harness/memory/*` only when the router or memory trigger applies.
@@ -45,8 +45,8 @@ Claude must follow this order:
45
45
  9. Implement only after PRD-GATE, AC-GATE, CONTRACT-GATE, and TEST-GATE pass.
46
46
  10. Independently validate with an AC-by-AC result matrix; use `Harness/HARNESS_BRIDGE.md` for browser/API/CDP flows.
47
47
  11. For `/wf-auto` or memory scenario hints, read `Harness/WF-AUTO.md` and `Harness/MEMORY_PROTOCOL.md`; do not enable a background runner by default. The only allowed runtime hook is the optional `/wf-auto` bounded tick hook.
48
- 11. Run `node Harness/scripts/validate-harness.mjs --strict`.
49
- 12. Record final verification and next feedback step in `Harness/tasks/<task-id>/PROGRESS.md`. If repeated tool failures, repeated user corrections, or reusable review/debug lessons appeared, record the concise reflection in the relevant `Harness/memory/` file.
48
+ 12. Run `node Harness/scripts/validate-harness.mjs --strict` after project-fact placeholders are resolved.
49
+ 13. Record final verification and next feedback step in `Harness/tasks/<task-id>/PROGRESS.md`. If repeated tool failures, repeated user corrections, or reusable review/debug lessons appeared, record the concise reflection in the relevant `Harness/memory/` file.
50
50
 
51
51
  ## Install or Upgrade Path
52
52
 
@@ -59,20 +59,25 @@ Before writing, identify the project state:
59
59
  | Legacy architecture or older project docs | Treat existing code/docs as source of truth, dry-run first, then fill PRD, research, architecture, and task plans from observed facts |
60
60
  | Existing `Harness/` | Do not use `npx` as an updater; ask whether to run `/wf-update`, `$wf-update`, `node Harness/scripts/wf-update-check.mjs`, keep untouched, or remove/reinstall after approval |
61
61
 
62
- When adding this harness to a project that already has source code, docs, CI, or tool configuration, treat the existing project as the source of truth before filling harness docs.
63
-
64
- 1. Get the machine-readable install report first with `npx create-harness-vibe-coding@latest <project-name> <target-dir> -y --dry-run --on-conflict skip --json`. Use `scan.markers` and `agent.aiMergeRequired` instead of hand-written root probes for install decisions. Do manual project-fact reading only after the script has created missing Harness files.
65
- 2. Record discovered facts and open questions in `Harness/tasks/<task-id>/PROGRESS.md` before changing harness docs.
66
- 3. Fill `Harness/research/PRD.md`, `Harness/research/research-results.md`, `Harness/architecture.md` from observed project facts plus explicit user input.
62
+ When adding this harness to a project that already has source code, docs, CI, or tool configuration, treat the existing project as the source of truth before filling harness docs.
63
+
64
+ ### Existing Project Fast Path
65
+
66
+ Use this path when the user asks only to install or configure the harness in an existing project. Do not bootstrap PRD, research, architecture, or task capsules unless the user explicitly asks for bootstrap.
67
+
68
+ 1. Get the machine-readable install report first with `npx create-harness-vibe-coding@latest <project-name> <target-dir> -y --dry-run --on-conflict skip --json`. Use `scan.markers` and `agent.aiMergeRequired` instead of hand-written root probes for install decisions. Do manual project-fact reading only after the script has created missing Harness files.
69
+ 2. Run the JSON `agent.safeMergeCommand` to create only missing files.
70
+ 3. Record discovered facts in the final install summary. Create or update task capsules only when bootstrap or multi-step implementation work begins.
67
71
  4. Existing configuration is project fact. Do not overwrite `CLAUDE.md`, `AGENTS.md`, `.claude/`, `.agents/`, `.codex/`, `.gitignore`, settings, package files, CI, docs routers, workflow docs, or installed skills/plugins/rules unless the user explicitly approves that exact overwrite.
68
- 5. When a harness file conflicts with an existing file, preserve the existing file and register any missing harness guidance manually using `Harness/extension.md`.
69
- 6. Run `node Harness/scripts/validate-harness.mjs --strict` after project-fact placeholders have been resolved or intentionally recorded as open. Use the non-strict validator only for early structural checks.
72
+ 5. When a harness file conflicts with an existing file, preserve the existing file and register any missing harness guidance manually using `Harness/extension.md`.
73
+ 6. Run `node Harness/scripts/validate-harness.mjs` as the install-complete gate.
74
+ 7. Defer `node Harness/scripts/validate-harness.mjs --strict` until bootstrap removes project-fact placeholders. If placeholders intentionally remain, report strict validation as deferred rather than treating install as failed.
70
75
 
71
76
  `npx create-harness-vibe-coding` is an install/safe-merge entry, not an update engine for a project that already has an installed Harness. If `Harness/` already exists, use `/wf-update`, `$wf-update`, or `node Harness/scripts/wf-update-check.mjs`; root entry files and user-modified Harness docs require agent-mediated merge decisions.
72
77
 
73
78
  ### Agent-Link Install Intake
74
79
 
75
- When the user installs by pasting the GitHub link into an agent, get the JSON install report before editing or asking generic questions. Summarize `scan.markers`, then ask only questions that affect writes, architecture, security, or workflow. Ask at most three blocking questions up front, record safe defaults for the rest, and ask follow-ups only when that choice becomes active.
80
+ When the user installs by pasting the GitHub link into an agent, get the JSON install report before editing or asking generic questions. Do not fetch full template files or read package source until `agent.aiMergeRequired` names a file that needs semantic comparison. Summarize `scan.markers`, then ask only questions that affect writes, architecture, security, or workflow. Ask at most three blocking questions up front, record safe defaults for the rest, and ask follow-ups only when that choice becomes active.
76
81
 
77
82
  | Topic | Ask When | Default If Unanswered |
78
83
  | --- | --- | --- |
@@ -117,9 +122,9 @@ When `--on-conflict skip` leaves existing files untouched, the script still owns
117
122
  - **[Overwrite]** — Replace with the template version. Optionally backup the original first (`--on-conflict backup`).
118
123
  - **[Keep]** — Leave the existing file as-is. Skip this file.
119
124
 
120
- 4. For Merge: use Edit (not Write) to add missing content. Only insert sections, headings, and text that are structurally required. Do not reorder or modify existing content. Do not remove custom project-specific registrations.
121
-
122
- 5. After all merges, run `node Harness/scripts/validate-harness.mjs --strict` once after project-fact placeholders are resolved. Run the non-strict validator earlier only when you need a quick structural check before bootstrap is complete.
125
+ 4. For Merge: use targeted edits, not a full-file rewrite. In Codex, use `apply_patch` or an equivalent patch operation. Only insert sections, headings, and text that are structurally required. Do not reorder or modify existing content. Do not remove custom project-specific registrations. After merging `CLAUDE.md` or `AGENTS.md`, inspect the heading outline and remove duplicate headings or repeated bullets introduced by the merge.
126
+
127
+ 5. After all install merges, run `node Harness/scripts/validate-harness.mjs`. Run `node Harness/scripts/validate-harness.mjs --strict` only after project-fact placeholders are resolved during bootstrap or release preparation.
123
128
 
124
129
  **File-specific gap checklists:**
125
130
 
@@ -131,12 +136,12 @@ The harness validator checks for specific structural invariants. When comparing
131
136
  | `AGENTS.md` | Root agent entry points to `CLAUDE.md` and `Harness/README.md`; for existing projects, merge only after explicit user consent |
132
137
  | `README.md` | Existing README is project-owned. Preserve by default; ask whether to append only Development notes or run `wf-readme` for a structure pass with tables/diagrams before broad edits |
133
138
  | `Harness/MEMORY.md` | All common agents registered under `## Agents`; all common harness skills registered under `## Skills`; all 3 `Harness/memory/` files registered under `## Memory Folder`; `Harness/memory/` folder usage guidance; `Project Resource Index` in title |
134
- | `.claude/rules/ecc/common.md` | `## Context` section with the durable communication invariant (`project files are the only durable communication channel`); `## Memory` section with three reflection file entries; `## Security` section |
139
+ | `.claude/rules/ecc/common.md` | Required project-local universal rules. Keep it even when global `~/.claude/rules/ecc/common/` exists; that directory and this file have different scopes. Required sections: `## Context` with the durable communication invariant (`project files are the only durable communication channel`); `## Memory` with three reflection file entries; `## Security` |
135
140
  | `Harness/README.md` | `## Keyword Routing` heading; `## Load By Task` table with at minimum the rows: "Need WF mode", "Adding harness to existing project", "Need implementation plan", "Need parallel agents", "Need subagents", "Need durable memory or reflection"; WF routing keywords include `/wf`, `wf mode`, `workflow mode`, and `wk mode`; explicit WF/WK output says subagent docs load immediately; `## Doc Map` with `memory/` and `subagents.md` entries; the durable communication invariant text; `Harness/README.md is the primary router` |
136
- | `Harness/WF.md` | `WF mode requires multi-subagent orchestration by default`; explicit `/wf`, `$wf`, `wf mode`, `workflow mode`, or `wk mode` requires at least 3 distinct role passes before second planning; `collaboration decision tree`; `Heartbeat Protocol` |
141
+ | `Harness/WF.md` | `WF mode requires the complete role chain by default`; explicit `/wf`, `$wf`, `wf mode`, `workflow mode`, or `wk mode` requires plan, research/docs, architecture, test, implement, validation, cross-review, reflector, and acceptance before closeout; `collaboration decision tree`; `Heartbeat Protocol` |
137
142
  | `Harness/extension.md` | `## Non-Invasive Extension Rules` section with the "Preserve existing" rule; `## Agent Contract` section; `## Registration` section |
138
- | `Harness/dispatch.md` | The durable communication invariant; common agent entries for all 9 agents; `## Handoff Format` heading |
139
- | `Harness/context-loading.md` | The durable communication invariant; `Harness/README.md is the primary router`; all 10 subagent context packs (Explorer Pass, Planner, Researcher, Docs Researcher, Architect, Test Writer, Implementer, Reviewer, Debugger, Verifier) |
143
+ | `Harness/dispatch.md` | The durable communication invariant; registered common agent entries; `## Handoff Format` heading |
144
+ | `Harness/context-loading.md` | The durable communication invariant; `Harness/README.md is the primary router`; all 12 subagent context packs (Explorer Pass, Planner, Researcher, Docs Researcher, Architect, Test Writer, Implementer, Reviewer, Debugger, Verifier, Memory Master, Context Master) |
140
145
  | `Harness/subagents.md` | `## Source Attribution`; `## Built-in Agent Roster`; `## WF Default Fan-Out`; `Controller Role`; `Efficiency Ladder`; `Review Gates`; `collaboration decision tree`; source markers for `npx skills find`, `dispatching-parallel-agents`, and `subagent-driven-development` |
141
146
  | `Harness/architecture.md` | `## 2. Interface Decoupling`; `## 3. State Design`; `Avoid speculative abstraction`; layer constraints derived from actual project facts |
142
147
  | `Harness/PROGRESS.md` | global task index with Active Task and task history; cross-task decisions |
@@ -146,12 +151,14 @@ The harness validator checks for specific structural invariants. When comparing
146
151
  | `Harness/workflows/browser-e2e.md` (if installed as optional) | `data-testid`, `accessible labels/roles`, and `inputs, buttons, filters, rows, empty/error/loading states` requirement |
147
152
  | `Harness/workflows/ts-react-frontend.md` (if installed as optional) | Same UI selector contract as above |
148
153
 
149
- **Files that do NOT need manual merge when the path does not already exist (auto-created by harness):**
154
+ **Files that do NOT need manual merge when the path does not already exist (auto-created by harness):**
155
+
156
+ The generated file list is authoritative by path, not by stale count labels. Current common scaffolds include WF-MAX manager agents and `tdd-guide`; keep every file created by the scaffold unless a removal workflow explicitly classifies it as safe to remove.
150
157
 
151
158
  - `Harness/memory/tool-usage-reflections.md`, `Harness/memory/user-corrections-preferences.md`, `Harness/memory/agent-lessons-patterns.md` — these are new empty files
152
- - `.claude/agents/*.md` all 9 common agents
159
+ - `.claude/agents/*.md` - all built-in common agent files, including WF-MAX managers and `tdd-guide`
153
160
  - `.claude/skills/*.md` and mirrored `.agents/skills/*.md` — Claude Code and Codex skill adapters over the same Harness docs
154
- - `.claude/rules/ecc/common.md` universal rules (unless the project has custom rules in this file)
161
+ - `.claude/rules/ecc/common.md` - required project-local universal rules. Do not delete this file as a duplicate of a global `~/.claude/rules/ecc/common/` directory; they are different scopes.
155
162
  - `.claude/settings.json` — harness settings
156
163
  - `Harness/WF.md`, `Harness/lifecycle.md`, `Harness/subagents.md`, `Harness/agent-workflow.md`, `Harness/architecture.md` — harness runtime docs
157
164
  - `Harness/research/*.md` — research protocol and templates
@@ -314,5 +321,5 @@ After scaffolding, use the JSON output first. Files in `plan.create[]` were hand
314
321
 
315
322
  1. Read `CLAUDE.md`, `Harness/MEMORY.md`, and `Harness/README.md`.
316
323
  2. Follow the Required Bootstrap Sequence above.
317
- 3. Run `node Harness/scripts/validate-harness.mjs --strict` when done.
324
+ 3. Run `node Harness/scripts/validate-harness.mjs` after install. Run `node Harness/scripts/validate-harness.mjs --strict` after bootstrap resolves project-fact placeholders.
318
325
  4. Delete `Harness/SETUP.md`.