create-harness-vibe-coding 0.7.1 → 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 -69
  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 +21 -59
  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,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.
@@ -46,27 +46,31 @@ Claude must follow this order:
46
46
 
47
47
  ## Existing Project Bootstrap Sequence
48
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.
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: 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, 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/`, `.agents/`, `.codex/`, `.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.
57
+
58
+ `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` or `node Harness/scripts/wf-update-check.mjs`; root entry files and user-modified Harness docs require agent-mediated merge decisions.
57
59
 
58
60
  ### Agent-Link Install Intake
59
61
 
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 |
62
+ 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.
63
+
64
+ | Topic | Ask When | Default If Unanswered |
65
+ | --- | --- | --- |
66
+ | 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 |
67
+ | 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 |
68
+ | Harness location | Always | Use root `Harness/`; do not write harness docs into `docs/` |
69
+ | README ownership | root `README.md` is a public product page, package docs, or heavily customized | Preserve existing README and propose a minimal Development section |
70
+ | 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 |
71
+ | Extensions | ECC, Superpowers, custom rules, or stack-specific skills may be useful | Recommend first; install only after user approval |
72
+ | Optional capabilities | stack is known or the user wants setup guidance | Offer local workflows plus recommendation-only external options: Superpowers, Caveman, agent research, and code graph |
73
+ | 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
74
  | 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
75
  | Verification depth | browser-visible, API, database, auth, payment, or deployment behavior is affected | Require real command evidence; require browser/API evidence when relevant |
72
76
  | 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 +117,10 @@ The harness validator checks for specific structural invariants. When comparing
113
117
  | `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
118
  | `AGENTS.md` | Root agent entry points to `CLAUDE.md` and `Harness/README.md`; for existing projects, merge only after explicit user consent |
115
119
  | `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 |
120
+ | `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
121
  | `.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
122
  | `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` |
123
+ | `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
124
  | `Harness/extension.md` | `## Non-Invasive Extension Rules` section with the "Preserve existing" rule; `## Agent Contract` section; `## Registration` section |
121
125
  | `Harness/dispatch.md` | The durable communication invariant; common agent entries for all 9 agents; `## Handoff Format` heading |
122
126
  | `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) |
@@ -133,7 +137,7 @@ The harness validator checks for specific structural invariants. When comparing
133
137
 
134
138
  - `Harness/memory/tool-usage-reflections.md`, `Harness/memory/user-corrections-preferences.md`, `Harness/memory/agent-lessons-patterns.md` — these are new empty files
135
139
  - `.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
140
+ - `.claude/skills/*.md` and mirrored `.agents/skills/*.md` — Claude Code and Codex skill adapters over the same Harness docs
137
141
  - `.claude/rules/ecc/common.md` — universal rules (unless the project has custom rules in this file)
138
142
  - `.claude/settings.json` — harness settings
139
143
  - `Harness/WF.md`, `Harness/lifecycle.md`, `Harness/subagents.md`, `Harness/agent-workflow.md`, `Harness/architecture.md` — harness runtime docs
@@ -141,12 +145,15 @@ The harness validator checks for specific structural invariants. When comparing
141
145
  - `AGENTS.md` — agent registry; if it already exists, ask for user consent before merging or replacing it
142
146
  - `Harness/scripts/validate-harness.mjs` and `tests/.gitkeep` — tooling
143
147
 
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
- ```
148
+ Optional workflow examples:
149
+
150
+ ```bash
151
+ npx create-harness-vibe-coding@latest my-app ./my-app -y --with browser-e2e,ts-react-frontend
152
+ npx create-harness-vibe-coding@latest my-app ./my-app -y --preset web-app
153
+ npx create-harness-vibe-coding@latest my-app ./my-app -y --recommend superpowers,codegraph
154
+ ```
155
+
156
+ `--recommend` records recommendation-only external capabilities in this file. It does not install third-party skills or plugins.
150
157
 
151
158
  ### Template Fill Guide
152
159
 
@@ -193,7 +200,7 @@ False confidence is worse than a question. If you catch yourself thinking "this
193
200
 
194
201
  ## How to Find Proper Skills
195
202
 
196
- After the architecture stage reveals your stack, install matching agent skills. Skills teach Claude Code domain-specific patterns, testing conventions, and design rules.
203
+ After the architecture stage reveals your stack, install matching agent skills. Skills teach Claude Code and Codex domain-specific patterns, testing conventions, and design rules.
197
204
 
198
205
  **Built-in route**: invoke the `/find-skills` skill (or say "help me find skills for X"). Examples:
199
206
 
@@ -219,13 +226,13 @@ npx skills search "python api"
219
226
  2. Superpowers registry — broad community coverage.
220
227
  3. GitHub search — when the first two miss niche domains.
221
228
 
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.
229
+ **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
230
 
224
- This scaffold includes built-in harness skills (`.claude/skills/harness-*`). Keep those. Add stack-specific ones alongside them.
231
+ 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
232
 
226
233
  ## Optional Agent Assets
227
234
 
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.
235
+ 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
236
 
230
237
  Examples:
231
238
 
@@ -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.