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