create-harness-vibe-coding 0.6.2 → 0.6.4

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 (57) hide show
  1. package/package.json +1 -1
  2. package/src/generator.js +466 -466
  3. package/src/index.js +355 -355
  4. package/templates/common/.claude/agents/architect.md +31 -35
  5. package/templates/common/.claude/agents/context-master.md +0 -1
  6. package/templates/common/.claude/agents/debugger.md +0 -1
  7. package/templates/common/.claude/agents/docs-researcher.md +41 -43
  8. package/templates/common/.claude/agents/implementer.md +0 -1
  9. package/templates/common/.claude/agents/memory-master.md +0 -1
  10. package/templates/common/.claude/agents/planner.md +0 -1
  11. package/templates/common/.claude/agents/researcher.md +0 -1
  12. package/templates/common/.claude/agents/reviewer.md +34 -35
  13. package/templates/common/.claude/agents/test-writer.md +0 -1
  14. package/templates/common/.claude/agents/verifier.md +0 -1
  15. package/templates/common/.claude/commands/wf-max.md +7 -0
  16. package/templates/common/.claude/commands/{update.md → wf-update.md} +4 -0
  17. package/templates/common/.claude/commands/wf.md +10 -3
  18. package/templates/common/.claude/skills/subagent-orchestrator/SKILL.md +2 -1
  19. package/templates/common/.claude/skills/wf-max/SKILL.md +29 -70
  20. package/templates/common/.claude/skills/{readme-optimizer → wf-readme}/SKILL.md +1 -1
  21. package/templates/common/.claude/skills/wf-review/SKILL.md +50 -50
  22. package/templates/common/.claude/skills/wf-update/SKILL.md +58 -58
  23. package/templates/common/CLAUDE.md +77 -76
  24. package/templates/common/MEMORY.md +73 -76
  25. package/templates/common/README.md +1 -1
  26. package/templates/common/SETUP.md +273 -341
  27. package/templates/common/docs/README.md +131 -145
  28. package/templates/common/docs/harness/WF.md +13 -1
  29. package/templates/common/docs/harness/agent-workflow.md +94 -94
  30. package/templates/common/docs/harness/architecture.md +1 -1
  31. package/templates/common/docs/harness/context-loading.md +104 -108
  32. package/templates/common/docs/harness/extension.md +70 -79
  33. package/templates/common/docs/harness/lifecycle.md +33 -33
  34. package/templates/common/docs/harness/subagents.md +1 -1
  35. package/templates/common/docs/research/PRD.md +65 -65
  36. package/templates/common/docs/research/README.md +169 -169
  37. package/templates/common/scripts/validate-harness.mjs +439 -460
  38. package/templates/optional/skills/browser-e2e/.claude/commands/wf-browser.md +25 -0
  39. package/templates/optional/skills/browser-e2e/.claude/skills/browser-e2e/SKILL.md +42 -42
  40. package/templates/optional/skills/browser-e2e/.claude/skills/wf-browser/SKILL.md +194 -0
  41. package/templates/optional/skills/browser-e2e/docs/workflows/browser-e2e.md +55 -34
  42. package/templates/optional/skills/github-pr-review/.claude/skills/github-pr-review/SKILL.md +40 -40
  43. package/templates/optional/skills/python-backend/.claude/skills/python-backend/SKILL.md +40 -40
  44. package/templates/optional/skills/ts-react-frontend/.claude/skills/ts-react-frontend/SKILL.md +43 -43
  45. package/templates/optional/skills/ui-ux-review/.claude/skills/ui-ux-review/SKILL.md +40 -40
  46. package/templates/common/.claude/skills/harness-build-loop/SKILL.md +0 -23
  47. package/templates/common/.claude/skills/harness-context/SKILL.md +0 -26
  48. package/templates/common/.claude/skills/harness-lifecycle/SKILL.md +0 -20
  49. package/templates/common/.claude/skills/harness-research/SKILL.md +0 -30
  50. package/templates/common/.claude/skills/harness-router/SKILL.md +0 -16
  51. package/templates/common/.claude/skills/wf-mode/SKILL.md +0 -55
  52. package/templates/common/docs/domain/ports.md +0 -76
  53. package/templates/common/docs/features/_template.md +0 -177
  54. package/templates/common/docs/harness/PLAN.md +0 -52
  55. package/templates/common/docs/harness/data-flow.md +0 -59
  56. package/templates/common/docs/harness/state-machines.md +0 -58
  57. /package/templates/common/.claude/commands/{learn.md → wf-learn.md} +0 -0
