create-harness-vibe-coding 0.7.2 → 0.8.1

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 +103 -155
  2. package/README.md +213 -175
  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 +67 -47
  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,31 +1,32 @@
1
- # MEMORY.md - create-harness-vibe-coding Project Resource Index
2
-
3
- > The project fact source is reached via `CLAUDE.md -> Harness/README.md`. This file persists cross-session context: resource index, user preferences, tool usage standards.
4
- > Detailed memory lives in `Harness/memory/`. Keep entries short, newest first, and free of secrets.
5
-
6
- ## Agents (Sub-agents)
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.
13
- - [implementer](../.claude/agents/implementer.md) — bounded implementation inside declared write set.
14
- - [debugger](../.claude/agents/debugger.md) — smallest fix for a reproduced failure.
15
- - [reviewer](../.claude/agents/reviewer.md) — read-only diff review and closeout risk.
16
- - [verifier](../.claude/agents/verifier.md) — verification commands and evidence.
17
- - [memory-master](../.claude/agents/memory-master.md) — memory writing, dedup, consolidation, and cross-project knowledge extraction.
18
- - [context-master](../.claude/agents/context-master.md) — context analysis, compression alerts, and session knowledge extraction for memory-master.
19
- - [explore-manager](../.claude/agents/explore-manager.md) — WF-MAX W0 exploration: spawn 5-10 read-only researchers, synthesize, report to CEO.
20
- - [architect-manager](../.claude/agents/architect-manager.md) — WF-MAX W1 architecture: spawn 3 architects, synthesize interface contracts, report to CEO.
21
- - [implement-manager](../.claude/agents/implement-manager.md) — WF-MAX W2 implementation: spawn 5-7 implementers (one file_claim each), merge, report to CEO.
22
- - [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.
23
-
24
- Stack-specific agents can be added after the product shape is known.
25
-
26
- ## Skills (Workflows)
27
-
1
+ # MEMORY.md - create-harness-vibe-coding Project Resource Index
2
+
3
+ > The project fact source is reached via `CLAUDE.md -> Harness/README.md`. This file persists cross-session context: resource index, user preferences, tool usage standards.
4
+ > Detailed memory lives in `Harness/memory/`. Keep entries short, newest first, and free of secrets.
5
+
6
+ ## Agents (Sub-agents)
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.
13
+ - [implementer](../.claude/agents/implementer.md) — bounded implementation inside declared write set.
14
+ - [debugger](../.claude/agents/debugger.md) — smallest fix for a reproduced failure.
15
+ - [reviewer](../.claude/agents/reviewer.md) — read-only diff review and closeout risk.
16
+ - [verifier](../.claude/agents/verifier.md) — verification commands and evidence.
17
+ - [memory-master](../.claude/agents/memory-master.md) — memory writing, dedup, consolidation, and cross-project knowledge extraction.
18
+ - [context-master](../.claude/agents/context-master.md) — context analysis, compression alerts, and session knowledge extraction for memory-master.
19
+ - [explore-manager](../.claude/agents/explore-manager.md) — WF-MAX W0 exploration: spawn 5-10 read-only researchers, synthesize, report to CEO.
20
+ - [architect-manager](../.claude/agents/architect-manager.md) — WF-MAX W1 architecture: spawn 3 architects, synthesize interface contracts, report to CEO.
21
+ - [implement-manager](../.claude/agents/implement-manager.md) — WF-MAX W2 implementation: spawn 5-7 implementers (one file_claim each), merge, report to CEO.
22
+ - [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.
23
+
24
+ Stack-specific agents can be added after the product shape is known.
25
+
26
+ ## Skills (Workflows)
27
+
28
28
  - [WF Mode](WF.md) — long-task workflow: exploration, second plan, implementation, review, verification, heartbeat, and recovery loop.
29
+ - [wf](../.claude/skills/wf/SKILL.md) — Claude Code WF skill command; mirrored for Codex at `../.agents/skills/wf/SKILL.md`.
29
30
  - [subagent-orchestrator](../.claude/skills/subagent-orchestrator/SKILL.md) — controller-led subagent orchestration, parallel read-only passes, review gates, and recovery handoffs.
30
31
  - [wf-readme](../.claude/skills/wf-readme/SKILL.md) — README preservation, append-only development sections, structured tables, and approved architecture diagrams.
31
32
  - [wf-review](../.claude/skills/wf-review/SKILL.md) — cross-model peer review: invoke the other agent CLI (Codex/Claude) for independent review.
@@ -33,43 +34,44 @@ Stack-specific agents can be added after the product shape is known.
33
34
  - [wf-learn](../.claude/skills/wf-learn/SKILL.md) — force memory learning cycle: context-master -> memory-master -> project + global memory.
34
35
  - [wf-max](../.claude/skills/wf-max/SKILL.md) — maximum-parallelism workflow: write-set coloring, wave dispatch, parallel review per dimension.
35
36
  - [wf-remove](../.claude/skills/wf-remove/SKILL.md) — Safely remove Harness framework files (SAFE/MODIFIED/USER classes), auto-prune empty directories, backup option.
36
- - learn: /wf-learn
37
-
38
- Stack-specific skills can be added after the product shape is known.
39
-
40
- ## Rules (Harness Constraints)
41
-
42
- Located under `.claude/rules/ecc/`, auto-loaded by the CC engine:
43
-
44
- - [common.md](../.claude/rules/ecc/common.md) — universal harness constraints for context loading, verification, subagents, and security (alwaysApply: true)
45
- - Language-specific rules pending Claude Code initialization (e.g. python.md, typescript.md, etc.)
46
-
47
- ## Harness (Runtime)
48
-
49
- - [Docs router](README.md)
50
- - [WF mode](WF.md)
51
- - [WF Max mode](WF-MAX.md)
52
- - [0-1 lifecycle](lifecycle.md)
53
- - [Research protocol](research/README.md)
54
- - [Context loading protocol](context-loading.md)
55
- - [Dispatch protocol](dispatch.md)
56
- - [Subagent orchestration](subagents.md)
57
- - [Extension contract](extension.md)
58
- - [Architecture docs](architecture.md)
59
- - [Agent workflow](agent-workflow.md)
60
- - [Harness validator](scripts/validate-harness.mjs)
61
- - [Version file](.harness-version)
62
-
63
- ## Memory Folder
64
-
65
- - [Tool usage/reflections](memory/tool-usage-reflections.md) - repeated tool failures, better command patterns, environment-specific fixes.
66
- - [User corrections/preferences](memory/user-corrections-preferences.md) - repeated user corrections, durable preferences, common-sense course corrections.
67
- - [Agent lessons/patterns](memory/agent-lessons-patterns.md) - reusable lessons from review, debugging, validation, and handoff loops.
68
-
69
- Write to the memory folder when the guidance should survive chat context loss:
70
37
 
71
- - Use `memory/tool-usage-reflections.md` when the same tool/use pattern fails 3+ times, a better command pattern is found, or an environment-specific fix should be reused.
72
- - Use `memory/user-corrections-preferences.md` when the user explicitly asks to remember a preference, or the user corrects the same assumption/pattern 2+ times.
73
- - Use `memory/agent-lessons-patterns.md` when a review/debug loop yields a reusable lesson or regression guard.
74
- - Use this file for the resource index and routing pointers, not long-form lessons.
75
- - Never record secrets, credentials, tokens, or private data. If a memory is ambiguous, ask before writing.
38
+ Codex repo-skill mirrors live under `../.agents/skills/` with the same skill names.
39
+
40
+ Stack-specific skills can be added after the product shape is known.
41
+
42
+ ## Rules (Harness Constraints)
43
+
44
+ Located under `.claude/rules/ecc/`, auto-loaded by the CC engine:
45
+
46
+ - [common.md](../.claude/rules/ecc/common.md) — universal harness constraints for context loading, verification, subagents, and security (alwaysApply: true)
47
+ - Language-specific rules pending Claude Code initialization (e.g. python.md, typescript.md, etc.)
48
+
49
+ ## Harness (Runtime)
50
+
51
+ - [Docs router](README.md)
52
+ - [WF mode](WF.md)
53
+ - [WF Max mode](WF-MAX.md)
54
+ - [0-1 lifecycle](lifecycle.md)
55
+ - [Research protocol](research/README.md)
56
+ - [Context loading protocol](context-loading.md)
57
+ - [Dispatch protocol](dispatch.md)
58
+ - [Subagent orchestration](subagents.md)
59
+ - [Extension contract](extension.md)
60
+ - [Architecture docs](architecture.md)
61
+ - [Agent workflow](agent-workflow.md)
62
+ - [Harness validator](scripts/validate-harness.mjs)
63
+ - [Version file](.harness-version)
64
+
65
+ ## Memory Folder
66
+
67
+ - [Tool usage/reflections](memory/tool-usage-reflections.md) - repeated tool failures, better command patterns, environment-specific fixes.
68
+ - [User corrections/preferences](memory/user-corrections-preferences.md) - repeated user corrections, durable preferences, common-sense course corrections.
69
+ - [Agent lessons/patterns](memory/agent-lessons-patterns.md) - reusable lessons from review, debugging, validation, and handoff loops.
70
+
71
+ Write to the memory folder when the guidance should survive chat context loss:
72
+
73
+ - Use `memory/tool-usage-reflections.md` when the same tool/use pattern fails 3+ times, a better command pattern is found, or an environment-specific fix should be reused.
74
+ - Use `memory/user-corrections-preferences.md` when the user explicitly asks to remember a preference, or the user corrects the same assumption/pattern 2+ times.
75
+ - Use `memory/agent-lessons-patterns.md` when a review/debug loop yields a reusable lesson or regression guard.
76
+ - Use this file for the resource index and routing pointers, not long-form lessons.
77
+ - Never record secrets, credentials, tokens, or private data. If a memory is ambiguous, ask before writing.
@@ -1,41 +1,48 @@
1
- # {{projectName}}
2
-
3
- Project development notes belong here.
4
-
5
- ## Development Commands
6
-
7
- Record the real project commands after bootstrap:
8
-
9
- ```bash
10
- # Install dependencies
11
- # e.g. npm install
12
-
13
- # Run locally
14
- # e.g. npm run dev
15
-
16
- # Run tests
17
- # e.g. npm test
18
-
19
- # Build
20
- # e.g. npm run build
21
- ```
22
-
23
- Replace the examples with the real commands discovered from this project. If a command is unknown, record the open question in `Harness/tasks/<task-id>/PROGRESS.md`.
24
-
25
- ## Git And Release Notes
26
-
27
- - Keep branch, commit, pull request, CI, and release conventions in this README.
28
- - Do not place build scripts, git policy, or project maintenance instructions in `CLAUDE.md`.
29
- - Keep code architecture notes in `Harness/architecture.md` or feature docs.
30
- - For README improvements, use `.claude/skills/wf-readme/SKILL.md`; preserve public docs unless a rewrite is approved.
31
-
1
+ # {{projectName}}
2
+
3
+ Project development notes belong here.
4
+
5
+ ## Development Commands
6
+
7
+ Record the real project commands after bootstrap:
8
+
9
+ ```bash
10
+ # Install dependencies
11
+ # e.g. npm install
12
+
13
+ # Run locally
14
+ # e.g. npm run dev
15
+
16
+ # Run tests
17
+ # e.g. npm test
18
+
19
+ # Build
20
+ # e.g. npm run build
21
+ ```
22
+
23
+ Replace the examples with the real commands discovered from this project. If a command is unknown, record the open question in `Harness/tasks/<task-id>/PROGRESS.md`.
24
+
25
+ ## Git And Release Notes
26
+
27
+ - Keep branch, commit, pull request, CI, and release conventions in this README.
28
+ - Do not place build scripts, git policy, or project maintenance instructions in `CLAUDE.md`.
29
+ - Keep code architecture notes in `Harness/architecture.md` or feature docs.
30
+ - For README improvements, use `.claude/skills/wf-readme/SKILL.md`; preserve public docs unless a rewrite is approved.
31
+
32
32
  ## Harness
33
33
 
34
34
  The agentic engineering harness lives in `Harness/`.
35
-
36
- - Follow `Harness/SETUP.md` before normal work while it exists.
37
- - Start at `Harness/README.md`.
38
- - Load memory and resource registrations from `Harness/MEMORY.md`.
39
- - Track active work in `Harness/PROGRESS.md` and `Harness/tasks/<task-id>/PROGRESS.md`.
40
- - Use `Harness/WF.md` or `/wf` for long, difficult, multi-agent work.
35
+
36
+ - Follow `Harness/SETUP.md` before normal work while it exists.
37
+ - Start at `Harness/README.md`.
38
+ - Load memory and resource registrations from `Harness/MEMORY.md`.
39
+ - Track active work in `Harness/PROGRESS.md` and `Harness/tasks/<task-id>/PROGRESS.md`.
40
+ - Use `Harness/WF.md` for long, difficult, multi-agent work.
41
+ - Claude Code: invoke the `wf` skill with `/wf`.
42
+ - Codex: invoke the `wf` skill with `$wf` or `/skills`.
41
43
  - Use `Harness/subagents.md` when coordinating multiple agents.
44
+
45
+ Tool discovery files stay at the repository root:
46
+
47
+ - Claude Code: `.claude/settings.json`, `.claude/agents/`, and `.claude/skills/`.
48
+ - Codex: `.agents/skills/` for repo skills and `.codex/hooks.json` for hook/config integration.
@@ -13,15 +13,15 @@ This scaffold is a 0-1 product harness:
13
13
  - `Harness/MEMORY.md` plus a `Harness/memory/` folder for durable self-learning, user corrections, and tool reflections
14
14
  - built-in common agents
15
15
  - subagent orchestration and context-loading protocol
16
- - skill-style dynamic loaders in `.claude/skills/`
16
+ - skill-style dynamic loaders in `.claude/skills/` for Claude Code and `.agents/skills/` for Codex
17
17
  - lightweight harness validator
18
18
  - test/review/feedback loop
19
19
 
20
- It does not guess your stack or business domain. Claude Code should fill those through the lifecycle.
20
+ It does not guess your stack or business domain. Claude Code or Codex should fill those through the lifecycle.
21
21
 
22
22
  ## Bootstrap Prompt
23
23
 
24
- Start Claude Code, then say:
24
+ Start Claude Code or Codex, then say:
25
25
 
26
26
  ```text
27
27
  Read Harness/SETUP.md. Bootstrap this project as a 0-1 product harness.
@@ -44,29 +44,42 @@ Claude must follow this order:
44
44
  10. Run `node Harness/scripts/validate-harness.mjs --strict`.
45
45
  11. 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.
46
46
 
47
- ## Existing Project Bootstrap Sequence
48
-
49
- 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.
50
-
51
- 1. Scan existing project facts first: `README.md`, package files (`package.json`, `pyproject.toml`, `go.mod`, etc.), test commands, app entry points, CI files, existing docs, and current run/build scripts.
52
- 2. Record discovered facts and open questions in `Harness/tasks/<task-id>/PROGRESS.md` before changing harness docs.
53
- 3. Fill `Harness/research/PRD.md`, `Harness/research/research-results.md`, `Harness/architecture.md` from observed project facts plus explicit user input.
54
- 4. Existing configuration is project fact. Do not overwrite `CLAUDE.md`, `AGENTS.md`, `.claude/`, `.gitignore`, settings, hooks, package files, CI, docs routers, or workflow docs unless the user explicitly approves that exact overwrite.
55
- 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`.
56
- 6. Run `node Harness/scripts/validate-harness.mjs` after registration, then run `node Harness/scripts/validate-harness.mjs --strict` only after project-fact placeholders have been resolved or intentionally recorded as open.
47
+ ## Install or Upgrade Path
48
+
49
+ Before writing, identify the project state:
50
+
51
+ | Project state | Required action |
52
+ | --- | --- |
53
+ | Empty or new project | Run the scaffold, then follow this file for 0-1 bootstrap |
54
+ | Existing project, no `Harness/` | Scan project facts first, run `--dry-run`, preserve existing files, merge only missing Harness guidance |
55
+ | 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 |
56
+ | 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 |
57
+
58
+ 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.
59
+
60
+ 1. Scan existing project facts first: top-level files, `CLAUDE.md`, `AGENTS.md`, `.claude/`, `.agents/`, `.codex/`, `Harness/`, `README.md`, package files (`package.json`, `pyproject.toml`, `go.mod`, etc.), test commands, app entry points, CI files, existing docs, current run/build scripts, and already-installed skills/plugins/rules.
61
+ 2. Record discovered facts and open questions in `Harness/tasks/<task-id>/PROGRESS.md` before changing harness docs.
62
+ 3. Fill `Harness/research/PRD.md`, `Harness/research/research-results.md`, `Harness/architecture.md` from observed project facts plus explicit user input.
63
+ 4. Existing configuration is project fact. Do not overwrite `CLAUDE.md`, `AGENTS.md`, `.claude/`, `.agents/`, `.codex/`, `.gitignore`, settings, hooks, package files, CI, docs routers, workflow docs, or installed skills/plugins/rules unless the user explicitly approves that exact overwrite.
64
+ 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`.
65
+ 6. Run `node Harness/scripts/validate-harness.mjs` after registration, then run `node Harness/scripts/validate-harness.mjs --strict` only after project-fact placeholders have been resolved or intentionally recorded as open.
66
+
67
+ `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.
57
68
 
58
69
  ### Agent-Link Install Intake
59
70
 
60
- When the user installs by pasting the GitHub link into an agent, ask intake questions before editing. 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.
61
-
62
- | Topic | Ask When | Default If Unanswered |
63
- | --- | --- | --- |
64
- | Root agent entry | `CLAUDE.md`, `AGENTS.md`, `.claude/`, or other agent entry files already exist | Preserve files; ask before merging the Harness entry contract |
65
- | Harness location | `docs/` is already used for GitHub Pages, product docs, or generated docs | Use root `Harness/`; do not write harness docs into `docs/` |
66
- | README ownership | root `README.md` is a public product page, package docs, or heavily customized | Preserve existing README and propose a minimal Development section |
67
- | README optimization | existing README is stale, sparse, missing command tables, or the user asks for diagrams/polished docs | Offer `wf-readme`; default to append-only Development notes until the user approves a structure pass or full rewrite |
68
- | Extensions | ECC, Superpowers, custom rules, or stack-specific skills may be useful | Recommend first; install only after user approval |
69
- | Skills | stack is known and optional skills could improve testing, frontend, backend, review, or browser evidence | Install 1-2 relevant skills only after user approval |
71
+ When the user installs by pasting the GitHub link into an agent, scan the project root before editing or asking generic questions. Summarize what exists, 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.
72
+
73
+ | Topic | Ask When | Default If Unanswered |
74
+ | --- | --- | --- |
75
+ | Root agent entry | `CLAUDE.md`, `AGENTS.md`, `.claude/`, `.agents/`, `.codex/`, or other agent entry files already exist | Preserve files; ask before merging the Harness entry contract |
76
+ | Existing Harness | `Harness/` already exists | Stop and ask whether to run `/wf-update`, dry-run merge missing files, keep it untouched, or remove/reinstall after approval |
77
+ | Harness location | Always | Use root `Harness/`; do not write harness docs into `docs/` |
78
+ | README ownership | root `README.md` is a public product page, package docs, or heavily customized | Preserve existing README and propose a minimal Development section |
79
+ | README optimization | existing README is stale, sparse, missing command tables, or the user asks for diagrams/polished docs | Offer `wf-readme`; default to append-only Development notes until the user approves a structure pass or full rewrite |
80
+ | Extensions | ECC, custom rules, or stack-specific skills may be useful | Scan installed skills/plugins/rules first; recommend only missing capabilities; install only after user approval |
81
+ | Optional capabilities | stack is known or the user wants setup guidance | Offer local workflows plus recommendation-only GitHub links: Superpowers, Caveman, agent research, and code graph; do not duplicate already-installed capabilities |
82
+ | Skills | stack is known and optional skills could improve testing, frontend, backend, review, or browser evidence | Install 1-2 relevant local workflows only after user approval |
70
83
  | CI/CD | CI config exists or the project lacks a test/build gate | Document existing commands first; add CI/CD only after user approval |
71
84
  | Verification depth | browser-visible, API, database, auth, payment, or deployment behavior is affected | Require real command evidence; require browser/API evidence when relevant |
72
85
  | Memory/privacy | repo contains sensitive domain data, customer data, secrets, or private workflows | Enable memory index only; never record secrets or private data |
@@ -113,10 +126,10 @@ The harness validator checks for specific structural invariants. When comparing
113
126
  | `CLAUDE.md` | Must be merged only after user confirmation when it already exists. Required contract: `## 1. Harness Binding & Startup` with the `Harness/SETUP.md` bootstrap contract line; `## 6. Memory & Self-Learning` section; the tool reflection trigger text (`same tool/use pattern fails 3+ times`); the user correction trigger text (`user corrects the same assumption/pattern 2+ times`); `Never bulk-read Harness/` in Startup |
114
127
  | `AGENTS.md` | Root agent entry points to `CLAUDE.md` and `Harness/README.md`; for existing projects, merge only after explicit user consent |
115
128
  | `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 |
116
- | `Harness/MEMORY.md` | All 9 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 |
129
+ | `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 |
117
130
  | `.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 |
118
131
  | `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` |
119
- | `Harness/WF.md` | `WF mode requires multi-subagent orchestration by default`; explicit `/wf`, `wf mode`, `workflow mode`, or `wk mode` requires at least 3 distinct `.claude/agents/` subagents before second planning; `collaboration decision tree`; `Heartbeat Protocol` |
132
+ | `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` |
120
133
  | `Harness/extension.md` | `## Non-Invasive Extension Rules` section with the "Preserve existing" rule; `## Agent Contract` section; `## Registration` section |
121
134
  | `Harness/dispatch.md` | The durable communication invariant; common agent entries for all 9 agents; `## Handoff Format` heading |
122
135
  | `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) |
@@ -125,7 +138,7 @@ The harness validator checks for specific structural invariants. When comparing
125
138
  | `Harness/PROGRESS.md` | global task index with Active Task and task history; cross-task decisions |
126
139
  | `Harness/tasks/<id>/PROGRESS.md` | `## Current Goal`, `## Phase`, `## Heartbeat`, `## Loaded Context` headings |
127
140
  | `Harness/tasks/<id>/PLAN.md` | `## Tasks`, `## Parallel Dispatch`, `## Subagent Synthesis`, `## Verification` headings |
128
- | `Harness/SETUP.md` | Only meaningful for fresh projects. If the project has its own onboarding docs, skip this file entirely (it is temporary). If kept, ensure the "Existing Project Bootstrap Sequence" is present. |
141
+ | `Harness/SETUP.md` | Temporary install/bootstrap guide for new projects, existing projects, legacy upgrades, and Harness update decisions. If kept, ensure "Install or Upgrade Path" is present. |
129
142
  | `Harness/workflows/browser-e2e.md` (if installed as optional) | `data-testid`, `accessible labels/roles`, and `inputs, buttons, filters, rows, empty/error/loading states` requirement |
130
143
  | `Harness/workflows/ts-react-frontend.md` (if installed as optional) | Same UI selector contract as above |
131
144
 
@@ -133,7 +146,7 @@ The harness validator checks for specific structural invariants. When comparing
133
146
 
134
147
  - `Harness/memory/tool-usage-reflections.md`, `Harness/memory/user-corrections-preferences.md`, `Harness/memory/agent-lessons-patterns.md` — these are new empty files
135
148
  - `.claude/agents/*.md` — all 9 common agents
136
- - `.claude/skills/wf-update/SKILL.md` and `.claude/skills/subagent-orchestrator/SKILL.md` — core harness skills and subagent orchestration
149
+ - `.claude/skills/*.md` and mirrored `.agents/skills/*.md` — Claude Code and Codex skill adapters over the same Harness docs
137
150
  - `.claude/rules/ecc/common.md` — universal rules (unless the project has custom rules in this file)
138
151
  - `.claude/settings.json` — harness settings
139
152
  - `Harness/WF.md`, `Harness/lifecycle.md`, `Harness/subagents.md`, `Harness/agent-workflow.md`, `Harness/architecture.md` — harness runtime docs
@@ -141,12 +154,15 @@ The harness validator checks for specific structural invariants. When comparing
141
154
  - `AGENTS.md` — agent registry; if it already exists, ask for user consent before merging or replacing it
142
155
  - `Harness/scripts/validate-harness.mjs` and `tests/.gitkeep` — tooling
143
156
 
144
- Optional workflow examples:
145
-
146
- ```bash
147
- npx create-harness-vibe-coding@latest my-app ./my-app -y --with browser-e2e,ts-react-frontend
148
- npx create-harness-vibe-coding@latest my-app ./my-app -y --preset web-app
149
- ```
157
+ Optional workflow examples:
158
+
159
+ ```bash
160
+ npx create-harness-vibe-coding@latest my-app ./my-app -y --with browser-e2e,ts-react-frontend
161
+ npx create-harness-vibe-coding@latest my-app ./my-app -y --preset web-app
162
+ npx create-harness-vibe-coding@latest my-app ./my-app -y --recommend superpowers,codegraph
163
+ ```
164
+
165
+ `--recommend` records recommendation-only external capability links in this file. It does not install third-party skills or plugins.
150
166
 
151
167
  ### Template Fill Guide
152
168
 
@@ -193,7 +209,7 @@ False confidence is worse than a question. If you catch yourself thinking "this
193
209
 
194
210
  ## How to Find Proper Skills
195
211
 
196
- After the architecture stage reveals your stack, install matching agent skills. Skills teach Claude Code domain-specific patterns, testing conventions, and design rules.
212
+ After the architecture stage reveals your stack, inspect existing `.claude/skills/`, `.agents/skills/`, plugins, hooks, and custom rules before recommending anything. Skills teach Claude Code and Codex domain-specific patterns, testing conventions, and design rules, but duplicate skills create routing noise.
197
213
 
198
214
  **Built-in route**: invoke the `/find-skills` skill (or say "help me find skills for X"). Examples:
199
215
 
@@ -204,28 +220,32 @@ After the architecture stage reveals your stack, install matching agent skills.
204
220
  "I need a skill for PostgreSQL schema design."
205
221
  ```
206
222
 
207
- **Superpowers**: [Superpowers](https://github.com/obra/superpowers) is a community skill registry. Search it:
208
-
209
- ```bash
210
- # If superpowers CLI or MCP is configured
211
- npx skills search "react testing"
212
- npx skills search "python api"
213
- ```
223
+ **External recommendation links**:
224
+
225
+ | Recommendation | Source | Purpose |
226
+ | --- | --- | --- |
227
+ | Superpowers | <https://github.com/obra/Superpowers> | community skill registry and agent workflows |
228
+ | Caveman | <https://github.com/JuliusBrussee/caveman> | terse, low-token agent behavior and memory compression |
229
+ | Agent Research | <https://github.com/lingzhi227/agent-research-skills> | research-agent skills for literature, product, dependency, and ecosystem investigation |
230
+ | CodeGraph | <https://github.com/colbymchenry/codegraph> | code graph or repository-map tooling |
231
+
232
+ These are links for the user's agent to evaluate. This scaffold does not maintain third-party install steps. If a user selects one, first check whether an equivalent capability is already installed; then present the GitHub link and ask for approval before the user's agent follows that project's own README.
214
233
 
215
234
  **Manual discovery**: search GitHub and npm directly using patterns from `Harness/research/README.md#Architecture Decision References`.
216
235
 
217
236
  **Priority order**:
218
- 1. `/find-skills` first fastest discovery, respects your tool environment.
219
- 2. Superpowers registry broad community coverage.
220
- 3. GitHub search when the first two miss niche domains.
237
+ 1. Existing project skills/plugins/rules first - do not recommend duplicates.
238
+ 2. `/find-skills` or the runtime's local skill discovery - fastest and respects the user's tool environment.
239
+ 3. Selected external GitHub links - let the user's agent read that project's README and install only after approval.
240
+ 4. GitHub search - when the first three miss niche domains.
221
241
 
222
- **What to install**: after finding skills, add them to `.claude/skills/<name>/SKILL.md`. Follow `Harness/extension.md` for compatibility. Start with 1-2 skills per stack area; more is not better.
242
+ **What to install**: after finding skills, add the canonical copy to `.claude/skills/<name>/SKILL.md` and mirror the same file to `.agents/skills/<name>/SKILL.md` when Codex should discover it. Follow `Harness/extension.md` for compatibility. Start with 1-2 skills per stack area; more is not better.
223
243
 
224
- This scaffold includes built-in harness skills (`.claude/skills/harness-*`). Keep those. Add stack-specific ones alongside them.
244
+ This scaffold includes built-in harness skills in `.claude/skills/*` and mirrored Codex repo skills in `.agents/skills/*`. Keep those. Add stack-specific ones alongside them.
225
245
 
226
246
  ## Optional Agent Assets
227
247
 
228
- After the product shape is known, Claude may also install or copy stack-specific agents, rules, and hooks into `.claude/`. Follow `Harness/extension.md` for every added asset.
248
+ After the product shape is known, Claude Code may also install or copy stack-specific agents, rules, and hooks into `.claude/`. Codex-discoverable workflow skills belong in `.agents/skills/`. Follow `Harness/extension.md` for every added asset.
229
249
 
230
250
  Examples:
231
251
 
@@ -1,21 +1,21 @@
1
- # Agent Lessons And Patterns
2
-
3
- Purpose: record reusable lessons from review, debugging, validation, and handoff loops.
4
-
5
- Write here when:
6
- - A review/debug loop reveals a reusable prevention pattern.
7
- - A validation failure exposes a missing regression check.
8
- - A handoff, dispatch, or context-loading pattern should be repeated or avoided.
9
-
10
- Entry format, newest first:
11
-
12
- ```markdown
13
- ## YYYY-MM-DD - Short Lesson Name
14
-
15
- - Lesson: the reusable pattern.
16
- - Source: review finding, debug loop, failed verification, or handoff.
17
- - Apply when: the task shape or files where this matters.
18
- - Regression guard: test, validator check, docs update, or manual evidence to keep it from recurring.
19
- ```
20
-
21
- Keep entries lightweight and actionable. Avoid secrets and speculative lessons.
1
+ # Agent Lessons And Patterns
2
+
3
+ Purpose: record reusable lessons from review, debugging, validation, and handoff loops.
4
+
5
+ Write here when:
6
+ - A review/debug loop reveals a reusable prevention pattern.
7
+ - A validation failure exposes a missing regression check.
8
+ - A handoff, dispatch, or context-loading pattern should be repeated or avoided.
9
+
10
+ Entry format, newest first:
11
+
12
+ ```markdown
13
+ ## YYYY-MM-DD - Short Lesson Name
14
+
15
+ - Lesson: the reusable pattern.
16
+ - Source: review finding, debug loop, failed verification, or handoff.
17
+ - Apply when: the task shape or files where this matters.
18
+ - Regression guard: test, validator check, docs update, or manual evidence to keep it from recurring.
19
+ ```
20
+
21
+ Keep entries lightweight and actionable. Avoid secrets and speculative lessons.
@@ -1,21 +1,21 @@
1
- # Tool Usage Reflections
2
-
3
- Purpose: record repeated tool failures, better command patterns, and environment-specific fixes.
4
-
5
- Write here when:
6
- - The same tool/use pattern fails 3+ times in one task or across repeated tasks.
7
- - A more reliable command pattern replaces a brittle one.
8
- - The environment needs a durable fix, flag, path rule, shell syntax, or startup sequence.
9
-
10
- Entry format, newest first:
11
-
12
- ```markdown
13
- ## YYYY-MM-DD - Short Pattern Name
14
-
15
- - Trigger: what failed or repeated.
16
- - Better pattern: the command, tool usage, or sequence to use next time.
17
- - Evidence: command output summary, error text, or affected environment.
18
- - Scope: when this applies and when it does not.
19
- ```
20
-
21
- Keep entries concise. Do not record secrets, credentials, private tokens, or one-off noise.
1
+ # Tool Usage Reflections
2
+
3
+ Purpose: record repeated tool failures, better command patterns, and environment-specific fixes.
4
+
5
+ Write here when:
6
+ - The same tool/use pattern fails 3+ times in one task or across repeated tasks.
7
+ - A more reliable command pattern replaces a brittle one.
8
+ - The environment needs a durable fix, flag, path rule, shell syntax, or startup sequence.
9
+
10
+ Entry format, newest first:
11
+
12
+ ```markdown
13
+ ## YYYY-MM-DD - Short Pattern Name
14
+
15
+ - Trigger: what failed or repeated.
16
+ - Better pattern: the command, tool usage, or sequence to use next time.
17
+ - Evidence: command output summary, error text, or affected environment.
18
+ - Scope: when this applies and when it does not.
19
+ ```
20
+
21
+ Keep entries concise. Do not record secrets, credentials, private tokens, or one-off noise.
@@ -1,21 +1,21 @@
1
- # User Corrections And Preferences
2
-
3
- Purpose: record repeated user corrections, durable preferences, and common-sense course corrections.
4
-
5
- Write here when:
6
- - The user says "remember", "never", "next time", "always", or "I prefer".
7
- - The user corrects the same assumption/pattern 2+ times.
8
- - A correction changes how future work should be scoped, explained, verified, or handed off.
9
-
10
- Entry format, newest first:
11
-
12
- ```markdown
13
- ## YYYY-MM-DD - Short Preference Name
14
-
15
- - Correction/preference: the durable instruction.
16
- - Trigger: what prompted the correction.
17
- - Apply when: future contexts where this should guide behavior.
18
- - Avoid: contexts where this should not be over-applied.
19
- ```
20
-
21
- Do not record ordinary chat. If the preference is ambiguous, ask before writing it. Never store secrets.
1
+ # User Corrections And Preferences
2
+
3
+ Purpose: record repeated user corrections, durable preferences, and common-sense course corrections.
4
+
5
+ Write here when:
6
+ - The user says "remember", "never", "next time", "always", or "I prefer".
7
+ - The user corrects the same assumption/pattern 2+ times.
8
+ - A correction changes how future work should be scoped, explained, verified, or handed off.
9
+
10
+ Entry format, newest first:
11
+
12
+ ```markdown
13
+ ## YYYY-MM-DD - Short Preference Name
14
+
15
+ - Correction/preference: the durable instruction.
16
+ - Trigger: what prompted the correction.
17
+ - Apply when: future contexts where this should guide behavior.
18
+ - Avoid: contexts where this should not be over-applied.
19
+ ```
20
+
21
+ Do not record ordinary chat. If the preference is ambiguous, ask before writing it. Never store secrets.