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.
- package/package.json +1 -1
- package/src/generator.js +466 -466
- package/src/index.js +355 -355
- package/templates/common/.claude/agents/architect.md +31 -35
- package/templates/common/.claude/agents/context-master.md +0 -1
- package/templates/common/.claude/agents/debugger.md +0 -1
- package/templates/common/.claude/agents/docs-researcher.md +41 -43
- package/templates/common/.claude/agents/implementer.md +0 -1
- package/templates/common/.claude/agents/memory-master.md +0 -1
- package/templates/common/.claude/agents/planner.md +0 -1
- package/templates/common/.claude/agents/researcher.md +0 -1
- package/templates/common/.claude/agents/reviewer.md +34 -35
- package/templates/common/.claude/agents/test-writer.md +0 -1
- package/templates/common/.claude/agents/verifier.md +0 -1
- package/templates/common/.claude/commands/wf-max.md +7 -0
- package/templates/common/.claude/commands/{update.md → wf-update.md} +4 -0
- package/templates/common/.claude/commands/wf.md +10 -3
- package/templates/common/.claude/skills/subagent-orchestrator/SKILL.md +2 -1
- package/templates/common/.claude/skills/wf-max/SKILL.md +29 -70
- package/templates/common/.claude/skills/{readme-optimizer → wf-readme}/SKILL.md +1 -1
- package/templates/common/.claude/skills/wf-review/SKILL.md +50 -50
- package/templates/common/.claude/skills/wf-update/SKILL.md +58 -58
- package/templates/common/CLAUDE.md +77 -76
- package/templates/common/MEMORY.md +73 -76
- package/templates/common/README.md +1 -1
- package/templates/common/SETUP.md +273 -341
- package/templates/common/docs/README.md +131 -145
- package/templates/common/docs/harness/WF.md +13 -1
- package/templates/common/docs/harness/agent-workflow.md +94 -94
- package/templates/common/docs/harness/architecture.md +1 -1
- package/templates/common/docs/harness/context-loading.md +104 -108
- package/templates/common/docs/harness/extension.md +70 -79
- package/templates/common/docs/harness/lifecycle.md +33 -33
- package/templates/common/docs/harness/subagents.md +1 -1
- package/templates/common/docs/research/PRD.md +65 -65
- package/templates/common/docs/research/README.md +169 -169
- package/templates/common/scripts/validate-harness.mjs +439 -460
- package/templates/optional/skills/browser-e2e/.claude/commands/wf-browser.md +25 -0
- package/templates/optional/skills/browser-e2e/.claude/skills/browser-e2e/SKILL.md +42 -42
- package/templates/optional/skills/browser-e2e/.claude/skills/wf-browser/SKILL.md +194 -0
- package/templates/optional/skills/browser-e2e/docs/workflows/browser-e2e.md +55 -34
- package/templates/optional/skills/github-pr-review/.claude/skills/github-pr-review/SKILL.md +40 -40
- package/templates/optional/skills/python-backend/.claude/skills/python-backend/SKILL.md +40 -40
- package/templates/optional/skills/ts-react-frontend/.claude/skills/ts-react-frontend/SKILL.md +43 -43
- package/templates/optional/skills/ui-ux-review/.claude/skills/ui-ux-review/SKILL.md +40 -40
- package/templates/common/.claude/skills/harness-build-loop/SKILL.md +0 -23
- package/templates/common/.claude/skills/harness-context/SKILL.md +0 -26
- package/templates/common/.claude/skills/harness-lifecycle/SKILL.md +0 -20
- package/templates/common/.claude/skills/harness-research/SKILL.md +0 -30
- package/templates/common/.claude/skills/harness-router/SKILL.md +0 -16
- package/templates/common/.claude/skills/wf-mode/SKILL.md +0 -55
- package/templates/common/docs/domain/ports.md +0 -76
- package/templates/common/docs/features/_template.md +0 -177
- package/templates/common/docs/harness/PLAN.md +0 -52
- package/templates/common/docs/harness/data-flow.md +0 -59
- package/templates/common/docs/harness/state-machines.md +0 -58
- /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
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
54
|
+
## File Locations
|
|
41
55
|
|
|
42
|
-
|
|
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
|
-
- `
|
|
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
|
-
- `
|
|
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.
|
package/templates/optional/skills/ts-react-frontend/.claude/skills/ts-react-frontend/SKILL.md
CHANGED
|
@@ -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
|
-
- `
|
|
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.
|