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,51 +1,30 @@
1
1
  ---
2
2
  name: wf-remove
3
- description: Safely remove Harness framework files. Auto-removes unmodified files, requires user confirmation for anything modified or uncertain. Use for /wf-remove, wf remove, remove harness, or uninstall harness.
3
+ description: Use for /wf-remove in Claude Code, $wf-remove or /skills wf-remove in Codex, or any request to uninstall Harness safely.
4
4
  ---
5
5
 
6
- # WF Remove
6
+ # WF Remove Adapter
7
7
 
8
- Safely removes Harness framework files from a project. Classification is script-driven for speed — no AI guessing about what's safe to delete.
8
+ ## Invocation
9
9
 
10
- ## Load
11
-
12
- - `Harness/scripts/wf-remove.mjs` — the removal script
13
- - `Harness/.harness-version` — stored checksums for modification detection
14
-
15
- ## How It Works
10
+ - Claude Code: use `/wf-remove` or select the `wf-remove` skill.
11
+ - Codex CLI or IDE: use `$wf-remove` or `/skills` then choose `wf-remove`.
16
12
 
17
- 1. Run `node Harness/scripts/wf-remove.mjs` first — this outputs a DRY-RUN plan instantly.
18
- 2. The script classifies all files into three tiers:
19
-
20
- | Tier | Meaning | Action |
21
- |------|---------|--------|
22
- | **SAFE** | Framework file matching stored checksum (unmodified) | Auto-remove |
23
- | **MODIFIED** | Framework file edited by user, or not in checksums | **MUST confirm with user** |
24
- | **USER DATA** | User-owned files (PROGRESS, tasks, memory, research, README, etc.) | **NEVER remove** |
25
-
26
- 3. Review the plan. For MODIFIED files, present each one to the user:
27
- - Show file path and reason it's flagged
28
- - Options: **[D]elete** / **[K]eep** (default: keep)
29
- - Never delete without explicit user confirmation
13
+ ## Load
30
14
 
31
- 4. Run `node Harness/scripts/wf-remove.mjs --apply` to execute.
32
- 5. After removal, empty directories are auto-cleaned up.
33
- 6. The CLAUDE.md Harness Binding section is flagged for separate confirmation.
15
+ - `Harness/.harness-version`
16
+ - `Harness/scripts/wf-remove.mjs`
34
17
 
35
- ## Rules
18
+ ## Flow
36
19
 
37
- - **NEVER delete USER DATA files.** No exceptions.
38
- - **NEVER delete MODIFIED files without user confirmation.** Each file must be explicitly approved.
39
- - **DO auto-remove SAFE files** — these match the original scaffold checksum, user never touched them.
40
- - After removal, suggest `git status` to review.
41
- - If `.claude/settings.json` was modified (user added hooks/permissions), flag it separately the user may want to keep their hooks.
42
- - Do NOT auto-delete Harness/ if it still contains user files.
20
+ 1. Run `node Harness/scripts/wf-remove.mjs` for a dry-run plan.
21
+ 2. Auto-remove only SAFE files that still match stored checksums.
22
+ 3. Ask the user before every MODIFIED or uncertain file.
23
+ 4. Never remove USER DATA files.
24
+ 5. Run `node Harness/scripts/wf-remove.mjs --apply` only after the plan is
25
+ understood and modified-file decisions are clear.
43
26
 
44
27
  ## Return
45
28
 
46
- - Files removed (safe)
47
- - Files kept (modified, user chose keep)
48
- - Files preserved (user data — never touched)
49
- - Directories cleaned up
50
- - CLAUDE.md status
51
- - Git status suggestion
29
+ Report SAFE removals, MODIFIED keep/delete decisions, preserved USER DATA,
30
+ directory cleanup, CLAUDE/AGENTS status, and `git status` guidance.
@@ -1,84 +1,34 @@
1
1
  ---
2
2
  name: wf-review
3
- description: Cross-model peer review. Invokes the other agent CLI (Codex or Claude) to independently review changes across 5 dimensions with severity classification. Use for /wf-review, peer review, second opinion, or when stuck.
3
+ description: Use for /wf-review in Claude Code, $wf-review or /skills wf-review in Codex, peer review, second opinion, or cross-model review.
4
4
  ---
5
5
 
6
- # WF Review — Cross-Model Peer Review
6
+ # WF Review Adapter
7
7
 
8
- **Anti-Self-Review Guard:** Use the OTHER CLI. Claude→Codex, Codex→Claude. Never self-review.
8
+ Use the other available agent CLI for independent review. Never simulate a
9
+ cross-model review with the same model.
9
10
 
10
- ## When to Ask the User (AskUserQuestion)
11
+ ## Invocation
11
12
 
12
- BEFORE invoking the other CLI, use `AskUserQuestion` to clarify:
13
+ - Claude Code: use `/wf-review [focus]` or select the `wf-review` skill.
14
+ - Codex CLI or IDE: use `$wf-review` or `/skills` then choose `wf-review`.
13
15
 