@@ -0,0 +1,25 @@
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`.
@@ -1,42 +1,42 @@
1
- ---
2
- name: browser-e2e
3
- description: Mandatory real-browser smoke and end-to-end verification using Playwright, Chrome DevTools/CDP, or documented manual browser evidence.
4
- ---
5
-
6
- # Browser E2E
7
-
8
- ## When To Use
9
-
10
- Use this skill when a change affects browser-visible behavior, navigation, forms, routing, layout, or client-side integration. Web/UI acceptance requires loading the app in a real browser before claiming the UI is done.
11
-
12
- ## Docs To Load
13
-
14
- - `Harness/workflows/browser-e2e.md`
15
- - `Harness/PLAN.md`
16
- - Existing project test, build, and run instructions.
17
-
18
- ## Required Inputs
19
-
20
- - Target URL or command to start the app.
21
- - User flows or pages to verify.
22
- - Expected behavior and supported viewport/browser scope.
23
- - Selector contract: stable accessible labels/roles and `data-testid` hooks for critical inputs, buttons, filters, rows, empty/error/loading states, and other targetable UI states.
24
-
25
- ## Allowed Writes
26
-
27
- - Browser test files in the project's existing test locations.
28
- - Evidence artifacts such as screenshots, traces, or reports in existing artifact folders.
29
- - Notes in `Harness/PLAN.md` when the active task asks for plan tracking.
30
-
31
- ## Output Format
32
-
33
- Return changed files, commands run, browser evidence paths, verified flows, failures, and follow-up risks.
34
- Include the selectors used for CDP/Playwright/manual verification.
35
-
36
- ## PLAN.md Updates
37
-
38
- Update `Harness/PLAN.md` only when executing a tracked plan item or recording evidence requested by the current task.
39
-
40
- ## dispatch.md Usage
41
-
42
- Use `Harness/dispatch.md` only when splitting independent browser checks across workers is explicitly useful.
1
+ ---
2
+ name: browser-e2e
3
+ description: Mandatory real-browser smoke and end-to-end verification using Playwright, Chrome DevTools/CDP, or documented manual browser evidence.
4
+ ---
5
+
6
+ # Browser E2E
7
+
8
+ ## When To Use
9
+
10
+ Use this skill when a change affects browser-visible behavior, navigation, forms, routing, layout, or client-side integration. Web/UI acceptance requires loading the app in a real browser before claiming the UI is done.
11
+
12
+ ## Docs To Load
13
+
14
+ - `Harness/workflows/browser-e2e.md`
15
+ - `Harness/PROGRESS.md` and current task `tasks/<id>/PLAN.md`
16
+ - Existing project test, build, and run instructions.
17
+
18
+ ## Required Inputs
19
+
20
+ - Target URL or command to start the app.
21
+ - User flows or pages to verify.
22
+ - Expected behavior and supported viewport/browser scope.
23
+ - Selector contract: stable accessible labels/roles and `data-testid` hooks for critical inputs, buttons, filters, rows, empty/error/loading states, and other targetable UI states.
24
+
25
+ ## Allowed Writes
26
+
27
+ - Browser test files in the project's existing test locations.
28
+ - Evidence artifacts such as screenshots, traces, or reports in existing artifact folders.
29
+ - Notes in current task plan when the active task asks for plan tracking.
30
+
31
+ ## Output Format
32
+
33
+ Return changed files, commands run, browser evidence paths, verified flows, failures, and follow-up risks.
34
+ Include the selectors used for CDP/Playwright/manual verification.
35
+
36
+ ## PROGRESS.md & Task PLAN.md Updates
37
+
38
+ Update `Harness/tasks/<task-id>/PLAN.md` only when executing a tracked plan item or recording evidence requested by the current task.
39
+
40
+ ## dispatch.md Usage
41
+
42
+ Use `Harness/dispatch.md` only when splitting independent browser checks across workers is explicitly useful.
@@ -0,0 +1,194 @@
1
+ ---
2
+ name: wf-browser
3
+ description: AI-driven browser automation for E2E testing, web scraping, form filling, and UI verification. Powered by Browser Use (89.1% WebVoyager benchmark). Use for /wf-browser, browser testing, web automation, page interaction, form filling, screenshot verification, or any task requiring real browser control. Dual mode: CLI (fast iteration, no LLM needed) + Python Agent API (complex multi-step workflows with AI reasoning).
4
+ ---
5
+
6
+ # WF Browser — AI Browser Automation
7
+
8
+ Load:
9
+
10
+ - `Harness/workflows/browser-e2e.md`
11
+ - Official `browser-use` skill at `~/.claude/skills/browser-use/SKILL.md` (auto-installed if missing)
12
+ - `Harness/PROGRESS.md` when work is active
13
+
14
+ ## Modes
15
+
16
+ Choose based on task complexity:
17
+
18
+ ### Mode 1: CLI (fast iteration, ~50ms per call)
19
+
20
+ Best for: single-page checks, quick screenshots, form fills, element inspection. No LLM needed — Claude Code reasons and issues CLI commands.
21
+
22
+ ```bash
23
+ browser-use --headed open https://example.com # Open page (headed = visible browser)
24
+ browser-use state # Get page title, text, interactive elements with indices
25
+ browser-use screenshot evidence.png # Capture screenshot as evidence
26
+ browser-use click 5 # Click element by index from state output
27
+ browser-use input 3 "user@example.com" # Fill input field by index
28
+ browser-use eval "document.title" # Run JavaScript in page
29
+ browser-use close # Close browser when done
30
+ ```
31
+
32
+ Daemon keeps the browser open between commands — no cold-start per action.
33
+
34
+ ### Mode 2: Python Agent API (multi-step AI reasoning)
35
+
36
+ Best for: complex multi-page workflows, dynamic navigation, data extraction across pages. Needs LLM API key.
37
+
38
+ ```python
39
+ from browser_use.beta import Agent, BrowserProfile
40
+ from browser_use.llm import ChatAnthropic
41
+
42
+ agent = Agent(
43
+ task="Go to github.com, search for 'browser-use', click the first result, and report the star count",
44
+ llm=ChatAnthropic(model="claude-haiku-4-5-20251001"),
45
+ browser_profile=BrowserProfile(headless=False),
46
+ )
47
+ history = await agent.run()
48
+ print(history.final_result())
49
+ ```
50
+
51
+ ## Environment Setup
52
+
53
+ Run once per machine:
54
+
55
+ ```bash
56
+ # 1. Install browser-use with CLI extras
57
+ pip install "browser-use[cli]"
58
+
59
+ # 2. Install Chromium browser
60
+ browser-use install
61
+
62
+ # 3. Verify installation
63
+ browser-use doctor
64
+
65
+ # 4. (Optional) Set LLM API key for Agent mode
66
+ # Create .env file with: ANTHROPIC_API_KEY=sk-ant-...
67
+ # Or: OPENAI_API_KEY=sk-...
68
+ # Or: BROWSER_USE_API_KEY=bu-...
69
+ ```
70
+
71
+ ### Windows GBK Encoding Fix
72
+
73
+ If you see `UnicodeEncodeError: 'gbk' codec can't encode character`, the install is auto-patched. If not, set env var before commands:
74
+
75
+ ```bash
76
+ set PYTHONIOENCODING=utf-8
77
+ ```
78
+
79
+ ### Windows Daemon Patches
80
+
81
+ Browser Use v0.13.1 has two known issues on Windows that are auto-patched on install. If `browser-use open` fails with "Failed to start daemon" or socket timeout, re-apply:
82
+
83
+ ```bash
84
+ python -c "
85
+ import browser_use.skill_cli.main as m
86
+ p = m.__file__
87
+ c = open(p, encoding='utf-8').read()
88
+ # Patch 1: auto-clean stale state on dead PID
89
+ c = c.replace(
90
+ 'probe = _probe_session(session)\n\n\t# Socket reachable',
91
+ 'probe = _probe_session(session)\n\n\t# Auto-clean stale state\n\tif not probe.socket_reachable and not probe.pid_alive and probe.phase:\n\t\t_clean_session_files(session)\n\t\tprobe = _probe_session(session)\n\n\t# Socket reachable'
92
+ )
93
+ # Patch 2: auto-recover from stale session instead of erroring
94
+ c = c.replace(
95
+ \"f'Error: Session {session!r} is alive (phase={probe.phase}) but socket unreachable.\",\"
96
+ \"f'Warning: Session {session!r} has stale state (phase={probe.phase}), auto-cleaning...\",\"
97
+ )
98
+ c = c.replace(
99
+ \"sys.exit(1)\n\n\t\telif probe.phase == 'shutting_down'\",
100
+ \"_terminate_pid(probe.pid)\n\t\t\t_clean_session_files(session)\n\n\t\telif probe.phase == 'shutting_down'\"
101
+ )
102
+ # Patch 3: extend daemon startup timeout (15s -> 30s)
103
+ c = c.replace('deadline = time.time() + 15', 'deadline = time.time() + 30')
104
+ open(p, 'w', encoding='utf-8').write(c)
105
+ print('Patches applied')
106
+ "
107
+ ```
108
+
109
+ ### Requirements
110
+
111
+ | Requirement | Version | Check |
112
+ |-------------|---------|-------|
113
+ | Python | >= 3.11 | `python --version` |
114
+ | pip | any | `pip --version` |
115
+ | Chromium | auto-installed | `browser-use doctor` |
116
+ | LLM API key | for Agent mode only | check `.env` |
117
+
118
+ ## Common Patterns
119
+
120
+ ### Login Persistence
121
+
122
+ ```bash
123
+ # Use real Chrome profile (preserves cookies/logins)
124
+ browser-use --profile "Default" open https://app.target.com
125
+ # Or connect to running Chrome with remote debugging
126
+ browser-use connect
127
+ ```
128
+
129
+ ### E2E Test Flow
130
+
131
+ ```bash
132
+ browser-use --headed open https://yourapp.local
133
+ browser-use state # Verify page loaded
134
+ browser-use screenshot step1-landing.png # Evidence
135
+ browser-use input 3 "test@email.com" # Fill email
136
+ browser-use input 5 "password123" # Fill password
137
+ browser-use click 8 # Click login button
138
+ browser-use wait text "Dashboard" # Wait for navigation text
139
+ browser-use state # Verify logged in
140
+ browser-use screenshot step2-dashboard.png # Evidence
141
+ browser-use close
142
+ ```
143
+
144
+ ### Console & Network Log Capture
145
+
146
+ ```bash
147
+ browser-use eval "console.log('checkpoint');" # Inject log marker
148
+ browser-use eval "document.title" # Read page state via JS
149
+ browser-use get text 5 # Get text of element index 5
150
+ browser-use get value 3 # Get value of input element index 3
151
+ # For full console/network: use Python Agent mode with Playwright's page.on('console') and page.on('request')
152
+ ```
153
+
154
+ ### Error Recovery
155
+
156
+ ```bash
157
+ # If daemon crashes or gets stuck:
158
+ browser-use close # Clean shutdown
159
+ # Then restart:
160
+ browser-use open <url> # Fresh daemon starts automatically
161
+ ```
162
+
163
+ ## Verification Contract
164
+
165
+ Every browser task must produce:
166
+
167
+ 1. **State evidence**: `browser-use state` output or screenshot
168
+ 2. **Action log**: sequence of commands issued
169
+ 3. **Result assertion**: explicit before/after state comparison
170
+
171
+ No browser/UI claim without real-browser evidence.
172
+
173
+ ## Architecture Note
174
+
175
+ Browser Use wraps Playwright with AI reasoning. The daemon keeps Chromium running between CLI commands (~50ms latency). The Agent mode adds an LLM observation→decision→action loop on top. This replaces fragile CSS-selector scripts with semantic element targeting via accessibility tree snapshots.
176
+
177
+ Benchmarks: 89.1% WebVoyager (SOTA), 78k+ GitHub stars, MIT license.
178
+
179
+ ## Security
180
+
181
+ - **Never log or screenshot credentials** — redact password fields, API keys, tokens before capturing evidence
182
+ - **Chrome profiles contain sensitive data** — only use `--profile` with explicit user approval; never share profile data
183
+ - **Screenshots may capture PII** — review before saving to task evidence directory
184
+ - **Scraping targets need approval** — confirm the target site's ToS allow automated access before scraping
185
+ - **`browser-use input` commands with passwords** — use placeholder values in documentation; never hardcode real credentials
186
+ - **Agent mode sandbox** — run Agent API with `allowed_domains` restriction when possible
187
+
188
+ ## Return
189
+
190
+ - CLI commands issued and their output
191
+ - screenshot paths
192
+ - agent history (if Agent mode used)
193
+ - verification pass/fail with evidence
194
+ - remaining risks (flaky selectors, auth issues, CAPTCHAs)
@@ -1,42 +1,63 @@
1
1
  # Browser E2E Workflow
