cc-dev-template 0.1.80 → 0.1.82
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/bin/install.js +10 -1
- package/package.json +1 -1
- package/src/agents/objective-researcher.md +52 -0
- package/src/agents/question-generator.md +70 -0
- package/src/scripts/restrict-to-spec-dir.sh +23 -0
- package/src/skills/agent-browser/SKILL.md +7 -133
- package/src/skills/agent-browser/references/common-patterns.md +64 -0
- package/src/skills/agent-browser/references/ios-simulator.md +25 -0
- package/src/skills/agent-browser/references/reflect.md +9 -0
- package/src/skills/agent-browser/references/semantic-locators.md +11 -0
- package/src/skills/claude-md/SKILL.md +1 -3
- package/src/skills/claude-md/references/audit-reflect.md +0 -4
- package/src/skills/claude-md/references/audit.md +1 -3
- package/src/skills/claude-md/references/create-reflect.md +0 -4
- package/src/skills/claude-md/references/create.md +1 -3
- package/src/skills/claude-md/references/modify-reflect.md +0 -4
- package/src/skills/claude-md/references/modify.md +1 -3
- package/src/skills/creating-agent-skills/SKILL.md +2 -2
- package/src/skills/creating-agent-skills/references/create-step-1-understand.md +1 -1
- package/src/skills/creating-agent-skills/references/create-step-2-design.md +3 -3
- package/src/skills/creating-agent-skills/references/create-step-3-write.md +42 -10
- package/src/skills/creating-agent-skills/references/create-step-4-review.md +2 -2
- package/src/skills/creating-agent-skills/references/create-step-5-install.md +1 -3
- package/src/skills/creating-agent-skills/references/create-step-6-reflect.md +1 -3
- package/src/skills/creating-agent-skills/references/fix-step-1-diagnose.md +5 -4
- package/src/skills/creating-agent-skills/references/fix-step-2-apply.md +2 -2
- package/src/skills/creating-agent-skills/references/fix-step-3-validate.md +1 -3
- package/src/skills/creating-agent-skills/references/fix-step-4-reflect.md +1 -3
- package/src/skills/creating-agent-skills/templates/router-skill.md +3 -3
- package/src/skills/creating-sub-agents/references/create-step-1-understand.md +1 -1
- package/src/skills/creating-sub-agents/references/create-step-2-design.md +1 -1
- package/src/skills/creating-sub-agents/references/create-step-3-write.md +1 -1
- package/src/skills/creating-sub-agents/references/create-step-4-review.md +1 -1
- package/src/skills/creating-sub-agents/references/create-step-5-install.md +1 -3
- package/src/skills/creating-sub-agents/references/create-step-6-reflect.md +0 -4
- package/src/skills/creating-sub-agents/references/fix-step-3-validate.md +1 -3
- package/src/skills/creating-sub-agents/references/fix-step-4-reflect.md +0 -4
- package/src/skills/initialize-project/SKILL.md +2 -4
- package/src/skills/initialize-project/references/reflect.md +0 -4
- package/src/skills/project-setup/references/step-5-verify.md +1 -3
- package/src/skills/project-setup/references/step-6-reflect.md +0 -4
- package/src/skills/prompting/SKILL.md +1 -1
- package/src/skills/prompting/references/create-reflect.md +0 -4
- package/src/skills/prompting/references/create.md +1 -3
- package/src/skills/prompting/references/review-reflect.md +0 -4
- package/src/skills/prompting/references/review.md +1 -3
- package/src/skills/setup-lsp/SKILL.md +1 -1
- package/src/skills/setup-lsp/references/step-1-scan.md +1 -1
- package/src/skills/setup-lsp/references/step-2-install-configure.md +1 -3
- package/src/skills/setup-lsp/references/step-3-verify.md +1 -3
- package/src/skills/setup-lsp/references/step-4-reflect.md +0 -2
- package/src/skills/ship/SKILL.md +46 -0
- package/src/skills/ship/references/step-1-intent.md +50 -0
- package/src/skills/ship/references/step-2-questions.md +42 -0
- package/src/skills/ship/references/step-3-research.md +44 -0
- package/src/skills/ship/references/step-4-design.md +70 -0
- package/src/skills/ship/references/step-5-spec.md +86 -0
- package/src/skills/ship/references/step-6-tasks.md +83 -0
- package/src/skills/ship/references/step-7-implement.md +61 -0
- package/src/skills/ship/references/step-8-reflect.md +21 -0
- package/src/skills/execute-spec/SKILL.md +0 -48
- package/src/skills/execute-spec/references/phase-1-hydrate.md +0 -71
- package/src/skills/execute-spec/references/phase-2-build.md +0 -63
- package/src/skills/execute-spec/references/phase-3-validate.md +0 -72
- package/src/skills/execute-spec/references/phase-4-triage.md +0 -75
- package/src/skills/execute-spec/references/phase-5-reflect.md +0 -34
- package/src/skills/execute-spec/references/workflow.md +0 -82
- package/src/skills/research/SKILL.md +0 -14
- package/src/skills/research/references/step-1-check-existing.md +0 -25
- package/src/skills/research/references/step-2-conduct-research.md +0 -67
- package/src/skills/research/references/step-3-reflect.md +0 -33
- package/src/skills/spec-interview/SKILL.md +0 -48
- package/src/skills/spec-interview/references/critic-prompt.md +0 -140
- package/src/skills/spec-interview/references/pragmatist-prompt.md +0 -76
- package/src/skills/spec-interview/references/researcher-prompt.md +0 -46
- package/src/skills/spec-interview/references/step-1-opening.md +0 -47
- package/src/skills/spec-interview/references/step-2-ideation.md +0 -73
- package/src/skills/spec-interview/references/step-3-ui-ux.md +0 -83
- package/src/skills/spec-interview/references/step-4-deep-dive.md +0 -119
- package/src/skills/spec-interview/references/step-5-research-needs.md +0 -53
- package/src/skills/spec-interview/references/step-6-verification.md +0 -89
- package/src/skills/spec-interview/references/step-7-finalize.md +0 -62
- package/src/skills/spec-interview/references/step-8-reflect.md +0 -34
- package/src/skills/spec-review/SKILL.md +0 -92
- package/src/skills/spec-sanity-check/SKILL.md +0 -82
- package/src/skills/spec-to-tasks/SKILL.md +0 -24
- package/src/skills/spec-to-tasks/references/step-1-identify-spec.md +0 -39
- package/src/skills/spec-to-tasks/references/step-2-explore.md +0 -43
- package/src/skills/spec-to-tasks/references/step-3-generate.md +0 -69
- package/src/skills/spec-to-tasks/references/step-4-review.md +0 -95
- package/src/skills/spec-to-tasks/references/step-5-reflect.md +0 -22
- package/src/skills/spec-to-tasks/templates/task.md +0 -30
- package/src/skills/task-review/SKILL.md +0 -18
- package/src/skills/task-review/references/checklist.md +0 -155
package/bin/install.js
CHANGED
|
@@ -280,7 +280,16 @@ console.log('\nCleanup:');
|
|
|
280
280
|
let cleanupPerformed = false;
|
|
281
281
|
|
|
282
282
|
// Remove deprecated skills
|
|
283
|
-
const deprecatedSkills = [
|
|
283
|
+
const deprecatedSkills = [
|
|
284
|
+
'youtube-to-notes',
|
|
285
|
+
'spec-interview',
|
|
286
|
+
'spec-to-tasks',
|
|
287
|
+
'execute-spec',
|
|
288
|
+
'research',
|
|
289
|
+
'spec-review',
|
|
290
|
+
'spec-sanity-check',
|
|
291
|
+
'task-review',
|
|
292
|
+
];
|
|
284
293
|
deprecatedSkills.forEach(skill => {
|
|
285
294
|
const skillPath = path.join(CLAUDE_DIR, 'skills', skill);
|
|
286
295
|
if (fs.existsSync(skillPath)) {
|
package/package.json
CHANGED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: objective-researcher
|
|
3
|
+
description: Answers codebase questions objectively without knowing the feature being built. Produces factual research documentation.
|
|
4
|
+
tools: Read, Grep, Glob, Bash, Write
|
|
5
|
+
permissionMode: bypassPermissions
|
|
6
|
+
maxTurns: 30
|
|
7
|
+
model: sonnet
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
You are an objective codebase researcher. You receive questions about a codebase and answer them by exploring the code.
|
|
11
|
+
|
|
12
|
+
## Critical Rule
|
|
13
|
+
|
|
14
|
+
You do NOT know what feature is being built. You only have questions. Answer them factually.
|
|
15
|
+
|
|
16
|
+
- Report what EXISTS, not what SHOULD exist
|
|
17
|
+
- Do not suggest implementations or improvements
|
|
18
|
+
- Do not speculate about what someone might want to build
|
|
19
|
+
- If you find multiple patterns for the same thing, report ALL of them with locations
|
|
20
|
+
- If a question cannot be answered from the codebase, say so explicitly
|
|
21
|
+
|
|
22
|
+
## Process
|
|
23
|
+
|
|
24
|
+
1. Read the questions file at the path provided in your prompt
|
|
25
|
+
2. For each question, explore the codebase using Grep, Glob, and Read
|
|
26
|
+
3. Write findings to the output path provided
|
|
27
|
+
|
|
28
|
+
## Output Format
|
|
29
|
+
|
|
30
|
+
For each question in the questions file:
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
## Q: {Original question}
|
|
34
|
+
|
|
35
|
+
**Finding**: {Your answer with specific details}
|
|
36
|
+
|
|
37
|
+
**Evidence**:
|
|
38
|
+
- `path/to/file.ts:42` — {what this file shows}
|
|
39
|
+
- `path/to/other.ts:108` — {what this code does}
|
|
40
|
+
|
|
41
|
+
**Confidence**: high | medium | low
|
|
42
|
+
|
|
43
|
+
**Notes**: {Any ambiguities, multiple patterns found, or related observations}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
After answering all questions, add a final section:
|
|
47
|
+
|
|
48
|
+
```markdown
|
|
49
|
+
## Additional Observations
|
|
50
|
+
|
|
51
|
+
{Anything noteworthy you discovered while researching that wasn't directly asked about but seems relevant to understanding this area of the codebase}
|
|
52
|
+
```
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: question-generator
|
|
3
|
+
description: Generates research questions from a feature intent document. Cannot explore the codebase — produces questions only.
|
|
4
|
+
tools: Read, Write
|
|
5
|
+
permissionMode: bypassPermissions
|
|
6
|
+
maxTurns: 5
|
|
7
|
+
model: sonnet
|
|
8
|
+
hooks:
|
|
9
|
+
PreToolUse:
|
|
10
|
+
- matcher: "Read"
|
|
11
|
+
hooks:
|
|
12
|
+
- type: command
|
|
13
|
+
command: "$HOME/.claude/scripts/restrict-to-spec-dir.sh"
|
|
14
|
+
- matcher: "Write"
|
|
15
|
+
hooks:
|
|
16
|
+
- type: command
|
|
17
|
+
command: "$HOME/.claude/scripts/restrict-to-spec-dir.sh"
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
You are a question generator. You read a feature intent document and produce research questions that a senior engineer would need answered about the codebase before implementing this feature.
|
|
21
|
+
|
|
22
|
+
## Your Role
|
|
23
|
+
|
|
24
|
+
You generate questions. You do NOT:
|
|
25
|
+
|
|
26
|
+
- Research or explore the codebase (you have no search tools)
|
|
27
|
+
- Suggest implementations or architectural decisions
|
|
28
|
+
- Write code or pseudocode
|
|
29
|
+
- Speculate about how the codebase might work
|
|
30
|
+
|
|
31
|
+
## Process
|
|
32
|
+
|
|
33
|
+
1. Read the intent document at the path provided in your prompt
|
|
34
|
+
2. Think about what a senior engineer would need to know about the codebase before they could implement this
|
|
35
|
+
3. Write organized, specific questions to the output path provided
|
|
36
|
+
|
|
37
|
+
## Output Format
|
|
38
|
+
|
|
39
|
+
Write a markdown file with questions organized by category:
|
|
40
|
+
|
|
41
|
+
```markdown
|
|
42
|
+
# Research Questions
|
|
43
|
+
|
|
44
|
+
## Existing Patterns
|
|
45
|
+
- How does the codebase currently handle {relevant functionality}?
|
|
46
|
+
- What patterns are used for {similar features}?
|
|
47
|
+
- Are there existing utilities or helpers for {relevant operations}?
|
|
48
|
+
|
|
49
|
+
## Data Model
|
|
50
|
+
- What data structures exist for {relevant entities}?
|
|
51
|
+
- How is {relevant data} currently stored and accessed?
|
|
52
|
+
|
|
53
|
+
## Integration Points
|
|
54
|
+
- What services or modules would this feature interact with?
|
|
55
|
+
- Are there existing APIs or interfaces it should conform to?
|
|
56
|
+
|
|
57
|
+
## Testing Infrastructure
|
|
58
|
+
- What testing patterns does the project use for {relevant scenarios}?
|
|
59
|
+
- What test runners and frameworks are configured?
|
|
60
|
+
|
|
61
|
+
## Dependencies
|
|
62
|
+
- Are there existing libraries in the project for {relevant functionality}?
|
|
63
|
+
- What versions of key frameworks are in use?
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Each question must be:
|
|
67
|
+
|
|
68
|
+
- **Specific**: "How does the auth module handle session tokens?" not "How does auth work?"
|
|
69
|
+
- **Codebase-answerable**: Answerable by reading project files, not by asking the user
|
|
70
|
+
- **Relevant**: Directly related to implementing the feature described in the intent
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Restricts Read/Write operations to the docs/specs/ directory.
|
|
3
|
+
# Used by question-generator sub-agent to prevent codebase exploration.
|
|
4
|
+
# Receives JSON on stdin with tool_name and tool_input.
|
|
5
|
+
|
|
6
|
+
input=$(cat)
|
|
7
|
+
file_path=$(echo "$input" | jq -r '.tool_input.file_path // empty')
|
|
8
|
+
|
|
9
|
+
# If no file_path in the tool input, allow the operation
|
|
10
|
+
if [ -z "$file_path" ]; then
|
|
11
|
+
exit 0
|
|
12
|
+
fi
|
|
13
|
+
|
|
14
|
+
# Allow access to docs/specs/ directory
|
|
15
|
+
if [[ "$file_path" == *"/docs/specs/"* ]]; then
|
|
16
|
+
exit 0
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
# Deny everything else
|
|
20
|
+
cat << 'EOF'
|
|
21
|
+
{"permissionDecision":"deny","message":"Access restricted to docs/specs/ directory only."}
|
|
22
|
+
EOF
|
|
23
|
+
exit 0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-browser
|
|
3
|
-
description: Browser automation CLI for AI agents. Use when
|
|
3
|
+
description: Browser automation CLI for AI agents. Use when interacting with websites — navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, or testing web apps.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Browser Automation with agent-browser
|
|
@@ -63,97 +63,6 @@ agent-browser screenshot --full # Full page screenshot
|
|
|
63
63
|
agent-browser pdf output.pdf # Save as PDF
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
-
## Common Patterns
|
|
67
|
-
|
|
68
|
-
### Form Submission
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
agent-browser open https://example.com/signup
|
|
72
|
-
agent-browser snapshot -i
|
|
73
|
-
agent-browser fill @e1 "Jane Doe"
|
|
74
|
-
agent-browser fill @e2 "jane@example.com"
|
|
75
|
-
agent-browser select @e3 "California"
|
|
76
|
-
agent-browser check @e4
|
|
77
|
-
agent-browser click @e5
|
|
78
|
-
agent-browser wait --load networkidle
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### Authentication with State Persistence
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
# Login once and save state
|
|
85
|
-
agent-browser open https://app.example.com/login
|
|
86
|
-
agent-browser snapshot -i
|
|
87
|
-
agent-browser fill @e1 "$USERNAME"
|
|
88
|
-
agent-browser fill @e2 "$PASSWORD"
|
|
89
|
-
agent-browser click @e3
|
|
90
|
-
agent-browser wait --url "**/dashboard"
|
|
91
|
-
agent-browser state save auth.json
|
|
92
|
-
|
|
93
|
-
# Reuse in future sessions
|
|
94
|
-
agent-browser state load auth.json
|
|
95
|
-
agent-browser open https://app.example.com/dashboard
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### Data Extraction
|
|
99
|
-
|
|
100
|
-
```bash
|
|
101
|
-
agent-browser open https://example.com/products
|
|
102
|
-
agent-browser snapshot -i
|
|
103
|
-
agent-browser get text @e5 # Get specific element text
|
|
104
|
-
agent-browser get text body > page.txt # Get all page text
|
|
105
|
-
|
|
106
|
-
# JSON output for parsing
|
|
107
|
-
agent-browser snapshot -i --json
|
|
108
|
-
agent-browser get text @e1 --json
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
### Parallel Sessions
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
agent-browser --session site1 open https://site-a.com
|
|
115
|
-
agent-browser --session site2 open https://site-b.com
|
|
116
|
-
|
|
117
|
-
agent-browser --session site1 snapshot -i
|
|
118
|
-
agent-browser --session site2 snapshot -i
|
|
119
|
-
|
|
120
|
-
agent-browser session list
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
### Visual Browser (Debugging)
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
agent-browser --headed open https://example.com
|
|
127
|
-
agent-browser highlight @e1 # Highlight element
|
|
128
|
-
agent-browser record start demo.webm # Record session
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
### iOS Simulator (Mobile Safari)
|
|
132
|
-
|
|
133
|
-
```bash
|
|
134
|
-
# List available iOS simulators
|
|
135
|
-
agent-browser device list
|
|
136
|
-
|
|
137
|
-
# Launch Safari on a specific device
|
|
138
|
-
agent-browser -p ios --device "iPhone 16 Pro" open https://example.com
|
|
139
|
-
|
|
140
|
-
# Same workflow as desktop - snapshot, interact, re-snapshot
|
|
141
|
-
agent-browser -p ios snapshot -i
|
|
142
|
-
agent-browser -p ios tap @e1 # Tap (alias for click)
|
|
143
|
-
agent-browser -p ios fill @e2 "text"
|
|
144
|
-
agent-browser -p ios swipe up # Mobile-specific gesture
|
|
145
|
-
|
|
146
|
-
# Take screenshot
|
|
147
|
-
agent-browser -p ios screenshot mobile.png
|
|
148
|
-
|
|
149
|
-
# Close session (shuts down simulator)
|
|
150
|
-
agent-browser -p ios close
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
**Requirements:** macOS with Xcode, Appium (`npm install -g appium && appium driver install xcuitest`)
|
|
154
|
-
|
|
155
|
-
**Real devices:** Works with physical iOS devices if pre-configured. Use `--device "<UDID>"` where UDID is from `xcrun xctrace list devices`.
|
|
156
|
-
|
|
157
66
|
## Ref Lifecycle (Important)
|
|
158
67
|
|
|
159
68
|
Refs (`@e1`, `@e2`, etc.) are invalidated when the page changes. Always re-snapshot after:
|
|
@@ -168,49 +77,14 @@ agent-browser snapshot -i # MUST re-snapshot
|
|
|
168
77
|
agent-browser click @e1 # Use new refs
|
|
169
78
|
```
|
|
170
79
|
|
|
171
|
-
##
|
|
172
|
-
|
|
173
|
-
When refs are unavailable or unreliable, use semantic locators:
|
|
174
|
-
|
|
175
|
-
```bash
|
|
176
|
-
agent-browser find text "Sign In" click
|
|
177
|
-
agent-browser find label "Email" fill "user@test.com"
|
|
178
|
-
agent-browser find role button click --name "Submit"
|
|
179
|
-
agent-browser find placeholder "Search" type "query"
|
|
180
|
-
agent-browser find testid "submit-btn" click
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
## Deep-Dive Documentation
|
|
184
|
-
|
|
185
|
-
| Reference | When to Use |
|
|
186
|
-
|-----------|-------------|
|
|
187
|
-
| [references/commands.md](references/commands.md) | Full command reference with all options |
|
|
188
|
-
| [references/snapshot-refs.md](references/snapshot-refs.md) | Ref lifecycle, invalidation rules, troubleshooting |
|
|
189
|
-
| [references/session-management.md](references/session-management.md) | Parallel sessions, state persistence, concurrent scraping |
|
|
190
|
-
| [references/authentication.md](references/authentication.md) | Login flows, OAuth, 2FA handling, state reuse |
|
|
191
|
-
| [references/video-recording.md](references/video-recording.md) | Recording workflows for debugging and documentation |
|
|
192
|
-
| [references/proxy-support.md](references/proxy-support.md) | Proxy configuration, geo-testing, rotating proxies |
|
|
193
|
-
|
|
194
|
-
## Ready-to-Use Templates
|
|
195
|
-
|
|
196
|
-
| Template | Description |
|
|
197
|
-
|----------|-------------|
|
|
198
|
-
| [templates/form-automation.sh](templates/form-automation.sh) | Form filling with validation |
|
|
199
|
-
| [templates/authenticated-session.sh](templates/authenticated-session.sh) | Login once, reuse state |
|
|
200
|
-
| [templates/capture-workflow.sh](templates/capture-workflow.sh) | Content extraction with screenshots |
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
./templates/form-automation.sh https://example.com/form
|
|
204
|
-
./templates/authenticated-session.sh https://app.example.com/login
|
|
205
|
-
./templates/capture-workflow.sh https://example.com ./output
|
|
206
|
-
```
|
|
80
|
+
## Reference Files
|
|
207
81
|
|
|
208
|
-
|
|
82
|
+
For common patterns (forms, auth, data extraction, parallel sessions, debugging), read `references/common-patterns.md`.
|
|
209
83
|
|
|
210
|
-
|
|
84
|
+
For semantic locators as an alternative to refs, read `references/semantic-locators.md`.
|
|
211
85
|
|
|
212
|
-
|
|
86
|
+
For iOS Simulator and mobile Safari automation, read `references/ios-simulator.md`.
|
|
213
87
|
|
|
214
|
-
|
|
88
|
+
## Reflect
|
|
215
89
|
|
|
216
|
-
|
|
90
|
+
Use the Read tool on `references/reflect.md` to reflect on the browser automation and note any skill issues.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Common Patterns
|
|
2
|
+
|
|
3
|
+
## Form Submission
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
agent-browser open https://example.com/signup
|
|
7
|
+
agent-browser snapshot -i
|
|
8
|
+
agent-browser fill @e1 "Jane Doe"
|
|
9
|
+
agent-browser fill @e2 "jane@example.com"
|
|
10
|
+
agent-browser select @e3 "California"
|
|
11
|
+
agent-browser check @e4
|
|
12
|
+
agent-browser click @e5
|
|
13
|
+
agent-browser wait --load networkidle
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Authentication with State Persistence
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Login once and save state
|
|
20
|
+
agent-browser open https://app.example.com/login
|
|
21
|
+
agent-browser snapshot -i
|
|
22
|
+
agent-browser fill @e1 "$USERNAME"
|
|
23
|
+
agent-browser fill @e2 "$PASSWORD"
|
|
24
|
+
agent-browser click @e3
|
|
25
|
+
agent-browser wait --url "**/dashboard"
|
|
26
|
+
agent-browser state save auth.json
|
|
27
|
+
|
|
28
|
+
# Reuse in future sessions
|
|
29
|
+
agent-browser state load auth.json
|
|
30
|
+
agent-browser open https://app.example.com/dashboard
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Data Extraction
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
agent-browser open https://example.com/products
|
|
37
|
+
agent-browser snapshot -i
|
|
38
|
+
agent-browser get text @e5 # Get specific element text
|
|
39
|
+
agent-browser get text body > page.txt # Get all page text
|
|
40
|
+
|
|
41
|
+
# JSON output for parsing
|
|
42
|
+
agent-browser snapshot -i --json
|
|
43
|
+
agent-browser get text @e1 --json
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Parallel Sessions
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
agent-browser --session site1 open https://site-a.com
|
|
50
|
+
agent-browser --session site2 open https://site-b.com
|
|
51
|
+
|
|
52
|
+
agent-browser --session site1 snapshot -i
|
|
53
|
+
agent-browser --session site2 snapshot -i
|
|
54
|
+
|
|
55
|
+
agent-browser session list
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Visual Browser (Debugging)
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
agent-browser --headed open https://example.com
|
|
62
|
+
agent-browser highlight @e1 # Highlight element
|
|
63
|
+
agent-browser record start demo.webm # Record session
|
|
64
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# iOS Simulator (Mobile Safari)
|
|
2
|
+
|
|
3
|
+
```bash
|
|
4
|
+
# List available iOS simulators
|
|
5
|
+
agent-browser device list
|
|
6
|
+
|
|
7
|
+
# Launch Safari on a specific device
|
|
8
|
+
agent-browser -p ios --device "iPhone 16 Pro" open https://example.com
|
|
9
|
+
|
|
10
|
+
# Same workflow as desktop - snapshot, interact, re-snapshot
|
|
11
|
+
agent-browser -p ios snapshot -i
|
|
12
|
+
agent-browser -p ios tap @e1 # Tap (alias for click)
|
|
13
|
+
agent-browser -p ios fill @e2 "text"
|
|
14
|
+
agent-browser -p ios swipe up # Mobile-specific gesture
|
|
15
|
+
|
|
16
|
+
# Take screenshot
|
|
17
|
+
agent-browser -p ios screenshot mobile.png
|
|
18
|
+
|
|
19
|
+
# Close session (shuts down simulator)
|
|
20
|
+
agent-browser -p ios close
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**Requirements:** macOS with Xcode, Appium (`npm install -g appium && appium driver install xcuitest`)
|
|
24
|
+
|
|
25
|
+
**Real devices:** Works with physical iOS devices if pre-configured. Use `--device "<UDID>"` where UDID is from `xcrun xctrace list devices`.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Reflect After Use
|
|
2
|
+
|
|
3
|
+
After completing the browser automation task, reflect on your experience.
|
|
4
|
+
|
|
5
|
+
Were any commands, flags, patterns, or workarounds in this reference incorrect or missing? Did you discover a command syntax, a workaround for a specific site, or a pattern that should be documented here?
|
|
6
|
+
|
|
7
|
+
If yes, update the relevant section of this skill file. Only add tribal knowledge -- commands and patterns a fresh Claude instance would not know about agent-browser specifically. Keep within size targets.
|
|
8
|
+
|
|
9
|
+
Tell the user what you updated, or confirm no updates were needed.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Semantic Locators (Alternative to Refs)
|
|
2
|
+
|
|
3
|
+
When refs are unavailable or unreliable, use semantic locators:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
agent-browser find text "Sign In" click
|
|
7
|
+
agent-browser find label "Email" fill "user@test.com"
|
|
8
|
+
agent-browser find role button click --name "Submit"
|
|
9
|
+
agent-browser find placeholder "Search" type "query"
|
|
10
|
+
agent-browser find testid "submit-btn" click
|
|
11
|
+
```
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: claude-md
|
|
3
|
-
description:
|
|
3
|
+
description: Manage CLAUDE.md files in a project. With no arguments, audits all CLAUDE.md files for accuracy and completeness. With arguments, intelligently updates the appropriate file.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# CLAUDE.md Management
|
|
7
7
|
|
|
8
|
-
Base directory for this skill: ~/.claude/skills/claude-md
|
|
9
|
-
|
|
10
8
|
## What To Do
|
|
11
9
|
|
|
12
10
|
Check if arguments were provided:
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Audit Reflection
|
|
2
2
|
|
|
3
|
-
**IMPORTANT: This step is mandatory. The audit workflow is not complete until this step is finished. Do not skip this.**
|
|
4
|
-
|
|
5
|
-
Reflect on your experience auditing the project's CLAUDE.md files. The purpose is to improve the claude-md skill itself based on what you just learned.
|
|
6
|
-
|
|
7
3
|
## Assess
|
|
8
4
|
|
|
9
5
|
Answer these questions honestly:
|
|
@@ -62,6 +62,4 @@ Remaining concerns:
|
|
|
62
62
|
- [any issues needing human decision]
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
Read references/audit-reflect.md now.
|
|
65
|
+
Use the Read tool on `references/audit-reflect.md` to reflect on the audit and note any skill issues.
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Create Reflection
|
|
2
2
|
|
|
3
|
-
**IMPORTANT: This step is mandatory. The create workflow is not complete until this step is finished. Do not skip this.**
|
|
4
|
-
|
|
5
|
-
Reflect on your experience creating a new CLAUDE.md file. The purpose is to improve the claude-md skill itself based on what you just learned.
|
|
6
|
-
|
|
7
3
|
## Assess
|
|
8
4
|
|
|
9
5
|
Answer these questions honestly:
|
|
@@ -71,6 +71,4 @@ Verify:
|
|
|
71
71
|
|
|
72
72
|
If all yes, proceed to the reflection step.
|
|
73
73
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
Read references/create-reflect.md now.
|
|
74
|
+
Use the Read tool on `references/create-reflect.md` to reflect on the creation process and note any skill issues.
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# Modify Reflection
|
|
2
2
|
|
|
3
|
-
**IMPORTANT: This step is mandatory. The modify workflow is not complete until this step is finished. Do not skip this.**
|
|
4
|
-
|
|
5
|
-
Reflect on your experience modifying the project's CLAUDE.md files. The purpose is to improve the claude-md skill itself based on what you just learned.
|
|
6
|
-
|
|
7
3
|
## Assess
|
|
8
4
|
|
|
9
5
|
Answer these questions honestly:
|
|
@@ -51,6 +51,4 @@ If the content would make the file exceed ~100 lines, consider:
|
|
|
51
51
|
|
|
52
52
|
Tell the user what was added and where. If creating a new CLAUDE.md file, explain why that location was chosen.
|
|
53
53
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
Read references/modify-reflect.md now.
|
|
54
|
+
Use the Read tool on `references/modify-reflect.md` to reflect on the modification and note any skill issues.
|
|
@@ -11,8 +11,8 @@ Ask the user what they need.
|
|
|
11
11
|
|
|
12
12
|
| Intent | Action |
|
|
13
13
|
|--------|--------|
|
|
14
|
-
| Create a new skill | Read `references/create-step-1-understand.md` |
|
|
15
|
-
| Fix, improve, audit, or modify an existing skill | Read `references/fix-step-1-diagnose.md` |
|
|
14
|
+
| Create a new skill | Use the Read tool on `references/create-step-1-understand.md` to start the creation workflow |
|
|
15
|
+
| Fix, improve, audit, or modify an existing skill | Use the Read tool on `references/fix-step-1-diagnose.md` to diagnose the issue |
|
|
16
16
|
|
|
17
17
|
If the user says "audit my skills", that is the fix path.
|
|
18
18
|
If they mention a specific skill that needs changes, that is also the fix path.
|
|
@@ -48,4 +48,4 @@ Move on when all of these are true:
|
|
|
48
48
|
- You understand WHY the approaches work, not just WHAT they are
|
|
49
49
|
- The user confirms you understand their needs
|
|
50
50
|
|
|
51
|
-
Read `references/create-step-2-design.md
|
|
51
|
+
Use the Read tool on `references/create-step-2-design.md` to design the skill's structure.
|
|
@@ -164,7 +164,7 @@ Every procedural skill must end with a dedicated reflection step file. This is a
|
|
|
164
164
|
|
|
165
165
|
The reflection step is where the agent looks back on its experience using the skill and, if the instructions were wrong, incomplete, or suboptimal, updates the skill files. This creates a self-learning loop — skills improve through use.
|
|
166
166
|
|
|
167
|
-
The chain link to the reflection step must use
|
|
167
|
+
The chain link to the reflection step must use the redirect pattern — frame reading the reflection step as how the agent presents results to the user. Example: "Use the Read tool on `references/step-N-reflect.md` to review your work and report results to the user."
|
|
168
168
|
|
|
169
169
|
For informational skills, append a reflection section to the end of SKILL.md (since there is no step chain).
|
|
170
170
|
|
|
@@ -201,5 +201,5 @@ Ask: "Does this design look right?"
|
|
|
201
201
|
|
|
202
202
|
| Context | Action |
|
|
203
203
|
|---------|--------|
|
|
204
|
-
| Creating a new skill | Read `references/create-step-3-write.md` |
|
|
205
|
-
| Fixing an existing skill (came from fix-step-1-diagnose) | Read `references/fix-step-2-apply.md` to apply the structural changes |
|
|
204
|
+
| Creating a new skill | Use the Read tool on `references/create-step-3-write.md` to write the skill files |
|
|
205
|
+
| Fixing an existing skill (came from fix-step-1-diagnose) | Use the Read tool on `references/fix-step-2-apply.md` to apply the structural changes |
|
|
@@ -113,7 +113,7 @@ Each step file covers ONE phase of the workflow. Structure each file:
|
|
|
113
113
|
|
|
114
114
|
1. A clear header naming the step
|
|
115
115
|
2. Immediate actionable instructions — what to do NOW
|
|
116
|
-
3. A chain link
|
|
116
|
+
3. A chain link: "Use the Read tool on `references/[next-step].md` to [what the next step accomplishes]"
|
|
117
117
|
|
|
118
118
|
**Critical rules:**
|
|
119
119
|
- No table of contents across steps
|
|
@@ -144,8 +144,8 @@ description: [third person, trigger phrases, WHEN not HOW]
|
|
|
144
144
|
|
|
145
145
|
| Choice | Action |
|
|
146
146
|
|--------|--------|
|
|
147
|
-
| Option A | Read `references/step-1-a.md` |
|
|
148
|
-
| Option B | Read `references/step-1-b.md` |
|
|
147
|
+
| Option A | Use the Read tool on `references/step-1-a.md` to [what it accomplishes] |
|
|
148
|
+
| Option B | Use the Read tool on `references/step-1-b.md` to [what it accomplishes] |
|
|
149
149
|
```
|
|
150
150
|
|
|
151
151
|
Keep it minimal. Only include context that is needed at EVERY activation.
|
|
@@ -165,19 +165,51 @@ Every procedural skill must have a dedicated reflection step as the final file i
|
|
|
165
165
|
|
|
166
166
|
**The reflection step file** should contain:
|
|
167
167
|
|
|
168
|
-
1. **
|
|
169
|
-
2. **
|
|
170
|
-
3. **
|
|
171
|
-
4. **Report**: "Tell the user what you changed and why, or confirm that no updates were needed."
|
|
168
|
+
1. **Assessment**: Domain-specific questions — "Were any instructions wrong, incomplete, or misleading? Did you have to figure something out that the skill should have told you? Did any commands, paths, or patterns fail and require correction?"
|
|
169
|
+
2. **Action**: "If yes, identify the specific file where the issue lives, read it, and apply the fix. Apply the tribal knowledge test: only add what a fresh Claude instance would not already know."
|
|
170
|
+
3. **Report**: "Tell the user what you changed and why, or confirm that no updates were needed."
|
|
172
171
|
|
|
173
172
|
Tailor the assessment questions to the skill's domain — what "went wrong" means for a prompting skill is different from what it means for a browser automation skill.
|
|
174
173
|
|
|
175
|
-
|
|
174
|
+
### Chain Links Between Steps
|
|
176
175
|
|
|
176
|
+
Chain links connect one step to the next. The key challenge: after a heavy generation step, the model's completion impulse is strong — it wants to present results and stop. Chain links must redirect that impulse rather than fight it.
|
|
177
|
+
|
|
178
|
+
**The redirect pattern:**
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
Use the Read tool on `references/step-N-[name].md` to [what the next step accomplishes for the user].
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
This works because it frames reading the next step as HOW the model accomplishes what it already wants to do (present results, finish the task).
|
|
185
|
+
|
|
186
|
+
**Why the old "IMPORTANT: You are not done" pattern fails:** Negative framing ("you are NOT done") fights the completion impulse head-on. After heavy generation, the model has strong momentum toward completion and ignores imperative warnings. The redirect pattern harnesses that momentum instead.
|
|
187
|
+
|
|
188
|
+
**Pre-work priming:** At the TOP of generation-heavy steps (before the work begins), add a framing line:
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
These are drafts — review and present final results in the next step.
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
This primes the model to expect a follow-up step, reducing the completion impulse before it builds.
|
|
195
|
+
|
|
196
|
+
**Integration rules:**
|
|
197
|
+
- Place chain links INSIDE the action section, not as a separate afterthought section
|
|
198
|
+
- For the final work step before reflection/presentation: frame the next step as where results get presented to the user
|
|
199
|
+
- Keep chain links to one line — no multi-line bold warnings
|
|
200
|
+
|
|
201
|
+
**Before/after example:**
|
|
202
|
+
|
|
203
|
+
Before (old pattern — fails after heavy generation):
|
|
177
204
|
```
|
|
178
205
|
**IMPORTANT: You are not done. You MUST read and complete the next step. The workflow is incomplete without it.**
|
|
179
206
|
|
|
180
|
-
Read `references/step-
|
|
207
|
+
Read `references/step-4-reflect.md` now.
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
After (redirect pattern — works with the completion impulse):
|
|
211
|
+
```
|
|
212
|
+
Use the Read tool on `references/step-4-reflect.md` to review your work and report results to the user.
|
|
181
213
|
```
|
|
182
214
|
|
|
183
215
|
For informational skills (no step chain), append a reflection section to the end of SKILL.md instead.
|
|
@@ -208,4 +240,4 @@ With these principles applied, write all the skill files now:
|
|
|
208
240
|
2. For procedural: each step file in `references/`
|
|
209
241
|
3. Any `scripts/` or `templates/` files if the design calls for them
|
|
210
242
|
|
|
211
|
-
Read `references/create-step-4-review.md`
|
|
243
|
+
Use the Read tool on `references/create-step-4-review.md` to review all files before proceeding.
|