14
- - Review focus ambiguous → "Which dimension should I prioritize?"
15
- - Multiple changes to review → "Review all files or specific module?"
16
- - User said "review this" without specifics → ask scope
17
-
18
- Format: 2-3 options with trade-off descriptions.
19
-
20
- **Codex fallback** (no AskUserQuestion tool): output numbered options in markdown, wait for user reply.
21
-
22
- ## CLI Detection & Invocation
16
+ ## CLI Direction
23
17
 
24
18
  | Runtime | Command |
25
- |---|---|
26
- | Claude Codex | `git diff \| codex exec "<5-dimension review prompt>"` |
27
- | Codex Claude | `git diff \| claude -p "<5-dimension review prompt>"` |
28
- | Only one CLI | Warn user. Do NOT self-review. |
29
-
30
- ## 5 Mandatory Review Dimensions
19
+ | --- | --- |
20
+ | Claude Code -> Codex | `git diff | codex exec "<5-dimension review prompt>"` |
21
+ | Codex -> Claude Code | `git diff | claude -p "<5-dimension review prompt>"` |
22
+ | Only one CLI | Warn user. Do not self-review. |
31
23
 
32
- Construct the prompt covering ALL 5:
24
+ ## Review Dimensions
33
25
 
34
- | # | Dimension | Key Questions |
35
- |---|-----------|---------------|
36
- | 1 | **Correctness** | Bugs, edge cases, race conditions, null/undefined, logic flaws? |
37
- | 2 | **Security** | Injection, auth bypass, data exposure, input validation, unsafe deps? |
38
- | 3 | **Architecture** | Boundary violations, coupling, state ownership, interface contract breaks? |
39
- | 4 | **Performance** | Algorithmic complexity, N+1 queries, memory leaks, unnecessary allocations? |
40
- | 5 | **Tests** | Coverage gaps, missing edge cases, test quality, CI regressions? |
26
+ Cover correctness, security, architecture, performance, and tests. Classify
27
+ findings as Critical, High, Medium, or Low. Return raw peer output first, then
28
+ your severity-classified synthesis.
41
29
 
42
30
  ## Context
43
31
 
44
- Include: `git diff` (or `git diff --cached`), relevant `Harness/` docs (architecture.md), the 5-dimension table above.
45
-
46
- **Size guard:** diff >500 lines warn + suggest narrower scope or split review.
47
-
48
- ## Severity Classification
49
-
50
- | Severity | Criteria | Action |
51
- |----------|----------|--------|
52
- | **Critical** | Security vuln, data loss, crash, data corruption | Must fix before merge |
53
- | **High** | Bug, regression, spec violation, broken contract | Should fix before merge |
54
- | **Medium** | Maintainability, duplication, test gap, perf concern | May defer with written justification |
55
- | **Low** | Style, naming, minor optimization, nit | Optional |
56
-
57
- ## Rules
58
-
59
- - Bash MUST invoke the other CLI — never simulate.
60
- - Both CLIs fail → report error, don't skip.
61
- - Raw output first, then your classified synthesis.
62
- - Peer findings = authoritative; your classification = supplementary.
63
-
64
- ## CEO Synthesis Output
65
-
66
- ```
67
- Review CLI: [Codex / Claude]
68
- Dimensions: Correctness, Security, Architecture, Performance, Tests
69
-
70
- Critical (must fix):
71
- - [file:line] description → fix
72
-
73
- High (should fix):
74
- - [file:line] description → fix
75
-
76
- Medium (may defer):
77
- - [file:line] description → note
78
-
79
- Low (optional):
80
- - [file:line] description
81
-
82
- Verdict: APPROVE / APPROVE_WITH_FIXES / REJECT
83
- Actions: 1. ... 2. ...
84
- ```
32
+ Include the relevant diff, `Harness/architecture.md` when architecture is in
33
+ scope, and any task acceptance criteria. If the diff is too large, ask for a
34
+ narrower scope before invoking the other CLI.
@@ -1,74 +1,32 @@
1
1
  ---
2
2
  name: wf-update
3
- description: Use when the user says /wf-update, wf update, update harness, or check for updates. Script-driven comparison for speed fetches remote checksums, compares locally in milliseconds, only surfaces conflicts for user decision.
3
+ description: Use for /wf-update in Claude Code, $wf-update or /skills wf-update in Codex, or any request to check for or apply Harness scaffold updates.
4
4
  ---
5
5
 
6
- # WF Update
6
+ # WF Update Adapter
7
7
 
8
- Script-driven harness update. The script does all comparison in milliseconds; AI only handles CONFLICT files.
8
+ ## Invocation
9
9
 
