cc-dev-template 0.1.50 → 0.1.51
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 +30 -6
- package/package.json +1 -1
- package/src/skills/claude-md/SKILL.md +1 -8
- package/src/skills/claude-md/references/audit.md +1 -10
- package/src/skills/claude-md/references/create.md +2 -2
- package/src/skills/initialize-project/SKILL.md +17 -68
- package/src/skills/initialize-project/templates/CLAUDE.md.template +10 -0
- package/src/skills/initialize-project/templates/CURRENT_WORK.md.template +13 -0
- package/src/skills/initialize-project/templates/INDEX.md.template +7 -0
- package/src/skills/prompting/SKILL.md +9 -116
- package/src/skills/prompting/references/create.md +59 -0
- package/src/skills/prompting/references/principles.md +60 -0
- package/src/skills/prompting/references/review.md +78 -0
- package/src/skills/spec-interview/SKILL.md +4 -26
- package/src/skills/spec-interview/references/step-1-opening.md +21 -0
- package/src/skills/spec-interview/references/step-2-deep-dive.md +77 -0
- package/src/skills/spec-interview/references/step-3-finalize.md +19 -0
- package/src/skills/spec-review/SKILL.md +12 -14
- package/src/skills/spec-to-tasks/SKILL.md +3 -85
- package/src/skills/spec-to-tasks/references/step-1-identify-spec.md +30 -0
- package/src/skills/spec-to-tasks/references/step-2-explore.md +25 -0
- package/src/skills/spec-to-tasks/references/step-3-generate.md +31 -0
- package/src/skills/spec-to-tasks/templates/tasks.yaml +25 -0
- package/src/mcp-servers/qa-server/README.md +0 -122
- package/src/mcp-servers/qa-server/package-lock.json +0 -2015
- package/src/mcp-servers/qa-server/package.json +0 -28
- package/src/mcp-servers/qa-server/src/index.ts +0 -220
- package/src/mcp-servers/qa-server/tsconfig.json +0 -17
- package/src/skills/spec-interview/references/interview-guide.md +0 -123
- package/src/skills/youtube-to-notes/SKILL.md +0 -11
- package/src/skills/youtube-to-notes/references/step-1-setup.md +0 -15
- package/src/skills/youtube-to-notes/references/step-2-download-transcribe.md +0 -13
- package/src/skills/youtube-to-notes/references/step-3-create-documents.md +0 -31
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Step 2: Deep Dive
|
|
2
|
+
|
|
3
|
+
Cover all specification areas through conversation. Update `docs/specs/<name>/spec.md` incrementally as information emerges.
|
|
4
|
+
|
|
5
|
+
## Areas to Cover
|
|
6
|
+
|
|
7
|
+
### Intent & Goals
|
|
8
|
+
- Primary goal and business/user value
|
|
9
|
+
- Success metrics and how to verify it works
|
|
10
|
+
|
|
11
|
+
### Integration Points
|
|
12
|
+
- Existing system components this touches
|
|
13
|
+
- External services, APIs, or libraries
|
|
14
|
+
- Data flows in and out
|
|
15
|
+
|
|
16
|
+
Spawn exploration subagents to investigate the codebase when integration questions arise. They return only relevant findings.
|
|
17
|
+
|
|
18
|
+
### Data Model
|
|
19
|
+
- Entities and relationships
|
|
20
|
+
- Constraints (required fields, validations, limits)
|
|
21
|
+
- Extending existing models vs creating new ones
|
|
22
|
+
|
|
23
|
+
### Behavior & Flows
|
|
24
|
+
- Main user flows, step by step
|
|
25
|
+
- Triggers and resulting actions
|
|
26
|
+
- Different modes or variations
|
|
27
|
+
|
|
28
|
+
### Edge Cases & Error Handling
|
|
29
|
+
- Failure modes and how to handle them
|
|
30
|
+
- Invalid input handling
|
|
31
|
+
- Boundary conditions
|
|
32
|
+
- Partial failure recovery
|
|
33
|
+
|
|
34
|
+
### Blockers & Dependencies
|
|
35
|
+
- External dependencies (APIs, services, libraries)
|
|
36
|
+
- Credentials or access needed
|
|
37
|
+
- Decisions that must be made before implementation
|
|
38
|
+
|
|
39
|
+
## Spec Structure
|
|
40
|
+
|
|
41
|
+
Write to `docs/specs/<name>/spec.md` with this structure:
|
|
42
|
+
|
|
43
|
+
```markdown
|
|
44
|
+
# [Feature Name]
|
|
45
|
+
|
|
46
|
+
## Overview
|
|
47
|
+
[2-3 sentences: what and why]
|
|
48
|
+
|
|
49
|
+
## Goals
|
|
50
|
+
- [Primary goal]
|
|
51
|
+
- [Secondary goals]
|
|
52
|
+
|
|
53
|
+
## Integration Points
|
|
54
|
+
- Touches: [existing components]
|
|
55
|
+
- External: [APIs, services, libraries]
|
|
56
|
+
- Data flows: [in/out]
|
|
57
|
+
|
|
58
|
+
## Data Model
|
|
59
|
+
[Entities, relationships, constraints]
|
|
60
|
+
|
|
61
|
+
## Behavior
|
|
62
|
+
### [Flow 1]
|
|
63
|
+
[Step by step]
|
|
64
|
+
|
|
65
|
+
## Edge Cases
|
|
66
|
+
- [Case]: [handling]
|
|
67
|
+
|
|
68
|
+
## Acceptance Criteria
|
|
69
|
+
- [ ] [Testable requirement]
|
|
70
|
+
|
|
71
|
+
## Blockers
|
|
72
|
+
- [ ] [Blocker]: [what's needed]
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## When to Move On
|
|
76
|
+
|
|
77
|
+
Move to `references/step-3-finalize.md` when all areas have been covered and the spec document is substantially complete.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Step 3: Finalize
|
|
2
|
+
|
|
3
|
+
Review the spec for completeness and hand off.
|
|
4
|
+
|
|
5
|
+
## Review for Gaps
|
|
6
|
+
|
|
7
|
+
Invoke the `spec-review` skill, specifying which spec to review. It analyzes the spec and returns feedback.
|
|
8
|
+
|
|
9
|
+
If gaps are found, ask follow-up questions to address them. Repeat until review passes.
|
|
10
|
+
|
|
11
|
+
## Complete the Interview
|
|
12
|
+
|
|
13
|
+
Once review passes:
|
|
14
|
+
|
|
15
|
+
1. Show the user the final spec
|
|
16
|
+
2. Confirm they are satisfied
|
|
17
|
+
3. Ask if they want to proceed to task breakdown
|
|
18
|
+
|
|
19
|
+
If yes, invoke `spec-to-tasks` and specify which spec to break down.
|
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-review
|
|
3
|
-
description:
|
|
3
|
+
description: This skill should be used when the user says "review the spec", "check spec completeness", or "is this spec ready". Also invoked by spec-interview when a spec is complete.
|
|
4
4
|
argument-hint: <spec-name>
|
|
5
5
|
context: fork
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Spec Review
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
## Steps
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
1. **Identify the spec to review** - use the spec path if specified in the prompt, otherwise check git for the most recently modified spec in `docs/specs/`
|
|
12
|
+
1. **Find the spec** - Use the path from the prompt if provided. Otherwise, find the most recently modified file in `docs/specs/`. If no specs exist, inform the user and stop.
|
|
15
13
|
2. **Read the spec file**
|
|
16
14
|
3. **Evaluate against the checklist below**
|
|
17
|
-
4. **Return structured feedback**
|
|
15
|
+
4. **Return structured feedback using the output format**
|
|
18
16
|
|
|
19
17
|
## Completeness Checklist
|
|
20
18
|
|
|
@@ -36,13 +34,13 @@ A spec is implementation-ready when ALL of these are satisfied:
|
|
|
36
34
|
|
|
37
35
|
### Implementation Readiness
|
|
38
36
|
|
|
39
|
-
|
|
37
|
+
The test: could someone implement this feature completely hands-off, with zero questions?
|
|
40
38
|
|
|
41
|
-
|
|
42
|
-
- Vague language ("should handle errors appropriately"
|
|
43
|
-
- Missing details ("integrates with auth"
|
|
44
|
-
- Unstated assumptions ("uses the standard pattern"
|
|
45
|
-
- Blocking dependencies ("needs API access"
|
|
39
|
+
Flag these problems:
|
|
40
|
+
- Vague language ("should handle errors appropriately" — HOW?)
|
|
41
|
+
- Missing details ("integrates with auth" — WHERE? HOW?)
|
|
42
|
+
- Unstated assumptions ("uses the standard pattern" — WHICH pattern?)
|
|
43
|
+
- Blocking dependencies ("needs API access" — DO WE HAVE IT?)
|
|
46
44
|
|
|
47
45
|
## Output Format
|
|
48
46
|
|
|
@@ -66,5 +64,5 @@ Return the review as:
|
|
|
66
64
|
[Specific questions to ask the user, or "Spec is implementation-ready"]
|
|
67
65
|
```
|
|
68
66
|
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
**READY**: Spec can proceed to task breakdown.
|
|
68
|
+
**NEEDS WORK**: List specific questions that need answers.
|
|
@@ -1,94 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-to-tasks
|
|
3
|
-
description:
|
|
3
|
+
description: Converts a feature specification into implementation tasks. Use after a spec is complete and approved, or when planning work for a defined feature.
|
|
4
4
|
argument-hint: <spec-name>
|
|
5
5
|
context: fork
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# Spec to Tasks
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
## What To Do Now
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
1. **Identify the spec** - use the spec path if specified in the prompt, otherwise check git for the most recently modified spec in `docs/specs/`
|
|
15
|
-
2. **Explore the codebase** - use a subagent to identify existing patterns, conventions, and where code should live
|
|
16
|
-
3. **Generate the task manifest** - create `tasks.yaml` in the same directory as the spec
|
|
17
|
-
4. **Review with user** - show the task list for approval
|
|
18
|
-
|
|
19
|
-
## Task Principles
|
|
20
|
-
|
|
21
|
-
**Atomic tasks.** Each task is a single, focused change:
|
|
22
|
-
- One model/entity
|
|
23
|
-
- One endpoint/route
|
|
24
|
-
- One component
|
|
25
|
-
- One test file
|
|
26
|
-
|
|
27
|
-
A task should take an AI agent one focused session to complete.
|
|
28
|
-
|
|
29
|
-
**Ordered by dependency.** Tasks are sequenced so each can be completed in order without blocking.
|
|
30
|
-
|
|
31
|
-
**Include file paths.** Each task specifies the target file(s) based on codebase exploration.
|
|
32
|
-
|
|
33
|
-
**No code in tasks.** Tasks describe WHAT to do, not HOW. Implementation details are in the spec.
|
|
34
|
-
|
|
35
|
-
## Task Format
|
|
36
|
-
|
|
37
|
-
Write to `docs/specs/<name>/tasks.yaml`:
|
|
38
|
-
|
|
39
|
-
```yaml
|
|
40
|
-
spec: <name>
|
|
41
|
-
spec_path: docs/specs/<name>/spec.md
|
|
42
|
-
generated: <ISO timestamp>
|
|
43
|
-
|
|
44
|
-
tasks:
|
|
45
|
-
- id: T001
|
|
46
|
-
title: <Short descriptive title>
|
|
47
|
-
description: |
|
|
48
|
-
<What to implement>
|
|
49
|
-
<Reference to spec section if applicable>
|
|
50
|
-
files:
|
|
51
|
-
- <path/to/file.ts>
|
|
52
|
-
depends_on: []
|
|
53
|
-
acceptance: |
|
|
54
|
-
<How to verify this task is complete>
|
|
55
|
-
|
|
56
|
-
- id: T002
|
|
57
|
-
title: <Next task>
|
|
58
|
-
description: |
|
|
59
|
-
<What to implement>
|
|
60
|
-
files:
|
|
61
|
-
- <path/to/file.ts>
|
|
62
|
-
depends_on: [T001]
|
|
63
|
-
acceptance: |
|
|
64
|
-
<Verification criteria>
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Generating File Paths
|
|
68
|
-
|
|
69
|
-
Before writing tasks, explore the codebase to understand:
|
|
70
|
-
- Existing file patterns (where do models live? services? routes?)
|
|
71
|
-
- Specific files that need modification
|
|
72
|
-
- New files that need creation and where they should go
|
|
73
|
-
|
|
74
|
-
Use these findings to populate the `files` field for each task.
|
|
75
|
-
|
|
76
|
-
## Ordering Tasks
|
|
77
|
-
|
|
78
|
-
Sequence by dependency:
|
|
79
|
-
1. **Data layer first** - Models, schemas, database changes
|
|
80
|
-
2. **Business logic** - Services, utilities, core functions
|
|
81
|
-
3. **API layer** - Routes, controllers, endpoints
|
|
82
|
-
4. **Integration** - Connecting components, wiring up
|
|
83
|
-
5. **Tests** - Can be parallel with implementation or after
|
|
84
|
-
|
|
85
|
-
If tasks are independent, give them the same `depends_on`. This signals they could run in parallel.
|
|
86
|
-
|
|
87
|
-
## Output
|
|
88
|
-
|
|
89
|
-
After generating:
|
|
90
|
-
1. Show the user a summary: number of tasks, estimated scope
|
|
91
|
-
2. List the task titles in order
|
|
92
|
-
3. Ask if they want to see the full YAML or proceed to implementation
|
|
93
|
-
|
|
94
|
-
Save the manifest to `docs/specs/<name>/tasks.yaml`.
|
|
12
|
+
Read `references/step-1-identify-spec.md` and begin.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Step 1: Identify the Spec
|
|
2
|
+
|
|
3
|
+
Locate the specification to convert into tasks.
|
|
4
|
+
|
|
5
|
+
## If Spec Path Provided
|
|
6
|
+
|
|
7
|
+
Use the path from the user's prompt. Verify the file exists and read it.
|
|
8
|
+
|
|
9
|
+
## If No Path Provided
|
|
10
|
+
|
|
11
|
+
Find the most recently modified spec:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
git log -1 --name-only --diff-filter=AM -- 'docs/specs/**/*.md' | tail -1
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
If no specs found in git history, check `docs/specs/` for any spec files and ask the user which one to use.
|
|
18
|
+
|
|
19
|
+
## Verify the Spec
|
|
20
|
+
|
|
21
|
+
Read the spec file. Confirm it contains enough detail to generate implementation tasks:
|
|
22
|
+
- Clear requirements or user stories
|
|
23
|
+
- Technical approach or architecture decisions
|
|
24
|
+
- Defined scope
|
|
25
|
+
|
|
26
|
+
If the spec is incomplete or unclear, inform the user and ask if they want to complete the spec first.
|
|
27
|
+
|
|
28
|
+
## Next Step
|
|
29
|
+
|
|
30
|
+
Once the spec is identified and verified, read `references/step-2-explore.md`.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Step 2: Explore the Codebase
|
|
2
|
+
|
|
3
|
+
Before generating tasks, understand the codebase structure to determine accurate file paths.
|
|
4
|
+
|
|
5
|
+
## Launch Exploration Subagent
|
|
6
|
+
|
|
7
|
+
Use a subagent to explore the codebase. The subagent should identify:
|
|
8
|
+
|
|
9
|
+
- **Existing patterns**: Where do models, services, routes, and components live?
|
|
10
|
+
- **Naming conventions**: How are files and directories named?
|
|
11
|
+
- **Files to modify**: Which existing files need changes for this feature?
|
|
12
|
+
- **Files to create**: What new files are needed and where should they go?
|
|
13
|
+
|
|
14
|
+
Provide the subagent with the spec content so it understands what is being implemented.
|
|
15
|
+
|
|
16
|
+
## Capture Findings
|
|
17
|
+
|
|
18
|
+
The subagent should return:
|
|
19
|
+
- A list of directories and their purposes
|
|
20
|
+
- Specific file paths for each aspect of the feature
|
|
21
|
+
- Any existing code that the new feature should integrate with
|
|
22
|
+
|
|
23
|
+
## Next Step
|
|
24
|
+
|
|
25
|
+
Once exploration is complete and file paths are known, read `references/step-3-generate.md`.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Step 3: Generate Task Manifest
|
|
2
|
+
|
|
3
|
+
Create the task manifest based on the spec and codebase exploration.
|
|
4
|
+
|
|
5
|
+
## Task Principles
|
|
6
|
+
|
|
7
|
+
**Atomic**: Each task is a single, focused change — one model, one endpoint, one component, or one test file. A task should take an AI agent one focused session to complete.
|
|
8
|
+
|
|
9
|
+
**Ordered**: Sequence tasks so each can be completed without blocking. Tasks with no dependencies can share the same `depends_on` value to signal parallel execution.
|
|
10
|
+
|
|
11
|
+
**Concrete file paths**: Use the file paths discovered in Step 2. Every task specifies which files it touches.
|
|
12
|
+
|
|
13
|
+
**Declarative**: Tasks describe WHAT to implement, not HOW. Implementation details live in the spec.
|
|
14
|
+
|
|
15
|
+
## Generate the Manifest
|
|
16
|
+
|
|
17
|
+
Write to `docs/specs/<name>/tasks.yaml` using the template in `templates/tasks.yaml`.
|
|
18
|
+
|
|
19
|
+
Derive tasks from the spec:
|
|
20
|
+
- Break each requirement or feature section into atomic units
|
|
21
|
+
- Sequence by dependency (data layer, then business logic, then API, then integration)
|
|
22
|
+
- Reference specific spec sections in task descriptions where helpful
|
|
23
|
+
|
|
24
|
+
## Review with User
|
|
25
|
+
|
|
26
|
+
Present:
|
|
27
|
+
1. Number of tasks and estimated scope
|
|
28
|
+
2. Task titles in dependency order
|
|
29
|
+
3. Offer to show full YAML or proceed to implementation
|
|
30
|
+
|
|
31
|
+
Save the manifest to `docs/specs/<name>/tasks.yaml`.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
spec: <name>
|
|
2
|
+
spec_path: docs/specs/<name>/spec.md
|
|
3
|
+
generated: <ISO timestamp>
|
|
4
|
+
|
|
5
|
+
tasks:
|
|
6
|
+
- id: T001
|
|
7
|
+
title: <Short descriptive title>
|
|
8
|
+
description: |
|
|
9
|
+
<What to implement>
|
|
10
|
+
<Reference to spec section if applicable>
|
|
11
|
+
files:
|
|
12
|
+
- <path/to/file.ts>
|
|
13
|
+
depends_on: []
|
|
14
|
+
acceptance: |
|
|
15
|
+
<How to verify this task is complete>
|
|
16
|
+
|
|
17
|
+
- id: T002
|
|
18
|
+
title: <Next task>
|
|
19
|
+
description: |
|
|
20
|
+
<What to implement>
|
|
21
|
+
files:
|
|
22
|
+
- <path/to/file.ts>
|
|
23
|
+
depends_on: [T001]
|
|
24
|
+
acceptance: |
|
|
25
|
+
<Verification criteria>
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
# QA Server
|
|
2
|
-
|
|
3
|
-
MCP server that spawns a Claude sub-agent for frontend visual inspection.
|
|
4
|
-
|
|
5
|
-
## Problem
|
|
6
|
-
|
|
7
|
-
Playwright MCP adds ~20k tokens to context just from tool definitions, even when browser inspection isn't needed. This wastes context in long sessions.
|
|
8
|
-
|
|
9
|
-
## Solution
|
|
10
|
-
|
|
11
|
-
This server exposes a single `inspect_frontend` tool (~500 tokens) that spawns a sub-agent with full browser capabilities on-demand.
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
Main Conversation (~500 tokens)
|
|
15
|
-
│
|
|
16
|
-
└── mcp__qa__inspect_frontend
|
|
17
|
-
│
|
|
18
|
-
└── Sub-agent with @playwright/mcp (full browser control)
|
|
19
|
-
│
|
|
20
|
-
└── Returns QA report
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
**Note:** No system Chrome installation is required. Playwright automatically downloads and manages its own Chromium browser.
|
|
24
|
-
|
|
25
|
-
## Installation
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
cd src/mcp-servers/qa-server
|
|
29
|
-
npm install
|
|
30
|
-
npm run build
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Then add to Claude Code:
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
claude mcp add qa node /path/to/qa-server/dist/index.js
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Or in `~/.claude.json`:
|
|
40
|
-
|
|
41
|
-
```json
|
|
42
|
-
{
|
|
43
|
-
"mcpServers": {
|
|
44
|
-
"qa": {
|
|
45
|
-
"type": "stdio",
|
|
46
|
-
"command": "node",
|
|
47
|
-
"args": ["/path/to/qa-server/dist/index.js"]
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## After Setup
|
|
54
|
-
|
|
55
|
-
Remove Playwright MCP from your main config to save tokens (if previously added):
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
claude mcp remove playwright
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## Usage
|
|
62
|
-
|
|
63
|
-
From Claude Code conversation:
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
Inspect http://localhost:3000 and verify the login form works
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Claude will call `mcp__qa__inspect_frontend` with:
|
|
70
|
-
- url: "http://localhost:3000"
|
|
71
|
-
- task: "verify the login form works"
|
|
72
|
-
|
|
73
|
-
The sub-agent will:
|
|
74
|
-
1. Navigate to the URL
|
|
75
|
-
2. Take screenshots
|
|
76
|
-
3. Check console errors
|
|
77
|
-
4. Perform the task (click, fill forms, etc.)
|
|
78
|
-
5. Return a structured QA report
|
|
79
|
-
|
|
80
|
-
## Tool Definition
|
|
81
|
-
|
|
82
|
-
```typescript
|
|
83
|
-
{
|
|
84
|
-
name: "inspect_frontend",
|
|
85
|
-
description: "Spawn a QA sub-agent to visually inspect a frontend...",
|
|
86
|
-
inputSchema: {
|
|
87
|
-
type: "object",
|
|
88
|
-
properties: {
|
|
89
|
-
url: { type: "string", description: "URL to inspect" },
|
|
90
|
-
task: { type: "string", description: "What to inspect or test" }
|
|
91
|
-
},
|
|
92
|
-
required: ["url", "task"]
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Sub-agent Capabilities
|
|
98
|
-
|
|
99
|
-
The spawned sub-agent uses Opus (best visual understanding) and has access to Playwright MCP tools:
|
|
100
|
-
|
|
101
|
-
- **Navigation**: browser_navigate, browser_tab_new, browser_tab_list, browser_tab_select, browser_wait_for
|
|
102
|
-
- **Inspection**: browser_screenshot, browser_snapshot, browser_console_messages
|
|
103
|
-
- **Interaction**: browser_click, browser_type, browser_hover, browser_press_key, browser_handle_dialog
|
|
104
|
-
|
|
105
|
-
## Token Savings
|
|
106
|
-
|
|
107
|
-
| Before | After |
|
|
108
|
-
|--------|-------|
|
|
109
|
-
| ~20k tokens (26 browser tools always loaded) | ~500 tokens (1 tool) |
|
|
110
|
-
|
|
111
|
-
## Development
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
# Run in development mode
|
|
115
|
-
npm run dev
|
|
116
|
-
|
|
117
|
-
# Build for production
|
|
118
|
-
npm run build
|
|
119
|
-
|
|
120
|
-
# Run production build
|
|
121
|
-
npm start
|
|
122
|
-
```
|