2
2
 
3
- ## Required Evidence
4
-
5
- - App start command and URL.
6
- - Real-browser load of the changed app before any web/UI acceptance claim.
7
- - Console, runtime, and network check result, including whether React/Vite/client startup errors or failed requests appeared.
8
- - 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.
9
- - CDP, Playwright, and manual verification must target those selectors for the critical interaction path instead of brittle DOM paths.
10
- - Viewports and browsers checked.
11
- - Screenshot, trace, video, or documented manual screenshot artifact for each critical UI flow.
12
- - Final pass/fail result with exact command output summary.
13
-
14
- ## Chrome DevTools / CDP / MCP Checklist
15
-
16
- - Start the app with the project command and record the URL and port.
17
- - Open a real browser target through available CDP, MCP, browser automation, or manual tooling.
18
- - Wait for a stable app selector, route, or page-ready state, not just HTTP 200.
19
- - Capture runtime exceptions, console errors, and failed network requests before and after the flow.
20
- - Interact through stable accessible labels/roles or `data-testid`, not brittle DOM paths.
21
- - Verify at least one critical flow end-to-end in the real browser target.
22
- - Save screenshot, trace, video, or result artifact paths and record them in `Harness/PLAN.md` or the feature doc.
23
- - Clean up any dev server or browser processes started for verification.
24
-
25
- ## Common Commands
26
-
27
- ```powershell
28
- npm run dev
29
- npx playwright test
30
- npx playwright test --headed
31
- npx playwright show-report
32
- ```
3
+ Optional workflow for browser-visible testing and automation. Installed when `browser-use` CLI is available.
4
+
5
+ ## When Active
6
+
7
+ This workflow is active when:
8
+ 1. `browser-use` CLI is installed and `browser-use doctor` passes
9
+ 2. `Harness/workflows/browser-e2e.md` exists (this file)
10
+ 3. A task explicitly references `/wf-browser` or browser E2E testing
11
+
12
+ ## Contract
13
+
14
+ Browser evidence in this project follows the contract:
15
+
16
+ 1. **Every browser claim needs real-browser evidence** screenshot, state snapshot, or console output
17
+ 2. **CLI mode is preferred for deterministic steps** use `browser-use open/state/click/screenshot` for predictable flows
18
+ 3. **Agent mode is for dynamic exploration** use Browser Use Agent API when the page structure is unknown or changing
19
+ 4. **Evidence goes to the task directory** `Harness/tasks/<task-id>/evidence/*.png`
20
+
21
+ ## Quick Install
33
22
 