10
- ## Load
11
-
12
- - `Harness/scripts/wf-update-check.mjs` — the fast comparison + apply script
13
- - `Harness/.harness-version` — stored checksums
14
-
15
- ## How It Works (script-driven, fast)
16
-
17
- 1. Run `node Harness/scripts/wf-update-check.mjs` — fetches remote `.harness-version`, compares all checksums locally, outputs instant plan.
18
- 2. The script classifies every file:
19
-
20
- | Tier | Meaning | Action |
21
- |------|---------|--------|
22
- | **SAFE** | Framework file, local matches stored checksum | Auto-update |
23
- | **NEW** | File in remote but not local | Auto-create |
24
- | **CONFLICT** | MERGE file user modified, or runtime file diverged | **User decides** |
25
- | **PRESERVE** | User data (PROGRESS, tasks, memory, PRD, README, etc.) | **Never touch** |
26
- | **SKIPPED** | File in local but not remote | Skip |
27
-
28
- 3. For CONFLICT files, present each one to the user:
29
- - Show file path and reason
30
- - Options: **[M]erge** (recommended — keep user changes, apply framework updates) / **[O]verwrite** (discard user changes, use remote) / **[K]eep** (skip this file)
10
+ - Claude Code: use `/wf-update` or select the `wf-update` skill.
11
+ - Codex CLI or IDE: use `$wf-update` or `/skills` then choose `wf-update`.
31
12
 
32
- 4. Run `node Harness/scripts/wf-update-check.mjs --apply` to execute SAFE+NEW files. CONFLICT files are resolved manually by the AI after user decision.
33
- 5. After update, run `node Harness/scripts/validate-harness.mjs`.
34
- 6. Run `node Harness/scripts/scan-clean.mjs` to find dead files (tracked in local `.harness-version` but removed from the remote template) and orphan files (on disk in framework directories but untracked by either checksum set). Review findings; clean with `--clean --yes`.
35
-
36
- ## Speed
37
-
38
- | Step | Before (AI-driven) | After (script-driven) |
39
- |------|-------------------|----------------------|
40
- | Fetch file list | N WebFetch calls | 1 HTTP fetch |
41
- | Compare checksums | AI reads each file | Script computes SHA-256 in ms |
42
- | Classify | AI reasons per file | Script uses pattern matching |
43
- | Apply | AI writes each file | Script batch writes |
44
-
45
- ## Rules
46
-
47
- - **NEVER overwrite PRESERVE files.** No exceptions.
48
- - **NEVER auto-merge CONFLICT files** — user MUST decide: merge / overwrite / keep.
49
- - If offline: report and exit cleanly.
50
- - After update, suggest `node Harness/scripts/validate-harness.mjs`.
51
- - The script normalizes line endings (CRLF→LF) for checksum comparison.
13
+ ## Load
52
14
 
53
- ## Scan & Clean
15
+ - `Harness/.harness-version`
16
+ - `Harness/scripts/wf-update-check.mjs`
17
+ - `Harness/scripts/scan-clean.mjs`
18
+ - `Harness/scripts/validate-harness.mjs`
54
19
 
55
- After a successful update, run dead-file detection to remove files that were tracked in the previous harness version but removed from the new remote template. This keeps the project clean and prevents stale framework files from accumulating.
20
+ ## Flow
56
21
 
57
- 1. Run `node Harness/scripts/scan-clean.mjs` — scans for dead files (tracked in local `.harness-version` but not in remote) and orphan files (on disk in framework directories but untracked by either checksum set).
58
- 2. Report findings to the user:
59
- - **DEAD files** — safe to delete (not in remote template, not preserved). List each path.
60
- - **ORPHAN files** needs review (untracked in framework directories like `.claude/agents/`, `Harness/scripts/`, etc.).
61
- - **EMPTY DIRS** directories that would become empty after cleaning.
62
- 3. If DEAD files are found, ask the user to confirm cleanup before proceeding.
63
- 4. Run `node Harness/scripts/scan-clean.mjs --clean --yes` to delete dead files, remove empty parent directories, and update `.harness-version`.
64
- 5. Report a cleanup summary: files deleted, empty directories removed, any failures.
22
+ 1. Run `node Harness/scripts/wf-update-check.mjs` first.
23
+ 2. Preserve all PRESERVE files. Never overwrite user task, memory, research,
24
+ README, package, or architecture files.
25
+ 3. Apply SAFE and NEW files through the script.
26
+ 4. Ask the user before every CONFLICT file: merge, overwrite, or keep.
27
+ 5. After update, run the validator and then scan-clean.
65
28
 
66
29
  ## Return
67
30
 
