create-harness-vibe-coding 0.7.2 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README-CN.md +91 -155
  2. package/README.md +200 -177
  3. package/bin/create-harness-vibe-coding.js +2 -2
  4. package/package.json +45 -43
  5. package/src/generator.js +115 -77
  6. package/src/index.js +159 -49
  7. package/src/prompts.js +95 -27
  8. package/templates/common/.claude/agents/architect-manager.md +45 -45
  9. package/templates/common/.claude/agents/context-master.md +77 -77
  10. package/templates/common/.claude/agents/debugger.md +41 -41
  11. package/templates/common/.claude/agents/explore-manager.md +41 -41
  12. package/templates/common/.claude/agents/implement-manager.md +49 -49
  13. package/templates/common/.claude/agents/implementer.md +40 -40
  14. package/templates/common/.claude/agents/memory-master.md +66 -66
  15. package/templates/common/.claude/agents/planner.md +34 -34
  16. package/templates/common/.claude/agents/researcher.md +41 -41
  17. package/templates/common/.claude/agents/review-manager.md +56 -56
  18. package/templates/common/.claude/agents/test-writer.md +38 -38
  19. package/templates/common/.claude/agents/verifier.md +32 -32
  20. package/templates/common/.claude/rules/ecc/common.md +45 -45
  21. package/templates/common/.claude/settings.json +68 -68
  22. package/templates/common/.claude/skills/subagent-orchestrator/SKILL.md +36 -31
  23. package/templates/common/.claude/skills/wf/SKILL.md +36 -0
  24. package/templates/common/.claude/skills/wf-learn/SKILL.md +13 -28
  25. package/templates/common/.claude/skills/wf-max/SKILL.md +24 -88
  26. package/templates/common/.claude/skills/wf-readme/SKILL.md +49 -49
  27. package/templates/common/.claude/skills/wf-remove/SKILL.md +17 -38
  28. package/templates/common/.claude/skills/wf-review/SKILL.md +19 -69
  29. package/templates/common/.claude/skills/wf-update/SKILL.md +19 -61
  30. package/templates/common/.codex/config.toml +2 -2
  31. package/templates/common/.codex/hooks.json +37 -37
  32. package/templates/common/.harness-version +53 -51
  33. package/templates/common/AGENTS.md +30 -30
  34. package/templates/common/CLAUDE.md +94 -94
  35. package/templates/common/{docs/harness → Harness}/PROGRESS.md +17 -17
  36. package/templates/common/{docs → Harness}/README.md +18 -17
  37. package/templates/common/{docs/harness → Harness}/WF-MAX.md +223 -223
  38. package/templates/common/Harness/WF.md +217 -0
  39. package/templates/common/{docs/harness → Harness}/architecture.md +126 -126
  40. package/templates/common/{docs/harness → Harness}/dispatch.md +99 -99
  41. package/templates/common/{docs → Harness}/research/research-results.md +66 -66
  42. package/templates/common/{docs/harness → Harness}/subagents.md +194 -194
  43. package/templates/common/{docs → Harness}/tasks/_template/ARTIFACTS.md +3 -3
  44. package/templates/common/{docs → Harness}/tasks/_template/NOTES.md +3 -3
  45. package/templates/common/{docs → Harness}/tasks/_template/PLAN.md +40 -40
  46. package/templates/common/{docs → Harness}/tasks/_template/PROGRESS.md +29 -29
  47. package/templates/common/MEMORY.md +68 -66
  48. package/templates/common/README.md +44 -37
  49. package/templates/common/SETUP.md +41 -34
  50. package/templates/common/memory/agent-lessons-patterns.md +21 -21
  51. package/templates/common/memory/tool-usage-reflections.md +21 -21
  52. package/templates/common/memory/user-corrections-preferences.md +21 -21
  53. package/templates/common/scripts/scan-clean.mjs +450 -449
  54. package/templates/common/scripts/validate-harness.mjs +56 -34
  55. package/templates/common/scripts/wf-mode-hook.mjs +318 -318
  56. package/templates/common/scripts/wf-remove.mjs +400 -384
  57. package/templates/common/scripts/wf-statusline.ps1 +38 -38
  58. package/templates/common/scripts/wf-statusline.sh +48 -48
  59. package/templates/common/scripts/wf-update-check.mjs +389 -389
  60. package/templates/optional/catalog.json +63 -29
  61. package/templates/optional/skills/browser-e2e/.claude/skills/wf-browser/SKILL.md +194 -194
  62. package/templates/optional/skills/browser-e2e/{docs → Harness}/workflows/browser-e2e.md +75 -75
  63. package/templates/optional/skills/github-pr-review/{docs → Harness}/workflows/github-pr-review.md +28 -28
  64. package/templates/optional/skills/python-backend/{docs → Harness}/workflows/python-backend.md +34 -34
  65. package/templates/optional/skills/ts-react-frontend/{docs → Harness}/workflows/ts-react-frontend.md +35 -35
  66. package/templates/optional/skills/ui-ux-review/{docs → Harness}/workflows/ui-ux-review.md +26 -26
  67. package/templates/common/.claude/commands/wf-learn.md +0 -17
  68. package/templates/common/.claude/commands/wf-max.md +0 -49
  69. package/templates/common/.claude/commands/wf-remove.md +0 -23
  70. package/templates/common/.claude/commands/wf-review.md +0 -25
  71. package/templates/common/.claude/commands/wf-update.md +0 -17
  72. package/templates/common/.claude/commands/wf.md +0 -31
  73. package/templates/common/commands/wf-max.toml +0 -18
  74. package/templates/common/commands/wf-review.toml +0 -15
  75. package/templates/common/docs/harness/WF.md +0 -174
  76. package/templates/optional/skills/browser-e2e/.claude/commands/wf-browser.md +0 -25
  77. /package/templates/common/{docs/harness → Harness}/agent-workflow.md +0 -0
  78. /package/templates/common/{docs/harness → Harness}/context-loading.md +0 -0
  79. /package/templates/common/{docs/harness → Harness}/extension.md +0 -0
  80. /package/templates/common/{docs/harness → Harness}/lifecycle.md +0 -0
  81. /package/templates/common/{docs → Harness}/research/PRD.md +0 -0
  82. /package/templates/common/{docs → Harness}/research/README.md +0 -0