34
- If Playwright is not installed, prefer an existing browser test command from `package.json`. Chrome DevTools/CDP, manual screenshot evidence, or framework-specific tools are acceptable when the method, URL, flow, console/runtime/network result, and artifacts are documented.
23
+ ```bash
24
+ # One-time setup
25
+ pip install "browser-use[cli]"
26
+ browser-use install
27
+ browser-use doctor
28
+
29
+ # Windows: if you see GBK encoding errors, set:
30
+ set PYTHONIOENCODING=utf-8
31
+
32
+ # Verify
33
+ browser-use open https://example.com
34
+ browser-use state
35
+ browser-use screenshot test.png
36
+ browser-use close
37
+ ```
35
38
 
36
39
  ## Fallback
37
40
 
38
- When no browser automation is available, run the app locally in a real browser, inspect critical flows manually, capture screenshots, and report console or network errors. Do not claim web/UI acceptance from typecheck, build, or unit tests alone. Do not install new dependencies unless the user approves.
41
+ If `browser-use` is not installed, fall back to:
42
+
43
+ 1. Playwright/Puppeteer MCP server (if configured)
44
+ 2. Chrome DevTools Protocol (CDP) manual inspection
45
+ 3. `Harness/WF.md#Browser And API Evidence` manual check contract
46
+
47
+ ## Integration Points
48
+
49
+ - **WF mode**: when browser-visible changes are made, follow the evidence contract in `Harness/WF.md#Browser And API Evidence`
50
+ - **wf-browser**: the `/wf-browser` slash command loads this workflow + the skill via `.claude/commands/wf-browser.md`
51
+ - **MEMORY.md**: registered as optional workflow skill
52
+ - **README.md**: routing table row "Browser E2E testing or automation" → browser-e2e
39
53
 