68
- - Update version (from to)
69
- - Files auto-updated (SAFE + NEW count)
70
- - Files in conflict (each with merge/overwrite/keep decision)
71
- - Files skipped
72
- - Validation suggestion
73
- - Dead files found and cleaned
74
- - Orphan files flagged for review
31
+ Report version, SAFE/NEW updates, conflicts and decisions, preserved files,
32
+ validation output, scan-clean result, and remaining risks.
@@ -1,2 +1,2 @@
1
- [features]
2
- hooks = true
1
+ [features]
2
+ hooks = true
@@ -1,37 +1,37 @@
1
- {
2
- "hooks": {
3
- "SessionStart": [
4
- {
5
- "matcher": "",
6
- "hooks": [
7
- {
8
- "type": "command",
9
- "command": "node Harness/scripts/wf-mode-hook.mjs"
10
- }
11
- ]
12
- }
13
- ],
14
- "UserPromptSubmit": [
15
- {
16
- "matcher": "",
17
- "hooks": [
18
- {
19
- "type": "command",
20
- "command": "node Harness/scripts/wf-mode-hook.mjs"
21
- }
22
- ]
23
- }
24
- ],
25
- "PreToolUse": [
26
- {
27
- "matcher": "Edit|Write|MultiEdit|Bash",
28
- "hooks": [
29
- {
30
- "type": "command",
31
- "command": "node Harness/scripts/wf-mode-hook.mjs"
32
- }
33
- ]
34
- }
35
- ]
36
- }
37
- }
1
+ {
2
+ "hooks": {
3
+ "SessionStart": [
4
+ {
5
+ "matcher": "",
6
+ "hooks": [
7
+ {
8
+ "type": "command",
9
+ "command": "node Harness/scripts/wf-mode-hook.mjs"
10
+ }
11
+ ]
12
+ }
13
+ ],
14
+ "UserPromptSubmit": [
15
+ {
16
+ "matcher": "",
17
+ "hooks": [
18
+ {
19
+ "type": "command",
20
+ "command": "node Harness/scripts/wf-mode-hook.mjs"
21
+ }
22
+ ]
23
+ }
24
+ ],
25
+ "PreToolUse": [
26
+ {
27
+ "matcher": "Edit|Write|MultiEdit|Bash",
28
+ "hooks": [
29
+ {
30
+ "type": "command",
31
+ "command": "node Harness/scripts/wf-mode-hook.mjs"
32
+ }
33
+ ]
34
+ }
35
+ ]
36
+ }
37
+ }
@@ -1,10 +1,18 @@
1
1
  {
2
- "generator": "0.7.2",
3
- "generated": "2026-06-26T10:23:43.805Z",
2
+ "generator": "0.8.1",
3
+ "generated": "2026-07-01T06:31:02.525Z",
4
4
  "options": [],
5
5
  "autoCheck": true,
6
6
  "source": "https://raw.githubusercontent.com/zingspark/create-harness-vibe-coding/main/templates/common/",
7
7
  "checksums": {
8
+ ".agents/skills/subagent-orchestrator/SKILL.md": "sha256-d17b1e49aa8e3125b17621242f620ac89c10692fac853bf0a682a87f660d86da",
9
+ ".agents/skills/wf-learn/SKILL.md": "sha256-7f3e1ee0aa83cbb76707698d0c26b703ad5c74b2df95a7dc4d751939a4ba05b2",
10
+ ".agents/skills/wf-max/SKILL.md": "sha256-5463c4ac6a34848639c176000ef3f1989c54e7cb795e47251ef465782118a18d",
11
+ ".agents/skills/wf-readme/SKILL.md": "sha256-4d34ee3b6b305fa2581f5d8cb31e9152759f3df8bf8fa08efbb43782f128bdcd",
12
+ ".agents/skills/wf-remove/SKILL.md": "sha256-34888c78feade04e8b6d1f22e366c04e3daefc8c0f9e6ea39f52cf0a7f3ec01f",
13
+ ".agents/skills/wf-review/SKILL.md": "sha256-cc6d536ec6de25546a0ba96e686f195da50ed11bc03763a76ef46d77243d3537",
14
+ ".agents/skills/wf-update/SKILL.md": "sha256-c58d1238d2a5f47dda9c8bea2ccd95d350e39ef0985c9c69d8111e7e84a3a4b6",
15
+ ".agents/skills/wf/SKILL.md": "sha256-70766bd2cb02bc489b5cc021797af62596a005d444a026abb511054a1a820a67",
8
16
  ".claude/agents/architect-manager.md": "sha256-d98c3a2d044d5216d9bcde217b4359b1c33f5be152416e242807652ddcd2868b",
9
17
  ".claude/agents/architect.md": "sha256-61cea40c8c3e01bd53f3ad642ef734850fdb931497e7ee20552ea7a8b4e7b70c",
10
18
  ".claude/agents/context-master.md": "sha256-e94c921565d979fef5651aeaad190b531b407075ce94c72dfa4412c1282e250a",
@@ -20,48 +28,49 @@
20
28
  ".claude/agents/reviewer.md": "sha256-2913b7799fcd8e162f01ae0de09a41ec7083de5f0cae3abcd4ecc62acc675a6b",
21
29
  ".claude/agents/test-writer.md": "sha256-9018a9f65f1861a9bade999790e945d258781c1d846eb30a9de23ec3ce5f1d82",
22
30
  ".claude/agents/verifier.md": "sha256-6d8ca8bd13d7bb7680423875269e407c06aca60334df44d9230a015aabd0a8d0",
23
- ".claude/commands/wf-learn.md": "sha256-dd0b327e634972b3c9dc5d0b2213345d295444d3b40f19a7676327ab1ff36f9a",
24
- ".claude/commands/wf-max.md": "sha256-fb64fc098ebac2cf36a06a3fbbc8881d0ddaf9ae05ee959124500038e4494833",
25
- ".claude/commands/wf-remove.md": "sha256-85ac16ecfc80c25c57690540d55beca1769ea4c66491a7e039692a0e61d5d382",
26
- ".claude/commands/wf-review.md": "sha256-fda0dcb41ebe4e26eed51328588cfb3ee22fbeaa447d108acc1729a4049c4e2c",
27
- ".claude/commands/wf-update.md": "sha256-0287c8968faa375495211c6038e2964dc3bea7632fc7b03798309232e8261f35",
28
- ".claude/commands/wf.md": "sha256-436dad0e57cb7a7f97074381c1e8bb43493707374428cf5a64b6d1840c8fc086",
29
31
  ".claude/rules/ecc/common.md": "sha256-157c300e3b47049998d1bca867da6f9b54efb5de6efbabbb64a22af4cb2b84e8",
30
32
  ".claude/settings.json": "sha256-3ee53515a829b85267b7330fad9e90d797f1bd16964ec9f876fdd630a0d2c093",
31
- ".claude/skills/subagent-orchestrator/SKILL.md": "sha256-c9b90d8cfbeb8e7c1f89519e34d7da8dc0f0cad102092443e221518c723320e1",
32
- ".claude/skills/wf-learn/SKILL.md": "sha256-9e9100a161327d53a35709d881745c5d1473de058707537b3566474f3c113cac",
33
- ".claude/skills/wf-max/SKILL.md": "sha256-48571a7e7ab121ceda34a7280311a2a673c67a4da80940f8ea6ab3fc36fcf26f",
33
+ ".claude/skills/subagent-orchestrator/SKILL.md": "sha256-d17b1e49aa8e3125b17621242f620ac89c10692fac853bf0a682a87f660d86da",
34
+ ".claude/skills/wf-learn/SKILL.md": "sha256-7f3e1ee0aa83cbb76707698d0c26b703ad5c74b2df95a7dc4d751939a4ba05b2",
35
+ ".claude/skills/wf-max/SKILL.md": "sha256-5463c4ac6a34848639c176000ef3f1989c54e7cb795e47251ef465782118a18d",
34
36
  ".claude/skills/wf-readme/SKILL.md": "sha256-4d34ee3b6b305fa2581f5d8cb31e9152759f3df8bf8fa08efbb43782f128bdcd",
35
- ".claude/skills/wf-remove/SKILL.md": "sha256-4057d8f0672ad44990354670aeb6c5be0c3d1f934781b26f776323f070f4a984",
36
- ".claude/skills/wf-review/SKILL.md": "sha256-43269317af25e38c283ae859c69567b6624cf3be8079feb43aee4afe5d1f0814",
37
- ".claude/skills/wf-update/SKILL.md": "sha256-9c40d89ef52762793d97461da36709148af4a03222c352fde40f0193d0dddb58",
37
+ ".claude/skills/wf-remove/SKILL.md": "sha256-34888c78feade04e8b6d1f22e366c04e3daefc8c0f9e6ea39f52cf0a7f3ec01f",
38
+ ".claude/skills/wf-review/SKILL.md": "sha256-cc6d536ec6de25546a0ba96e686f195da50ed11bc03763a76ef46d77243d3537",
39
+ ".claude/skills/wf-update/SKILL.md": "sha256-c58d1238d2a5f47dda9c8bea2ccd95d350e39ef0985c9c69d8111e7e84a3a4b6",
40
+ ".claude/skills/wf/SKILL.md": "sha256-70766bd2cb02bc489b5cc021797af62596a005d444a026abb511054a1a820a67",
38
41
  ".codex/config.toml": "sha256-d37497c3278121598a663564ab38b53f658969717f78decb661ddd11c66551ea",
39
42
  ".codex/hooks.json": "sha256-6d8d237b4a038a48fbadbdd087d9a68dba024bcfd748f59968252ebae7cc2e96",
40
43
  "AGENTS.md": "sha256-bbc17b119ff579e500dcd36e78f9cf600ccda27fa7b32903f233ad96a97058ff",
41
44
  "CLAUDE.md": "sha256-432bd4dc9bdf9958d79ae697f72d1c9723be23fb156d43889ede84e305ed5e70",
42
- "Harness/MEMORY.md": "sha256-368bba7ae0a63b931dc547c013dd4c361e597ca5a54affa662778cd0f441d788",
43
- "Harness/README.md": "sha256-9ac42a3ad00890bfefba8cb658c5eb1d4ad086075d0fa70492e01c8b95dea770",
44
- "Harness/SETUP.md": "sha256-7487bfbcf13c29d138589ad533163c2112fc37c3b791397e4cfe6a32efd24d4e",
45
+ "Harness/MEMORY.md": "sha256-68b3e2b68880814bad11aa6d444d6b736848ac14c2a758ec3225c688a2c1882e",
46
+ "Harness/README.md": "sha256-6608f74400dbae1e73b838d6b74f02e73a0b0e54404e899628dde6ccfbf06cf4",
47
+ "Harness/SETUP.md": "sha256-e0fdd6a7751595f62f15d4374e1f201fcd0aa8b8ac44528a39cbf5b04db0e3bd",
45
48
  "Harness/WF-MAX.md": "sha256-81c788ac56a0c1673a9e6bdf619efbcfa9c961ca7c5065c15b98760775f963a6",
46
- "Harness/WF.md": "sha256-3acd410f420a99a4237ddcb702502888538e09caaf2295789ef1358a15feb75f",
49
+ "Harness/WF.md": "sha256-7cce2568444295cb387fa958cd4ef9711a19697b60ce9cba0e142484e0a165ae",
47
50
  "Harness/agent-workflow.md": "sha256-1aff5e7dc1e082c559cb0a9086c4f93f6702905aff00ebb957300f463ea80b31",
48
51
  "Harness/context-loading.md": "sha256-0d97d6ec2325063f7158511f3462ca9cbdf3b6db177a79dac8ee7d2cb7930264",
49
52
  "Harness/dispatch.md": "sha256-e0c6a3a46acc8899574c9b6d6bb4da119adb9e9ed1ce91acc9f7a688ed3aea15",
50
53
  "Harness/extension.md": "sha256-686f76d83e91750c20d4f5aa8e614f5003baeb5a703d0451f469ca7eeab75e37",
51
54
  "Harness/lifecycle.md": "sha256-5979c37e66e35940cb707f8cd71e97d53bb05399c3281c714f69499abdee59a4",
52
55
  "Harness/research/README.md": "sha256-956c154df01cb9376972eb8b88bb3be0fe4e2dda802a72457c0126e3476fa755",
53
- "Harness/scripts/scan-clean.mjs": "sha256-66d42f5cbc6374c826cd488bd0b2fcef11eb22d60ac7995e3585c7de5cb2cb44",
54
- "Harness/scripts/validate-harness.mjs": "sha256-36a5530ca5bc6acc986a9d694c7355a575430c32a0f486a4591ae98fcbd5cc64",
56
+ "Harness/scripts/scan-clean.mjs": "sha256-7f693faf762c9c8e7657143d651f7c8369ed4823f18babe21daec58a55025593",
57
+ "Harness/scripts/validate-harness.mjs": "sha256-f3211c2149918b1cfc83648ea2e992b80c45b0c00f9a5b9f02a6f6094e7791d6",
55
58
  "Harness/scripts/wf-mode-hook.mjs": "sha256-289f0df4155dd8523507f59add5eac72c0aa92efc85a78d5a46350b9c9bb4f80",
56
- "Harness/scripts/wf-remove.mjs": "sha256-e0a3cc9a9546484b8d8b26d0ffd6af24a9d4521d2a61c728d16756981e4c36fc",
59
+ "Harness/scripts/wf-remove.mjs": "sha256-2ae2687c63cd3aea3b36713d67ce78811df6541a19904b153d17518b6268938b",
57
60
  "Harness/scripts/wf-statusline.ps1": "sha256-53c2e0178e9a0826516731b1145f96f55ff6c57fb1f31bf6f1a7210a8502ca65",
58
61
  "Harness/scripts/wf-statusline.sh": "sha256-053908cd4d53dea162252077c6cc5544ccd164455739f6edfbf254945f06ea2f",
59
62
  "Harness/scripts/wf-update-check.mjs": "sha256-8c3fa219e902056c20c55b2abfa5152349d9e00f4faa5bef646f78bfb71c486f",
60
- "Harness/subagents.md": "sha256-e66f4bef8ce6c118cf0ec8c511f727a8c2c40bce25dcf5b754489d89915a47ba",
61
- "commands/wf-max.toml": "sha256-89818556f93d51cfe508a0c92de171f0f46be65d8001eb3eac68e46f18ddf783",
62
- "commands/wf-review.toml": "sha256-d2b58f3892d2f7c5c689baa9e3361c1e355fae72bf632a6ed61f1a16743848f9"
63
+ "Harness/subagents.md": "sha256-e66f4bef8ce6c118cf0ec8c511f727a8c2c40bce25dcf5b754489d89915a47ba"
63
64
  },
64
65
  "sources": {
66
+ ".agents/skills/subagent-orchestrator/SKILL.md": ".claude/skills/subagent-orchestrator/SKILL.md",
67
+ ".agents/skills/wf-learn/SKILL.md": ".claude/skills/wf-learn/SKILL.md",
68
+ ".agents/skills/wf-max/SKILL.md": ".claude/skills/wf-max/SKILL.md",
69
+ ".agents/skills/wf-readme/SKILL.md": ".claude/skills/wf-readme/SKILL.md",
70
+ ".agents/skills/wf-remove/SKILL.md": ".claude/skills/wf-remove/SKILL.md",
71
+ ".agents/skills/wf-review/SKILL.md": ".claude/skills/wf-review/SKILL.md",
72
+ ".agents/skills/wf-update/SKILL.md": ".claude/skills/wf-update/SKILL.md",
73
+ ".agents/skills/wf/SKILL.md": ".claude/skills/wf/SKILL.md",
65
74
  ".claude/agents/architect-manager.md": ".claude/agents/architect-manager.md",
66
75
  ".claude/agents/architect.md": ".claude/agents/architect.md",
67
76
  ".claude/agents/context-master.md": ".claude/agents/context-master.md",
@@ -77,12 +86,6 @@
77
86
  ".claude/agents/reviewer.md": ".claude/agents/reviewer.md",
78
87
  ".claude/agents/test-writer.md": ".claude/agents/test-writer.md",
79
88
  ".claude/agents/verifier.md": ".claude/agents/verifier.md",
80
- ".claude/commands/wf-learn.md": ".claude/commands/wf-learn.md",
81
- ".claude/commands/wf-max.md": ".claude/commands/wf-max.md",
82
- ".claude/commands/wf-remove.md": ".claude/commands/wf-remove.md",
83
- ".claude/commands/wf-review.md": ".claude/commands/wf-review.md",
84
- ".claude/commands/wf-update.md": ".claude/commands/wf-update.md",
85
- ".claude/commands/wf.md": ".claude/commands/wf.md",
86
89
  ".claude/rules/ecc/common.md": ".claude/rules/ecc/common.md",
87
90
  ".claude/settings.json": ".claude/settings.json",
88
91
  ".claude/skills/subagent-orchestrator/SKILL.md": ".claude/skills/subagent-orchestrator/SKILL.md",
@@ -92,6 +95,7 @@
92
95
  ".claude/skills/wf-remove/SKILL.md": ".claude/skills/wf-remove/SKILL.md",
93
96
  ".claude/skills/wf-review/SKILL.md": ".claude/skills/wf-review/SKILL.md",
94
97
  ".claude/skills/wf-update/SKILL.md": ".claude/skills/wf-update/SKILL.md",
98
+ ".claude/skills/wf/SKILL.md": ".claude/skills/wf/SKILL.md",
95
99
  ".codex/config.toml": ".codex/config.toml",
96
100
  ".codex/hooks.json": ".codex/hooks.json",
97
101
  ".gitignore": ".gitignore",
@@ -99,23 +103,23 @@
99
103
  "CLAUDE.md": "CLAUDE.md",
100
104
  "Harness/.harness-version": ".harness-version",
101
105
  "Harness/MEMORY.md": "MEMORY.md",
102
- "Harness/PROGRESS.md": "docs/harness/PROGRESS.md",
103
- "Harness/README.md": "docs/README.md",
106
+ "Harness/PROGRESS.md": "Harness/PROGRESS.md",
107
+ "Harness/README.md": "Harness/README.md",
104
108
  "Harness/SETUP.md": "SETUP.md",
105
- "Harness/WF-MAX.md": "docs/harness/WF-MAX.md",
106
- "Harness/WF.md": "docs/harness/WF.md",
107
- "Harness/agent-workflow.md": "docs/harness/agent-workflow.md",
108
- "Harness/architecture.md": "docs/harness/architecture.md",
109
- "Harness/context-loading.md": "docs/harness/context-loading.md",
110
- "Harness/dispatch.md": "docs/harness/dispatch.md",
111
- "Harness/extension.md": "docs/harness/extension.md",
112
- "Harness/lifecycle.md": "docs/harness/lifecycle.md",
109
+ "Harness/WF-MAX.md": "Harness/WF-MAX.md",
110
+ "Harness/WF.md": "Harness/WF.md",
111
+ "Harness/agent-workflow.md": "Harness/agent-workflow.md",
112
+ "Harness/architecture.md": "Harness/architecture.md",
113
+ "Harness/context-loading.md": "Harness/context-loading.md",
114
+ "Harness/dispatch.md": "Harness/dispatch.md",
115
+ "Harness/extension.md": "Harness/extension.md",
116
+ "Harness/lifecycle.md": "Harness/lifecycle.md",
113
117
  "Harness/memory/agent-lessons-patterns.md": "memory/agent-lessons-patterns.md",
114
118
  "Harness/memory/tool-usage-reflections.md": "memory/tool-usage-reflections.md",
115
119
  "Harness/memory/user-corrections-preferences.md": "memory/user-corrections-preferences.md",
116
- "Harness/research/PRD.md": "docs/research/PRD.md",
117
- "Harness/research/README.md": "docs/research/README.md",
118
- "Harness/research/research-results.md": "docs/research/research-results.md",
120
+ "Harness/research/PRD.md": "Harness/research/PRD.md",
121
+ "Harness/research/README.md": "Harness/research/README.md",
122
+ "Harness/research/research-results.md": "Harness/research/research-results.md",
119
123
  "Harness/scripts/scan-clean.mjs": "scripts/scan-clean.mjs",
120
124
  "Harness/scripts/validate-harness.mjs": "scripts/validate-harness.mjs",
121
125
  "Harness/scripts/wf-mode-hook.mjs": "scripts/wf-mode-hook.mjs",
@@ -123,13 +127,11 @@
123
127
  "Harness/scripts/wf-statusline.ps1": "scripts/wf-statusline.ps1",
124
128
  "Harness/scripts/wf-statusline.sh": "scripts/wf-statusline.sh",
125
129
  "Harness/scripts/wf-update-check.mjs": "scripts/wf-update-check.mjs",
126
- "Harness/subagents.md": "docs/harness/subagents.md",
127
- "Harness/tasks/_template/ARTIFACTS.md": "docs/tasks/_template/ARTIFACTS.md",
128
- "Harness/tasks/_template/NOTES.md": "docs/tasks/_template/NOTES.md",
129
- "Harness/tasks/_template/PLAN.md": "docs/tasks/_template/PLAN.md",
130
- "Harness/tasks/_template/PROGRESS.md": "docs/tasks/_template/PROGRESS.md",
131
- "README.md": "README.md",
132
- "commands/wf-max.toml": "commands/wf-max.toml",
133
- "commands/wf-review.toml": "commands/wf-review.toml"
130
+ "Harness/subagents.md": "Harness/subagents.md",
131
+ "Harness/tasks/_template/ARTIFACTS.md": "Harness/tasks/_template/ARTIFACTS.md",
132
+ "Harness/tasks/_template/NOTES.md": "Harness/tasks/_template/NOTES.md",
133
+ "Harness/tasks/_template/PLAN.md": "Harness/tasks/_template/PLAN.md",
134
+ "Harness/tasks/_template/PROGRESS.md": "Harness/tasks/_template/PROGRESS.md",
135
+ "README.md": "README.md"
134
136
  }
135
137
  }