@@ -1,28 +1,28 @@
1
- # GitHub PR Review Workflow
2
-
3
- ## Required Evidence
4
-
5
- - PR URL or number and base/head refs.
6
- - Diff or changed-file summary.
7
- - CI/check status and relevant failing logs.
8
- - Review findings with exact file and line references when available.
9
-
10
- ## Common Commands
11
-
12
- ```powershell
13
- gh pr view --web
14
- gh pr view --json number,title,baseRefName,headRefName,mergeStateStatus,statusCheckRollup
15
- gh pr diff
16
- git diff --stat
17
- npm test
18
- ```
19
-
20
- Use repository-specific test commands when they differ from npm.
21
-
22
- ## Fallback
23
-
24
- If `gh` is unavailable or unauthenticated, use local git refs, remote URLs, and `git diff` against the target branch. Ask for missing PR context only when it cannot be inferred.
25
-
26
- ## Windows Notes
27
-
28
- Quote branch names containing special characters. In PowerShell, pipe JSON output to tools that are available locally, or read it directly if `jq` is not installed.
1
+ # GitHub PR Review Workflow
2
+
3
+ ## Required Evidence
4
+
5
+ - PR URL or number and base/head refs.
6
+ - Diff or changed-file summary.
7
+ - CI/check status and relevant failing logs.
8
+ - Review findings with exact file and line references when available.
9
+
10
+ ## Common Commands
11
+
12
+ ```powershell
13
+ gh pr view --web
14
+ gh pr view --json number,title,baseRefName,headRefName,mergeStateStatus,statusCheckRollup
15
+ gh pr diff
16
+ git diff --stat
17
+ npm test
18
+ ```
19
+
20
+ Use repository-specific test commands when they differ from npm.
21
+
22
+ ## Fallback
23
+
24
+ If `gh` is unavailable or unauthenticated, use local git refs, remote URLs, and `git diff` against the target branch. Ask for missing PR context only when it cannot be inferred.
25
+
26
+ ## Windows Notes
27
+
28
+ Quote branch names containing special characters. In PowerShell, pipe JSON output to tools that are available locally, or read it directly if `jq` is not installed.
@@ -1,34 +1,34 @@
1
- # Python Backend Workflow
2
-
3
- ## Required Evidence
4
-
5
- - Python executable, version, and dependency manager detected.
6
- - Unit/integration test command and result.
7
- - API smoke evidence for changed endpoints when applicable.
8
- - Migration, fixture, or environment assumptions.
9
-
10
- ## Common Commands
11
-
12
- ```powershell
13
- python --version
14
- py --version
15
- python3 --version
16
- python -m unittest discover -s tests
17
- py -m unittest discover -s tests
18
- python3 -m unittest discover -s tests
19
- python -m pytest
20
- python -m pytest tests
21
- uv run pytest
22
- poetry run pytest
23
- python -m uvicorn app.main:app --reload
24
- ```
25
-
26
- Prefer commands already documented by the project. When no project-specific command is documented, detect an available Python executable in the current shell (`python`, then `py`, then `python3`) and run the matching `-m unittest discover -s tests` or pytest command. `unittest` is first-class for standard-library test suites; do not require pytest when the project already uses unittest.
27
-
28
- ## Fallback
29
-
30
- If unittest, pytest, or the app runner is unavailable, run targeted Python modules, import checks, or framework-specific tests that already exist. Do not create or install a new backend stack without approval.
31
-
32
- ## Windows Notes
33
-
34
- Virtual environment activation is usually `.\\.venv\\Scripts\\Activate.ps1`. If script execution is blocked, use the environment's Python executable directly, for example `.\\.venv\\Scripts\\python.exe -m unittest discover -s tests` or `.\\.venv\\Scripts\\python.exe -m pytest`.
1
+ # Python Backend Workflow
2
+
3
+ ## Required Evidence
4
+
5
+ - Python executable, version, and dependency manager detected.
6
+ - Unit/integration test command and result.
7
+ - API smoke evidence for changed endpoints when applicable.
8
+ - Migration, fixture, or environment assumptions.
9
+
10
+ ## Common Commands
11
+
12
+ ```powershell
13
+ python --version
14
+ py --version
15
+ python3 --version
16
+ python -m unittest discover -s tests
17
+ py -m unittest discover -s tests
18
+ python3 -m unittest discover -s tests
19
+ python -m pytest
20
+ python -m pytest tests
21
+ uv run pytest
22
+ poetry run pytest
23
+ python -m uvicorn app.main:app --reload
24
+ ```
25
+
26
+ Prefer commands already documented by the project. When no project-specific command is documented, detect an available Python executable in the current shell (`python`, then `py`, then `python3`) and run the matching `-m unittest discover -s tests` or pytest command. `unittest` is first-class for standard-library test suites; do not require pytest when the project already uses unittest.
27
+
28
+ ## Fallback
29
+
30
+ If unittest, pytest, or the app runner is unavailable, run targeted Python modules, import checks, or framework-specific tests that already exist. Do not create or install a new backend stack without approval.
31
+
32
+ ## Windows Notes
33
+
34
+ Virtual environment activation is usually `.\\.venv\\Scripts\\Activate.ps1`. If script execution is blocked, use the environment's Python executable directly, for example `.\\.venv\\Scripts\\python.exe -m unittest discover -s tests` or `.\\.venv\\Scripts\\python.exe -m pytest`.
@@ -1,35 +1,35 @@
1
- # TypeScript React Frontend Workflow
2
-
3
- ## Required Evidence
4
-
5
- - Package manager and scripts detected.
6
- - Typecheck, lint, test, or build results according to project conventions.
7
- - Real-browser smoke or screenshot evidence for user-visible changes.
8
- - Console/runtime error check result for the changed screen or flow.
9
- - Notes on responsive behavior and important interaction states.
10
- - Stable accessible labels/roles and stable test hooks such as `data-testid` are required for critical UI controls and states: inputs, buttons, filters, rows, empty/error/loading states.
11
-
12
- Typecheck, build, and unit tests are necessary signals but are not enough for user-visible React changes. Before claiming UI acceptance, load the app in a real browser by Playwright, Chrome DevTools/CDP, or a documented manual run and capture screenshot/trace/console evidence.
13
- For TS/React UI work, capture the selector contract in the feature doc before implementation so tests and manual checks can target stable selectors instead of component internals or brittle DOM paths.
14
-
15
- ## Common Commands
16
-
17
- ```powershell
18
- npm run typecheck
19
- npm run lint
20
- npm test
21
- npm run build
22
- npm run dev
23
- pnpm test
24
- yarn test
25
- ```
26
-
27
- Use the package manager and scripts already present in the repository.
28
-
29
- ## Fallback
30
-
31
- If no formal checks exist, run the closest available build or dev command, inspect the changed UI manually, and document the missing automation. Do not add dependencies unless the task requires it and the user approves.
32
-
33
- ## Windows Notes
34
-
35
- Use PowerShell syntax for environment variables: `$env:VITE_API_URL='http://localhost:8000'; npm run dev`. Quote paths and prefer package scripts over shell-specific command chains.
1
+ # TypeScript React Frontend Workflow
2
+
3
+ ## Required Evidence
4
+
5
+ - Package manager and scripts detected.
6
+ - Typecheck, lint, test, or build results according to project conventions.
7
+ - Real-browser smoke or screenshot evidence for user-visible changes.
8
+ - Console/runtime error check result for the changed screen or flow.
9
+ - Notes on responsive behavior and important interaction states.
10
+ - Stable accessible labels/roles and stable test hooks such as `data-testid` are required for critical UI controls and states: inputs, buttons, filters, rows, empty/error/loading states.
11
+
12
+ Typecheck, build, and unit tests are necessary signals but are not enough for user-visible React changes. Before claiming UI acceptance, load the app in a real browser by Playwright, Chrome DevTools/CDP, or a documented manual run and capture screenshot/trace/console evidence.
13
+ For TS/React UI work, capture the selector contract in the feature doc before implementation so tests and manual checks can target stable selectors instead of component internals or brittle DOM paths.
14
+
15
+ ## Common Commands
16
+
17
+ ```powershell
18
+ npm run typecheck
19
+ npm run lint
20
+ npm test
21
+ npm run build
22
+ npm run dev
23
+ pnpm test
24
+ yarn test
25
+ ```
26
+
27
+ Use the package manager and scripts already present in the repository.
28
+
29
+ ## Fallback
30
+
31
+ If no formal checks exist, run the closest available build or dev command, inspect the changed UI manually, and document the missing automation. Do not add dependencies unless the task requires it and the user approves.
32
+
33
+ ## Windows Notes
34
+
35
+ Use PowerShell syntax for environment variables: `$env:VITE_API_URL='http://localhost:8000'; npm run dev`. Quote paths and prefer package scripts over shell-specific command chains.
@@ -1,26 +1,26 @@
1
- # UI/UX Review Workflow
2
-
3
- ## Required Evidence
4
-
5
- - Screenshots for desktop and mobile views.
6
- - Notes on layout, typography, interaction states, accessibility, and empty/loading/error states.
7
- - Any automated accessibility, lint, or visual test output available in the project.
8
-
9
- ## Common Commands
10
-
11
- ```powershell
12
- npm run dev
13
- npm run lint
14
- npm run test
15
- npx playwright test
16
- ```
17
-
18
- Use the project's existing commands first. Browser screenshots may come from Playwright, CDP, framework tooling, or manual capture.
19
-
20
- ## Fallback
21
-
22
- When automation is unavailable, inspect the running UI manually at representative viewport sizes and document findings with screenshots. Avoid adding design or test dependencies without approval.
23
-
24
- ## Windows Notes
25
-
26
- PowerShell does not support POSIX inline environment variables. Use `$env:NAME='value'; command` and quote screenshot paths with spaces.
1
+ # UI/UX Review Workflow
2
+
3
+ ## Required Evidence
4
+
5
+ - Screenshots for desktop and mobile views.
6
+ - Notes on layout, typography, interaction states, accessibility, and empty/loading/error states.
7
+ - Any automated accessibility, lint, or visual test output available in the project.
8
+
9
+ ## Common Commands
10
+
11
+ ```powershell
12
+ npm run dev
13
+ npm run lint
14
+ npm run test
15
+ npx playwright test
16
+ ```
17
+
18
+ Use the project's existing commands first. Browser screenshots may come from Playwright, CDP, framework tooling, or manual capture.
19
+
20
+ ## Fallback
21
+
22
+ When automation is unavailable, inspect the running UI manually at representative viewport sizes and document findings with screenshots. Avoid adding design or test dependencies without approval.
23
+
24
+ ## Windows Notes
25
+
26
+ PowerShell does not support POSIX inline environment variables. Use `$env:NAME='value'; command` and quote screenshot paths with spaces.
@@ -1,17 +0,0 @@
1
- # /wf-learn
2
-
3
- Force a memory learning cycle. Dispatches `context-master` to analyze the session, then `memory-master` to consolidate extracted knowledge into `Harness/memory/*` (project-level) and cross-project global memory.
4
-
5
- ## Required
6
-
7
- - Load `wf-learn` skill.
8
- - MUST dispatch `context-master` first, then `memory-master`.
9
- - Both agents are read-only reporters; CEO writes the final memory files.
10
-
11
- ## Flow
12
-
13
- ```text
14
- context-master (analyze)
15
- → memory-master (consolidate)
16
- → CEO writes to Harness/memory/* + global memory
17
- ```
@@ -1,49 +0,0 @@
1
- # /wf-max [task]
2
-
3
- **WF-MAX ACTIVE: You are CEO, not implementer.**
4
-
5
- Enter maximum-parallelism workflow mode with an optional task description. Splits tasks into minimal non-conflicting units and dispatches as many subagents as possible in parallel waves.
6
-
7
- ## CEO Contract (STICKY — re-read before each wave)
8
-
9
- ```
10
- ALLOWED first actions:
11
- 1. Read CLAUDE.md, Harness/MEMORY.md, Harness/README.md, Harness/WF-MAX.md
12
- 2. Create task PLAN/PROGRESS
13
- 3. Spawn W0 read-only agents in ONE message
14
-
15
- FORBIDDEN before W0 returns:
16
- - Read source files
17
- - Grep source contents
18
- - Edit/Write/MultiEdit
19
- - Bash (except directory listing)
20
-
21
- If tempted to Read/Edit/Bash a source file → STOP. Spawn a Worker.
22
- ```
23
-
24
- ## Required
25
-
26
- - Load `wf-max` skill.
27
- - MUST run exploration fan-out with as many read-only subagents as useful.
28
- - MUST produce Dispatch Table + pass Self-Audit Checklist (D-GATE) before W2.
29
- - MUST partition implementation into disjoint write sets across parallel waves.
30
- - MUST run parallel reviewers per dimension after each implementation wave.
31
-
32
- ## Loop
33
-
34
- ```text
35
- intake
36
- -> W0: max-parallel exploration (5-10 read-only agents)
37
- -> E-GATE: all exploration questions answered, findings synthesized
38
- -> W1: architecture — 3 parallel architects → interface contract
39
- -> D-GATE: Dispatch Table + Self-Audit (MANDATORY, see WF-MAX.md)
40
- -> W2: N parallel implementers (ALL spawned in ONE message, disjoint file claims)
41
- -> W2R: parallel spec/code/security reviewers
42
- -> W3+: dependent waves (re-run D-GATE if write-set changed)
43
- -> INTEGRATION: verifier → fail → debugger → loop (cap=3)
44
- -> CLOSEOUT: context-master + memory-master
45
- ```
46
-
47
- Full organization model, span formula, Manager types, anti-pattern catalog, and synthesis protocol: [WF-MAX.md](Harness/WF-MAX.md).
48
-
49
- Keep `Harness/tasks/<task-id>/PROGRESS.md#Heartbeat` current.
@@ -1,23 +0,0 @@
1
- # /wf-remove
2
-
3
- Safely uninstall the Harness framework from this project. Uses `Harness/scripts/wf-remove.mjs` for fast, deterministic file classification. Auto-removes unmodified framework files. MUST ask user for every modified or uncertain file before deletion. NEVER touches user data.
4
-
5
- ## Required
6
-
7
- - Load `wf-remove` skill.
8
- - Run `node Harness/scripts/wf-remove.mjs` first (dry-run).
9
- - For MODIFIED files: present each one, get explicit [D]elete / [K]eep decision.
10
- - NEVER auto-delete user data or modified files.
11
-
12
- ## Flow
13
-
14
- ```text
15
- node Harness/scripts/wf-remove.mjs → DRY-RUN plan
16
- ├── SAFE files → list, auto-remove with --apply
17
- ├── MODIFIED files → present each, user decides D/K
18
- └── USER DATA → list, NEVER remove
19
- node Harness/scripts/wf-remove.mjs --apply → execute
20
- git status → review
21
- ```
22
-
23
- Full spec: `.claude/skills/wf-remove/SKILL.md`.
@@ -1,25 +0,0 @@
1
- # /wf-review [focus]
2
-
3
- Cross-model peer review. Invokes the OTHER agent CLI for independent multi-dimension review.
4
-
5
- ## Anti-Self-Review Guard
6
-
7
- **Use the OTHER CLI.** Claude → `codex exec`. Codex → `claude -p`. Only one CLI? Warn user, do NOT self-review.
8
-
9
- ## Required
10
-
11
- - Load `wf-review` skill (authoritative: dimensions, severity, synthesis format).
12
- - Detect CLI: `which codex` / `which claude`. Use the one NOT running this session.
13
- - `Bash` invoke the other CLI — never simulate.
14
- - Present raw output + classified synthesis.
15
-
16
- ## Flow
17
-
18
- ```text
19
- diff + architecture docs + 5-dimension prompt (from skill)
20
- → Bash: codex exec "..." or claude -p "..."
21
- → classify findings (Critical/High/Medium/Low per skill severity table)
22
- → raw output + synthesis + action items
23
- ```
24
-
25
- Context guard: if `git diff` >500 lines, warn and suggest narrowing scope.
@@ -1,17 +0,0 @@
1
- # /wf-update
2
-
3
- Check for Harness scaffold updates from GitHub and apply them incrementally. Script-driven for speed — comparison happens in milliseconds, only conflicts need user decision.
4
-
5
- ## Required
6
-
7
- - Load `wf-update` skill.
8
- - Run `node Harness/scripts/wf-update-check.mjs` first (instant plan).
9
- - For CONFLICT files: user decides [M]erge (recommended) / [O]verwrite / [K]eep.
10
-
11
- ## Check mode
12
-
13
- `/wf-update --check` — Report available updates without applying.
14
-
15
- ## Full update
16
-
17
- `/wf-update` — Script compares → AI resolves conflicts → Script applies SAFE+NEW.
@@ -1,31 +0,0 @@
1
- # /wf <task/mission>
2
-
3
- Enter WF mode with the given task or mission description.
4
-
5
- ## CEO Exploration Constraint (READ THIS FIRST)
6
-
7
- **You are the CEO. Your job is to ask questions, not read files.** During exploration:
8
- - **DO NOT Read/Grep/Glob any source code.** Not even "just to check one thing." You will waste your context window and defeat parallelism — the #1 WF failure mode.
9
- - **Spawn ≥3 read-only subagents in ONE message.** Default to `sonnet` — exploration requires real code understanding. Use `haiku` only for shallow scans (directory listing, file counts). Use `opus` if the user asks.
10
- - **You may only read:** `Harness/` docs, `CLAUDE.md`, and subagent returns. Nothing else until the Second Plan is written.
11
-
12
- ## Required
13
-
14
- - Load `Harness/WF.md` — the single authority for WF mode.
15
- - Load `subagent-orchestrator` skill for subagent coordination.
16
- - Explicit `/wf`, `wf mode`, `workflow mode`, or `wk mode` MUST spawn at least 3 distinct subagents from `.claude/agents/` before second planning.
17
-
18
- ## Loop
19
-
20
- ```text
21
- intake
22
- -> parallel read-only exploration (≥3 subagents)
23
- -> synthesis + second plan
24
- -> test
25
- -> implement
26
- -> review
27
- -> verify
28
- -> debugger recovery loop when needed
29
- ```
30
-
31
- Keep `Harness/tasks/<task-id>/PROGRESS.md#Heartbeat` current.
@@ -1,18 +0,0 @@
1
- description = "Maximum parallelism: CEO→Manager→Worker hierarchy with D-GATE enforcement"
2
- prompt = """
3
- WF-MAX ACTIVE: You are CEO, not implementer.
4
-
5
- ALLOWED first actions:
6
- 1. Read CLAUDE.md, Harness/MEMORY.md, Harness/README.md, Harness/WF-MAX.md
7
- 2. Create task PLAN/PROGRESS
8
- 3. Spawn W0 read-only agents in ONE message
9
-
10
- FORBIDDEN before W0 returns:
11
- - Read source files deeply (scoping only via Grep/Glob)
12
- - Edit / Write / MultiEdit on source files
13
- - Bash (except ls/dir/tree/git status/git diff)
14
-
15
- Loop: W0 Explore → E-GATE → W1 Architecture → D-GATE (Dispatch Table + Self-Audit) → W2 Implement (single-message dispatch) → W2R Review → W3+ dependent → Integration → Closeout
16
-
17
- Full spec: Harness/WF-MAX.md
18
- """
@@ -1,15 +0,0 @@
1
- description = "Cross-model peer review — 5 dimensions with severity classification"
2
- prompt = """
3
- Cross-model peer review. Use the OTHER CLI for independent review.
4
-
5
- Dimensions:
6
- 1. Correctness — bugs, edge cases, race conditions, null/undefined, logic flaws?
7
- 2. Security — injection, auth bypass, data exposure, input validation, unsafe deps?
8
- 3. Architecture — boundary violations, coupling, state ownership, interface contract breaks?
9
- 4. Performance — algorithmic complexity, N+1 queries, memory leaks?
10
- 5. Tests — coverage gaps, missing edge cases, CI regressions?
11
-
12
- Severity: Critical (security/data-loss/crash → must fix), High (bug/regression → should fix), Medium (maintainability → may defer), Low (style → optional)
13
-
14
- Review CLI: use the OTHER one. Claude → codex exec. Codex → claude -p.
15
- """
@@ -1,174 +0,0 @@
1
- # WF Mode - Long Task Workflow
2
-
3
- Use this when work is long, difficult, uncertain, multi-file, multi-agent, or user-triggered with `/wf`, `wf mode`, `workflow mode`, or `wk mode`.
4
-
5
- This is a Ralph-style harness loop: keep moving through evidence, bounded exploration, second planning, implementation, review, verification, and recovery instead of stalling on the first obstacle.
6
-
7
- ## Trigger
8
-
9
- Enter WF mode when any of these are true:
10
-
11
- - The user explicitly says `/wf`, `wf mode`, `workflow mode`, `wk mode`, or asks for the full workflow.
12
- - The task needs more than one step, more than three files, or more than one subsystem.
13
- - The task needs research, architecture judgment, browser/API validation, or migration planning.
14
- - Confidence in intent, architecture, or implementation is below 95%.
15
- - The same command, test, tool, or approach fails twice.
16
- - The user explicitly says `/wf-max [task]` or `wf max` (for maximum-parallelism mode, see [WF-MAX.md](WF-MAX.md)).
17
-
18
- **Two distinct trigger classes — do not conflate them:**
19
-
20
- - **Explicit invocation** (`/wf`, `wf mode`, `workflow mode`, `wk mode`, `/wf-max`): subagent fan-out is **mandatory and unconditional**. File count, task size, and subsystem count are IRRELEVANT — a 1-file task typed with `/wf` still fans out to ≥3 subagents before the second plan. There is no "too small for WF" exception once the user types the command.
21
- - **Auto-triggering** (the file-count / multi-subsystem / repeated-failure bullets above): these decide whether the harness enters WF mode *on its own*. They are the ONLY place file count matters, and they can only ESCALATE into WF — never downgrade an explicit command out of it.
22
-
23
- ## Multi-Subagent Requirement
24
-
25
- WF mode requires multi-subagent orchestration by default.
26
-
27
- - Explicit `/wf`, `wf mode`, `workflow mode`, or `wk mode` MUST spawn at least 3 distinct subagents from `.claude/agents/` before second planning unless the runtime cannot spawn subagents.
28
- - Collaboration decision tree (replaces the old "7:3" heuristic — concrete conditions, not a magic number):
29
- - **In explicit WF/WK mode** → ALWAYS multi-agent (≥3 subagents before second plan). No exceptions.
30
- - **3+ files changed** → multi-agent (at minimum: planner + implementer + reviewer).
31
- - **Cross-layer change** (DB + API + UI) → multi-agent with architect + implementer(s) + reviewer.
32
- - **Uncertain scope or approach** → multi-agent exploration (planner + researcher + architect).
33
- - **1-2 files, well-understood, not in WF mode** → solo is acceptable.
34
- - **Repeated failure on same task** → STOP solo, switch to multi-agent.
35
- - Default initial fan-out: `planner`, `researcher` or `docs-researcher`, and `architect`. Add `test-writer`, `reviewer`, `debugger`, or `verifier` when the phase needs them.
36
- - **Exploration Gate (HARD):**
37
- - [ ] CEO has NOT read any source files — only `Harness/` docs, `CLAUDE.md`, and subagent returns. This is the #1 rule. **Exception**: if subagents are genuinely unavailable, fall back to bounded-pass emulation and record `Fallback: subagents unavailable` in PLAN.md.
38
- - [ ] CEO overrides model per-agent: default `sonnet` for real code understanding; `haiku` only for shallow scans (directory listing, file counts); `opus` if user requests.
39
- - [ ] ≥3 distinct agent types, each with ONE specific question.
40
- - [ ] All spawned in ONE message block.
41
- - [ ] Agent count ≥ max(3, ceil(estimated_dirs / 2)) — estimate from prompt/docs; run a second wave if returns reveal more.
42
- - Record every dispatch or bounded-pass fallback in `Harness/tasks/<task-id>/PLAN.md#Subagent Dispatch`.
43
- - If subagents are unavailable, emulate the same roles as separate bounded passes and record why the fallback was used.
44
-
45
- For maximum-parallelism mode (write-set coloring, wave dispatch, parallel reviewers), use `/wf-max [task]` and see [WF-MAX.md](WF-MAX.md).
46
-
47
- ## WF Loop
48
-
49
- ```text
50
- Intake
51
- -> confidence gate
52
- -> parallel planner / researcher / docs-researcher / architect subagents
53
- -> synthesis
54
- -> second plan
55
- -> test-writer
56
- -> implementer
57
- -> reviewers
58
- -> verifier
59
- -> if failed: debugger -> review -> e2e/API verification -> loop
60
- -> close with evidence
61
- ```
62
-
63
- ## Intake
64
-
65
- 1. Read `CLAUDE.md`, `Harness/MEMORY.md`, `Harness/README.md`, `Harness/PROGRESS.md`, and the current task's `PROGRESS.md` and `PLAN.md` under `Harness/tasks/<task-id>/`.
66
- 2. State the goal, non-goals, confidence level, known risks, and write boundaries.
67
- 3. Ask up to three blocking questions only when the next action cannot reach 95% confidence.
68
- 4. Update `Harness/tasks/<task-id>/PROGRESS.md#Heartbeat` before dispatching agents or running long commands.
69
- 5. Load `Harness/subagents.md` before coordinating multiple agents; explicit WF/WK mode always coordinates multiple roles.
70
-
71
- ## Exploration
72
-
73
- Use parallel read-only subagents first. Explicit WF/WK mode starts with at least three distinct `.claude/agents/` roles before the second plan. For automatic WF triggers, default to 3-5 active agents unless the task is clearly small enough for the solo exception.
74
-
75
- | Agent | Purpose | Writes |
76
- | --- | --- | --- |
77
- | `planner` | map local project facts, commands, app entry points, existing docs, and initial decomposition | none |
78
- | `researcher` | product, ecosystem, dependency, and external context | none unless returning a docs patch |
79
- | `docs-researcher` | official docs, SDK/API versions, browser/tool limits | none unless returning a docs patch |
80
- | `architect` | boundaries, ports, data flow, state impact, migration risks | none unless returning a docs patch |
81
-
82
- Use local files first. Use web search, Tavily, TinyFish, GitHub, official docs, or user-provided links only when the decision needs current or external evidence. Record tool choice and limitations in `Harness/research/research-results.md` or `Harness/tasks/<task-id>/PLAN.md`.
83
-
84
- ## Subagent Orchestration
85
-
86
- Use `Harness/subagents.md` as the orchestration methodology and `Harness/dispatch.md` as the dispatch table protocol.
87
-
88
- - The main agent is the controller and owns synthesis, integration, and final verification.
89
- - Subagents are readers and reporters. Only the main agent writes to task PROGRESS.md and PLAN.md. Subagents return PLAN patch suggestions which the main agent reviews before committing.
90
- - Parallelize read-only exploration; serialize writers unless write sets are disjoint and isolated.
91
- - Every subagent gets a dispatch pack with role, goal, read set, write set, forbidden scope, injected docs, evidence, stop condition, and return format.
92
- - After implementation, run spec review before code-quality or architecture review.
93
- - If subagents are unavailable, emulate the same roles as bounded passes and record the fallback.
94
-
95
- ## Second Plan
96
-
97
- After exploration, synthesize:
98
-
99
- - facts found
100
- - assumptions
101
- - risks
102
- - accepted/rejected options
103
- - tasks
104
- - read/write sets
105
- - verification path
106
- - rollback or recovery plan
107
-
108
- Write the result to `Harness/tasks/<task-id>/PLAN.md` before implementation. Update `Harness/tasks/<task-id>/PROGRESS.md#Heartbeat`.
109
-
110
- ## Build And Review
111
-
112
- 1. `test-writer` defines a failing test or written manual check first.
113
- 2. `implementer` changes only the declared write set.
114
- 3. At least one `reviewer` checks diff, architecture, risks, and missing tests.
115
- 4. For cross-layer or risky work, run separate reviewers for architecture and test adequacy.
116
- 5. `verifier` runs the declared checks and records exact evidence.
117
-
118
- ## Browser And API Evidence
119
-
120
- For browser-visible changes, typecheck/build/unit tests are not enough. Use Chrome DevTools, CDP, Playwright, or a documented real-browser run:
121
-
122
- - start the app and record URL/port
123
- - click through the critical flow
124
- - capture frontend console/runtime errors
125
- - capture failed network requests
126
- - collect backend logs when the flow crosses an API
127
- - record screenshot, trace, video, or manual evidence path
128
-
129
- For API changes, run the project API/integration test path or a documented real request against a local service and record request, response, logs, and failure behavior.
130
-
131
- ## Recovery Loop
132
-
133
- If verification fails:
134
-
135
- 1. Update `Harness/tasks/<task-id>/PROGRESS.md#Heartbeat` with failure count and blocker.
136
- 2. Dispatch `debugger` with the failing command, error output, and smallest relevant files.
137
- 3. Fix the smallest reproduced failure.
138
- 4. Run reviewer again.
139
- 5. Run verifier again.
140
- 6. Repeat until verified or blocked by missing user input/external state.
141
-
142
- Before asking the user after repeated failures, dispatch `context-master` then `memory-master` (or use `/wf-learn`) to record the failure pattern, attempted paths, and root cause hypothesis. Present evidence-backed options to the user.
143
-
144
- ## Heartbeat Protocol
145
-
146
- Heartbeat is a lightweight recovery protocol, not a background daemon.
147
-
148
- Update `Harness/tasks/<task-id>/PROGRESS.md#Heartbeat`:
149
-
150
- - before a long command
151
- - after a long command
152
- - before spawning subagents
153
- - after integrating subagent returns
154
- - after each failed verification
155
- - before stopping for user input
156
-
157
- The agent may set the next beat interval by event instead of time, such as "after next test run", "after reviewer returns", or "after browser evidence is captured".
158
-
159
- When context approaches ~85% of the window, dispatch `context-master` to analyze and append a compression suggestion to `Harness/tasks/<task-id>/PROGRESS.md#Heartbeat`. The suggestion is non-blocking; the controller checks it at the next natural pause point.
160
-
161
- ## Closeout
162
-
163
- Close only when:
164
-
165
- - acceptance criteria are satisfied
166
- - reviewer has no unresolved critical/high findings
167
- - test/API/browser evidence is recorded
168
- - affected Harness docs are synced
169
- - `context-master` has analyzed the session and extracted durable knowledge
170
- - `memory-master` has consolidated extracted knowledge into `Harness/memory/*` and `Harness/MEMORY.md`
171
- - Current task PROGRESS.md and PLAN.md are archived under `Harness/tasks/<task-id>/` with Phase set to Verified
172
- - `Harness/PROGRESS.md` task index is updated (Closed column filled, Active Task cleared or set to next task)
173
- - `Harness/tasks/<task-id>/PROGRESS.md#Heartbeat` says the task is verified or lists the exact next recovery action
174
- - `Harness/PROGRESS.md` task index reflects the closed task
@@ -1,25 +0,0 @@
1
- # /wf-browser [task]
2
-
3
- AI-driven browser automation via Browser Use (89.1% WebVoyager benchmark). Dual mode: CLI (~50ms per call, no LLM needed) + Python Agent API (multi-step AI reasoning).
4
-
5
- ## Required
6
-
7
- - Load `wf-browser` skill.
8
- - Load `Harness/workflows/browser-e2e.md` for evidence contract and fallback paths.
9
- - Real-browser evidence required for every browser/UI claim (screenshot, state snapshot, or console output).
10
-
11
- ## Modes
12
-
13
- **CLI (fast iteration):** `browser-use open/state/click/screenshot/close` — Claude Code reasons, CLI executes.
14
- **Agent (complex flows):** Python API with LLM observation→decision→action loop.
15
-
16
- ## Flow
17
-
18
- ```text
19
- open page → state (inspect elements)
20
- → click/input (interact)
21
- → state/screenshot (verify)
22
- → close (cleanup)
23
- ```
24
-
25
- Keep browser evidence in `Harness/tasks/<task-id>/evidence/*.png`.