40
- ## Windows Notes
54
+ ## File Locations
41
55
 
42
- Use PowerShell syntax for environment variables, for example `$env:PORT='3000'; npm run dev`. Quote paths that contain spaces.
56
+ | File | Purpose |
57
+ |------|---------|
58
+ | `.claude/skills/wf-browser/SKILL.md` | Skill definition |
59
+ | `.claude/commands/wf-browser.md` | Slash command bridge |
60
+ | `Harness/workflows/browser-e2e.md` | This file — workflow contract and install guide |
61
+ | `~/.claude/skills/browser-use/SKILL.md` | Official Browser Use skill (user-level, auto-downloaded) |
62
+ | `pip show browser-use \| findstr Location` | Python package install location (run to find) |
63
+ | `~/.browser-use/` | Daemon state and browser profiles |
@@ -1,40 +1,40 @@
1
- ---
2
- name: github-pr-review
3
- description: GitHub pull request review workflow using available GitHub CLI, local git diff, checks, and CI evidence.
4
- ---
5
-
6
- # GitHub PR Review
7
-
8
- ## When To Use
9
-
10
- Use this skill when reviewing a GitHub pull request, responding to PR feedback, checking CI status, or summarizing review findings.
11
-
12
- ## Docs To Load
13
-
14
- - `Harness/workflows/github-pr-review.md`
15
- - `Harness/PLAN.md`
16
- - Repository contribution, test, and review guidelines.
17
-
18
- ## Required Inputs
19
-
20
- - PR number, branch, or comparison range.
21
- - Review goal: bug hunt, approval readiness, CI diagnosis, or feedback response.
22
- - Expected test and check requirements.
23
-
24
- ## Allowed Writes
25
-
26
- - Local files needed to address approved review feedback.
27
- - Review notes or evidence in existing docs only when requested.
28
- - `Harness/PLAN.md` when tracking review work.
29
-
30
- ## Output Format
31
-
32
- Return findings first by severity with file and line references, then open questions, tests/checks run, and change summary if edits were made.
33
-
34
- ## PLAN.md Updates
35
-
36
- Update `Harness/PLAN.md` only when the PR review is part of a tracked implementation plan.
37
-
38
- ## dispatch.md Usage
39
-
40
- Use `Harness/dispatch.md` when independent review areas can be assigned separately, such as backend, frontend, and CI.
1
+ ---
2
+ name: github-pr-review
3
+ description: GitHub pull request review workflow using available GitHub CLI, local git diff, checks, and CI evidence.
4
+ ---
5
+
6
+ # GitHub PR Review
7
+
8
+ ## When To Use
9
+
10
+ Use this skill when reviewing a GitHub pull request, responding to PR feedback, checking CI status, or summarizing review findings.
11
+
12
+ ## Docs To Load
13
+
14
+ - `Harness/workflows/github-pr-review.md`
15
+ - `Harness/PROGRESS.md` and current task `tasks/<id>/PLAN.md`
16
+ - Repository contribution, test, and review guidelines.
17
+
18
+ ## Required Inputs
19
+
20
+ - PR number, branch, or comparison range.
21
+ - Review goal: bug hunt, approval readiness, CI diagnosis, or feedback response.
22
+ - Expected test and check requirements.
23
+
24
+ ## Allowed Writes
25
+
26
+ - Local files needed to address approved review feedback.
27
+ - Review notes or evidence in existing docs only when requested.
28
+ - Current task `tasks/<id>/PLAN.md` when tracking review work.
29
+
30
+ ## Output Format
31
+
32
+ Return findings first by severity with file and line references, then open questions, tests/checks run, and change summary if edits were made.
33
+
34
+ ## PROGRESS.md & Task PLAN.md Updates
35
+
36
+ Update `Harness/tasks/<task-id>/PLAN.md` only when the PR review is part of a tracked implementation plan.
37
+
38
+ ## dispatch.md Usage
39
+
40
+ Use `Harness/dispatch.md` when independent review areas can be assigned separately, such as backend, frontend, and CI.
@@ -1,40 +1,40 @@
1
- ---
2
- name: python-backend
3
- description: Python backend workflow for API changes, service logic, FastAPI-style routes, and unittest or pytest verification.
4
- ---
5
-
6
- # Python Backend
7
-
8
- ## When To Use
9
-
10
- Use this skill when changing Python API routes, service logic, persistence boundaries, background jobs, or backend tests.
11
-
12
- ## Docs To Load
13
-
14
- - `Harness/workflows/python-backend.md`
15
- - `Harness/PLAN.md`
16
- - Project backend README, API docs, dependency files, and test configuration.
17
-
18
- ## Required Inputs
19
-
20
- - Target behavior, endpoint, service, or bug.
21
- - Existing test command and runtime setup.
22
- - Database, environment variable, or fixture constraints.
23
-
24
- ## Allowed Writes
25
-
26
- - Python source, tests, fixtures, and backend docs in the task scope.
27
- - Local evidence artifacts such as test output snippets.
28
- - `Harness/PLAN.md` when the task requires plan tracking.
29
-
30
- ## Output Format
31
-
32
- Return files changed, API or behavior summary, tests run, important logs, migration/config notes, and remaining risks.
33
-
34
- ## PLAN.md Updates
35
-
36
- Update `Harness/PLAN.md` only when executing a tracked plan item or recording required validation evidence.
37
-
38
- ## dispatch.md Usage
39
-
40
- Use `Harness/dispatch.md` for separable backend work such as API implementation, database changes, and test coverage.
1
+ ---
2
+ name: python-backend
3
+ description: Python backend workflow for API changes, service logic, FastAPI-style routes, and unittest or pytest verification.
4
+ ---
5
+
6
+ # Python Backend
7
+
8
+ ## When To Use
9
+
10
+ Use this skill when changing Python API routes, service logic, persistence boundaries, background jobs, or backend tests.
11
+
12
+ ## Docs To Load
13
+
14
+ - `Harness/workflows/python-backend.md`
15
+ - `Harness/PROGRESS.md` and current task `tasks/<id>/PLAN.md`
16
+ - Project backend README, API docs, dependency files, and test configuration.
17
+
18
+ ## Required Inputs
19
+
20
+ - Target behavior, endpoint, service, or bug.
21
+ - Existing test command and runtime setup.
22
+ - Database, environment variable, or fixture constraints.
23
+
24
+ ## Allowed Writes
25
+
26
+ - Python source, tests, fixtures, and backend docs in the task scope.
27
+ - Local evidence artifacts such as test output snippets.
28
+ - Current task `tasks/<id>/PLAN.md` when the task requires plan tracking.
29
+
30
+ ## Output Format
31
+
32
+ Return files changed, API or behavior summary, tests run, important logs, migration/config notes, and remaining risks.
33
+
34
+ ## PROGRESS.md & Task PLAN.md Updates
35
+
36
+ Update `Harness/tasks/<task-id>/PLAN.md` only when executing a tracked plan item or recording required validation evidence.
37
+
38
+ ## dispatch.md Usage
39
+
40
+ Use `Harness/dispatch.md` for separable backend work such as API implementation, database changes, and test coverage.
@@ -1,43 +1,43 @@
1
- ---
2
- name: ts-react-frontend
3
- description: TypeScript React frontend workflow for components, state, routing, typecheck, tests, builds, and browser smoke evidence.
4
- ---
5
-
6
- # TypeScript React Frontend
7
-
8
- ## When To Use
9
-
10
- Use this skill when changing React components, hooks, routes, client state, styling, build configuration, or frontend tests.
11
- For user-visible changes, typecheck, build, and unit tests are not enough; include real-browser smoke or screenshot evidence before claiming acceptance.
12
-
13
- ## Docs To Load
14
-
15
- - `Harness/workflows/ts-react-frontend.md`
16
- - `Harness/PLAN.md`
17
- - Existing frontend README, package scripts, design system, and test setup.
18
-
19
- ## Required Inputs
20
-
21
- - Screen, component, or flow being changed.
22
- - Expected behavior and acceptance criteria.
23
- - Existing package manager and verification commands.
24
- - Selector contract: stable accessible labels/roles and `data-testid` hooks for critical inputs, buttons, filters, rows, empty/error/loading states, and other targetable UI states.
25
-
26
- ## Allowed Writes
27
-
28
- - Frontend source, styles, tests, and focused docs in task scope.
29
- - Generated evidence such as screenshots or test reports in existing artifact paths.
30
- - `Harness/PLAN.md` when tracking a plan item.
31
-
32
- ## Output Format
33
-
34
- Return changed files, UI behavior summary, commands run, browser or test evidence, and unresolved risks.
35
- Include selectors added or verified for CDP/Playwright/manual checks.
36
-
37
- ## PLAN.md Updates
38
-
39
- Update `Harness/PLAN.md` only when executing a tracked task or recording required validation evidence.
40
-
41
- ## dispatch.md Usage
42
-
43
- Use `Harness/dispatch.md` when independent frontend tasks can run in parallel, such as components, tests, and browser checks.
1
+ ---
2
+ name: ts-react-frontend
3
+ description: TypeScript React frontend workflow for components, state, routing, typecheck, tests, builds, and browser smoke evidence.
4
+ ---
5
+
6
+ # TypeScript React Frontend
7
+
8
+ ## When To Use
9
+
10
+ Use this skill when changing React components, hooks, routes, client state, styling, build configuration, or frontend tests.
11
+ For user-visible changes, typecheck, build, and unit tests are not enough; include real-browser smoke or screenshot evidence before claiming acceptance.
12
+
13
+ ## Docs To Load
14
+
15
+ - `Harness/workflows/ts-react-frontend.md`
16
+ - `Harness/PROGRESS.md` and current task `tasks/<id>/PLAN.md`
17
+ - Existing frontend README, package scripts, design system, and test setup.
18
+
19
+ ## Required Inputs
20
+
21
+ - Screen, component, or flow being changed.
22
+ - Expected behavior and acceptance criteria.
23
+ - Existing package manager and verification commands.
24
+ - Selector contract: stable accessible labels/roles and `data-testid` hooks for critical inputs, buttons, filters, rows, empty/error/loading states, and other targetable UI states.
25
+
26
+ ## Allowed Writes
27
+
28
+ - Frontend source, styles, tests, and focused docs in task scope.
29
+ - Generated evidence such as screenshots or test reports in existing artifact paths.
30
+ - Current task `tasks/<id>/PLAN.md` when tracking a plan item.
31
+
32
+ ## Output Format
33
+
34
+ Return changed files, UI behavior summary, commands run, browser or test evidence, and unresolved risks.
35
+ Include selectors added or verified for CDP/Playwright/manual checks.
36
+
37
+ ## PROGRESS.md & Task PLAN.md Updates
38
+
39
+ Update `Harness/tasks/<task-id>/PLAN.md` only when executing a tracked task or recording required validation evidence.
40
+
41
+ ## dispatch.md Usage
42
+
43
+ Use `Harness/dispatch.md` when independent frontend tasks can run in parallel, such as components, tests, and browser checks.