@@ -1,30 +1,30 @@
1
- # AGENTS.md
2
-
3
- Entry point for coding agents. This project uses the Harness scaffold — a 0-1 product workflow contract.
4
-
5
- ## Startup
6
-
7
- Read `CLAUDE.md` first, then `Harness/MEMORY.md`, then `Harness/README.md`.
8
- Do not bulk-read `Harness/`. Let `Harness/README.md#Load By Task` route you.
9
-
10
- ## CEO Contract (READ FIRST)
11
-
12
- `/wf-max` active → you are **CEO, not implementer**.
13
-
14
- | ALLOWED (W0) | FORBIDDEN (always on source) |
15
- |---|---|
16
- | Read Harness docs, CLAUDE.md | Edit / Write / MultiEdit |
17
- | Grep/Glob for scoping | Bash (except `ls`/`dir`/`tree`/`git`) |
18
- | Agent spawn (ONE message) | Deep source reads → delegate to Worker |
19
- | Write PLAN.md / PROGRESS.md | Sequential spawn (AP6) |
20
-
21
- **Tempted to edit source? STOP. Spawn a Worker.**
22
-
23
- ## Key Commands
24
-
25
- | Command | Purpose |
26
- |---------|---------|
27
- | `/wf-max [task]` | Maximum parallelism: CEO→Manager→Worker |
28
- | `/wf-review [focus]` | Cross-model peer review (use OTHER CLI) |
29
- | `/wf <task>` | Standard workflow mode |
30
- | `/wf-auto` | Perpetual auto-optimization |
1
+ # AGENTS.md
2
+
3
+ Entry point for coding agents. This project uses the Harness scaffold — a 0-1 product workflow contract.
4
+
5
+ ## Startup
6
+
7
+ Read `CLAUDE.md` first, then `Harness/MEMORY.md`, then `Harness/README.md`.
8
+ Do not bulk-read `Harness/`. Let `Harness/README.md#Load By Task` route you.
9
+
10
+ ## CEO Contract (READ FIRST)
11
+
12
+ `/wf-max` active → you are **CEO, not implementer**.
13
+
14
+ | ALLOWED (W0) | FORBIDDEN (always on source) |
15
+ |---|---|
16
+ | Read Harness docs, CLAUDE.md | Edit / Write / MultiEdit |
17
+ | Grep/Glob for scoping | Bash (except `ls`/`dir`/`tree`/`git`) |
18
+ | Agent spawn (ONE message) | Deep source reads → delegate to Worker |
19
+ | Write PLAN.md / PROGRESS.md | Sequential spawn (AP6) |
20
+
21
+ **Tempted to edit source? STOP. Spawn a Worker.**
22
+
23
+ ## Key Commands
24
+
25
+ | Command | Purpose |
26
+ |---------|---------|
27
+ | `/wf-max [task]` | Maximum parallelism: CEO→Manager→Worker |
28
+ | `/wf-review [focus]` | Cross-model peer review (use OTHER CLI) |
29
+ | `/wf <task>` | Standard workflow mode |
30
+ | `/wf-auto` | Perpetual auto-optimization |