devlyn-cli 0.0.6 → 0.1.0
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/CLAUDE.md +13 -2
- package/README.md +11 -6
- package/bin/devlyn.js +18 -0
- package/config/commands/{devlyn.ui.md → devlyn.design-ui.md} +5 -0
- package/config/commands/devlyn.implement-ui.md +466 -0
- package/config/commands/devlyn.team-resolve.md +307 -0
- package/config/commands/devlyn.team-review.md +310 -0
- package/config/skills/code-review-standards/SKILL.md +71 -0
- package/config/skills/root-cause-analysis/SKILL.md +70 -0
- package/config/skills/ui-implementation-standards/SKILL.md +74 -0
- package/optional-skills/pyx-scan/SKILL.md +185 -0
- package/package.json +1 -1
- package/config/skills/feature-gap-analysis/SKILL.md +0 -111
- package/config/skills/investigate/SKILL.md +0 -71
package/CLAUDE.md
CHANGED
|
@@ -19,7 +19,16 @@ When investigating bugs, analyzing features, or exploring code:
|
|
|
19
19
|
- Remaining unknowns
|
|
20
20
|
- Recommended next steps
|
|
21
21
|
|
|
22
|
-
For complex investigations, use `/
|
|
22
|
+
For complex investigations, use `/devlyn.team-resolve` to assemble a multi-perspective investigation team, or spawn parallel Task agents to explore different areas simultaneously.
|
|
23
|
+
|
|
24
|
+
## UI/UX Workflow
|
|
25
|
+
|
|
26
|
+
The full design-to-implementation pipeline:
|
|
27
|
+
|
|
28
|
+
1. `/devlyn.design-ui` → Generate 5 style explorations
|
|
29
|
+
2. `/devlyn.design-system [N]` → Extract tokens from chosen style
|
|
30
|
+
3. `/devlyn.implement-ui` → Team implements or improves UI from design system
|
|
31
|
+
4. `/devlyn.team-resolve [feature]` → Add features on top
|
|
23
32
|
|
|
24
33
|
## Feature Development
|
|
25
34
|
|
|
@@ -32,7 +41,9 @@ For complex features, use the Plan agent to design the approach before implement
|
|
|
32
41
|
|
|
33
42
|
## Debugging Workflow
|
|
34
43
|
|
|
35
|
-
Use `/devlyn.resolve` for systematic bug fixing with test-driven validation
|
|
44
|
+
- **Simple bugs**: Use `/devlyn.resolve` for systematic bug fixing with test-driven validation
|
|
45
|
+
- **Complex bugs**: Use `/devlyn.team-resolve` for multi-perspective investigation with a full agent team
|
|
46
|
+
- **Post-fix review**: Use `/devlyn.team-review` for thorough multi-reviewer validation
|
|
36
47
|
|
|
37
48
|
## Communication Style
|
|
38
49
|
|
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
devlyn-cli installs a curated `.claude/` configuration into any project, giving your team:
|
|
19
19
|
|
|
20
20
|
- Battle-tested slash commands for debugging, code review, UI design, and more
|
|
21
|
-
- Reusable AI agent skills for
|
|
21
|
+
- Reusable AI agent skills for debugging, code review, and UI implementation
|
|
22
22
|
- Product and feature spec templates
|
|
23
23
|
- Commit message conventions
|
|
24
24
|
|
|
@@ -48,8 +48,8 @@ npx devlyn-cli list
|
|
|
48
48
|
```
|
|
49
49
|
your-project/
|
|
50
50
|
├── .claude/
|
|
51
|
-
│ ├── commands/ #
|
|
52
|
-
│ ├── skills/ #
|
|
51
|
+
│ ├── commands/ # 12 slash commands
|
|
52
|
+
│ ├── skills/ # 3 core skills + optional addons
|
|
53
53
|
│ ├── templates/ # Document templates
|
|
54
54
|
│ └── commit-conventions.md # Commit message standards
|
|
55
55
|
└── CLAUDE.md # Project-level instructions
|
|
@@ -62,8 +62,11 @@ Slash commands are invoked directly in Claude Code conversations (e.g., `/devlyn
|
|
|
62
62
|
| Command | Description |
|
|
63
63
|
|---|---|
|
|
64
64
|
| `/devlyn.resolve` | Systematic bug fixing with root-cause analysis and test-driven validation |
|
|
65
|
+
| `/devlyn.team-resolve` | Team-based issue resolution — spawns specialized agent teammates (root cause analyst, test engineer, security auditor, etc.) |
|
|
65
66
|
| `/devlyn.review` | Post-implementation code review — security, quality, best practices |
|
|
66
|
-
| `/devlyn.
|
|
67
|
+
| `/devlyn.team-review` | Team-based multi-perspective code review — spawns specialized reviewers (security, quality, testing, product, performance) |
|
|
68
|
+
| `/devlyn.design-ui` | Generate 5 distinct UI style explorations from a spec or reference image |
|
|
69
|
+
| `/devlyn.implement-ui` | Team-based UI implementation/improvement — spawns component architect, UX engineer, accessibility engineer, responsive engineer, visual QA |
|
|
67
70
|
| `/devlyn.feature-spec` | Transform product specs into implementable feature specifications |
|
|
68
71
|
| `/devlyn.product-spec` | Generate or incrementally update product spec documents |
|
|
69
72
|
| `/devlyn.discover-product` | Scan a codebase to generate feature-oriented product documentation |
|
|
@@ -77,8 +80,9 @@ Skills are triggered automatically based on conversation context.
|
|
|
77
80
|
|
|
78
81
|
| Skill | Description |
|
|
79
82
|
|---|---|
|
|
80
|
-
| `
|
|
81
|
-
| `
|
|
83
|
+
| `root-cause-analysis` | 5 Whys methodology, evidence standards, and no-workaround rules for debugging |
|
|
84
|
+
| `code-review-standards` | Severity framework, quality bar, and approval criteria for code reviews |
|
|
85
|
+
| `ui-implementation-standards` | Design system fidelity, accessibility, animation quality, and responsive standards for UI work |
|
|
82
86
|
|
|
83
87
|
## Templates
|
|
84
88
|
|
|
@@ -96,6 +100,7 @@ During installation, you can choose to add optional skills and third-party skill
|
|
|
96
100
|
|---|---|---|
|
|
97
101
|
| `cloudflare-nextjs-setup` | skill | Cloudflare Workers + Next.js deployment with OpenNext |
|
|
98
102
|
| `prompt-engineering` | skill | Claude 4 prompt optimization using Anthropic best practices |
|
|
103
|
+
| `pyx-scan` | skill | Check whether an AI agent skill is safe before installing |
|
|
99
104
|
| `vercel-labs/agent-skills` | pack | React, Next.js, React Native best practices |
|
|
100
105
|
| `supabase/agent-skills` | pack | Supabase integration patterns |
|
|
101
106
|
| `coreyhaines31/marketingskills` | pack | Marketing automation and content skills |
|
package/bin/devlyn.js
CHANGED
|
@@ -61,6 +61,7 @@ const OPTIONAL_ADDONS = [
|
|
|
61
61
|
// Local optional skills (copied to .claude/skills/)
|
|
62
62
|
{ name: 'cloudflare-nextjs-setup', desc: 'Cloudflare Workers + Next.js deployment with OpenNext', type: 'local' },
|
|
63
63
|
{ name: 'prompt-engineering', desc: 'Claude 4 prompt optimization using Anthropic best practices', type: 'local' },
|
|
64
|
+
{ name: 'pyx-scan', desc: 'Check whether an AI agent skill is safe before installing', type: 'local' },
|
|
64
65
|
// External skill packs (installed via npx skills add)
|
|
65
66
|
{ name: 'vercel-labs/agent-skills', desc: 'React, Next.js, React Native best practices', type: 'external' },
|
|
66
67
|
{ name: 'supabase/agent-skills', desc: 'Supabase integration patterns', type: 'external' },
|
|
@@ -336,6 +337,23 @@ async function init(skipPrompts = false) {
|
|
|
336
337
|
log(' → CLAUDE.md', 'dim');
|
|
337
338
|
}
|
|
338
339
|
|
|
340
|
+
// Enable agent teams in project settings
|
|
341
|
+
const settingsPath = path.join(targetDir, 'settings.json');
|
|
342
|
+
let settings = {};
|
|
343
|
+
if (fs.existsSync(settingsPath)) {
|
|
344
|
+
try {
|
|
345
|
+
settings = JSON.parse(fs.readFileSync(settingsPath, 'utf8'));
|
|
346
|
+
} catch {
|
|
347
|
+
settings = {};
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
if (!settings.env) settings.env = {};
|
|
351
|
+
if (!settings.env.CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS) {
|
|
352
|
+
settings.env.CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS = '1';
|
|
353
|
+
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
|
|
354
|
+
log(' → settings.json (agent teams enabled)', 'dim');
|
|
355
|
+
}
|
|
356
|
+
|
|
339
357
|
log('\n✅ Core config installed!', 'green');
|
|
340
358
|
|
|
341
359
|
// Skip prompts if -y flag or non-interactive
|
|
@@ -340,3 +340,8 @@ Create `docs/design/` directory if needed. Save all 5 HTML files.
|
|
|
340
340
|
</output_format>
|
|
341
341
|
|
|
342
342
|
Make bold choices. Each design should be portfolio-worthy—something you'd proudly present.
|
|
343
|
+
|
|
344
|
+
<next_step>
|
|
345
|
+
After the user picks a style, suggest:
|
|
346
|
+
→ Run `/devlyn.design-system [style-number]` to extract design tokens from the chosen style into a reusable design system reference.
|
|
347
|
+
</next_step>
|
|
@@ -0,0 +1,466 @@
|
|
|
1
|
+
Build or improve UI by assembling a specialized Agent Team. Each teammate brings a different design and engineering perspective — component architecture, interaction design, accessibility, and visual fidelity — to produce production-quality UI that perfectly matches the design system.
|
|
2
|
+
|
|
3
|
+
Works for both:
|
|
4
|
+
- **New UI**: Build pages/components from scratch using the design system
|
|
5
|
+
- **Improve existing UI**: Audit and upgrade current implementation to match the design system
|
|
6
|
+
|
|
7
|
+
<context>
|
|
8
|
+
$ARGUMENTS
|
|
9
|
+
</context>
|
|
10
|
+
|
|
11
|
+
<prerequisites>
|
|
12
|
+
This command expects a design system at `docs/design-system.md`. If it doesn't exist, tell the user:
|
|
13
|
+
```
|
|
14
|
+
No design system found at docs/design-system.md
|
|
15
|
+
Run the pipeline first:
|
|
16
|
+
1. /devlyn.design-ui → Generate style explorations
|
|
17
|
+
2. /devlyn.design-system [style-number] → Extract design tokens
|
|
18
|
+
3. /devlyn.implement-ui → Build/improve UI (this command)
|
|
19
|
+
```
|
|
20
|
+
</prerequisites>
|
|
21
|
+
|
|
22
|
+
<team_workflow>
|
|
23
|
+
|
|
24
|
+
## Phase 1: INTAKE (You are the Build Lead — work solo first)
|
|
25
|
+
|
|
26
|
+
Before spawning any teammates, assess the scope:
|
|
27
|
+
|
|
28
|
+
1. **Read `docs/design-system.md`** — understand all tokens, component patterns, interactive states
|
|
29
|
+
2. **Detect the project framework** — read package.json, config files, existing components to identify the stack (React, Vue, Svelte, Next.js, vanilla, Flutter, etc.)
|
|
30
|
+
3. **Assess build vs improve mode**:
|
|
31
|
+
|
|
32
|
+
<mode_detection>
|
|
33
|
+
**Build mode** (new UI):
|
|
34
|
+
- User explicitly asks to build/create pages or components
|
|
35
|
+
- No existing components match the design system
|
|
36
|
+
- Feature spec exists but no implementation yet
|
|
37
|
+
|
|
38
|
+
**Improve mode** (existing UI):
|
|
39
|
+
- User asks to improve, upgrade, or fix existing UI
|
|
40
|
+
- Existing components exist but don't match the design system
|
|
41
|
+
- UI looks outdated, inconsistent, or has accessibility gaps
|
|
42
|
+
|
|
43
|
+
**Hybrid mode** (both):
|
|
44
|
+
- Some components exist and need improvement
|
|
45
|
+
- Some new components need to be built
|
|
46
|
+
- Design system has been updated and implementation needs to catch up
|
|
47
|
+
</mode_detection>
|
|
48
|
+
|
|
49
|
+
4. **Map the work**:
|
|
50
|
+
- In build mode: read feature specs (`docs/features/`) or product spec (`docs/product-spec.md`) to understand WHAT to build
|
|
51
|
+
- In improve mode: read existing components, identify gaps between current implementation and design system
|
|
52
|
+
- List all pages/components that need work
|
|
53
|
+
5. **Select teammates** using the matrix below
|
|
54
|
+
|
|
55
|
+
<scope_classification>
|
|
56
|
+
**Always spawn** (every build/improve):
|
|
57
|
+
- component-architect
|
|
58
|
+
- ux-engineer
|
|
59
|
+
- accessibility-engineer
|
|
60
|
+
|
|
61
|
+
**When building for web** (React, Vue, Svelte, Next.js, vanilla HTML/CSS):
|
|
62
|
+
- Add: responsive-engineer
|
|
63
|
+
|
|
64
|
+
**When improving existing UI** (improve or hybrid mode):
|
|
65
|
+
- Add: visual-qa (to audit current implementation against design system)
|
|
66
|
+
</scope_classification>
|
|
67
|
+
|
|
68
|
+
Announce to the user:
|
|
69
|
+
```
|
|
70
|
+
[Build/Improve/Hybrid] mode for: [scope summary]
|
|
71
|
+
Framework: [detected framework]
|
|
72
|
+
Design System: docs/design-system.md
|
|
73
|
+
Teammates: [list of roles being spawned and why]
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Phase 2: TEAM ASSEMBLY
|
|
77
|
+
|
|
78
|
+
Use the Agent Teams infrastructure:
|
|
79
|
+
|
|
80
|
+
1. **TeamCreate** with name `build-{scope-slug}` (e.g., `build-landing-page`, `build-improve-dashboard`)
|
|
81
|
+
2. **Spawn teammates** using the `Task` tool with `team_name` and `name` parameters. Each teammate is a separate Claude instance.
|
|
82
|
+
3. **TaskCreate** tasks for each teammate — include the design system path, framework info, and their specific mandate.
|
|
83
|
+
4. **Assign tasks** using TaskUpdate with `owner` set to the teammate name.
|
|
84
|
+
|
|
85
|
+
**IMPORTANT**: Do NOT hardcode a model. All teammates inherit the user's active model automatically.
|
|
86
|
+
|
|
87
|
+
### Teammate Prompts
|
|
88
|
+
|
|
89
|
+
When spawning each teammate via the Task tool, use these prompts:
|
|
90
|
+
|
|
91
|
+
<component_architect_prompt>
|
|
92
|
+
You are the **Component Architect** on an Agent Team building/improving UI.
|
|
93
|
+
|
|
94
|
+
**Your perspective**: Frontend architect who turns design systems into component trees
|
|
95
|
+
**Your mandate**: Define the component hierarchy, map design tokens to framework primitives, and plan the implementation structure.
|
|
96
|
+
|
|
97
|
+
**Your process**:
|
|
98
|
+
1. Read `docs/design-system.md` thoroughly — understand every token and component pattern
|
|
99
|
+
2. Read the project's existing components and framework setup
|
|
100
|
+
3. If **build mode**: Design the component tree from scratch
|
|
101
|
+
4. If **improve mode**: Audit existing components against the design system, identify gaps
|
|
102
|
+
|
|
103
|
+
**Your deliverable**: Send a message to the team lead with:
|
|
104
|
+
|
|
105
|
+
1. **Token mapping**: How each design token maps to the framework
|
|
106
|
+
- Colors → CSS variables / theme object / tokens file
|
|
107
|
+
- Typography → text style utilities or components
|
|
108
|
+
- Spacing → spacing scale or utilities
|
|
109
|
+
- Shadows, radii, motion → where they live in code
|
|
110
|
+
|
|
111
|
+
2. **Component tree**: For each component pattern in the design system:
|
|
112
|
+
- Component name and file path
|
|
113
|
+
- Props/API surface
|
|
114
|
+
- Which design tokens it uses
|
|
115
|
+
- Variants (if any)
|
|
116
|
+
- Composition (what it's made of)
|
|
117
|
+
|
|
118
|
+
3. **Shared patterns**:
|
|
119
|
+
- Base layout component (container, section wrapper)
|
|
120
|
+
- Animation utilities (reveal, hover, scroll-triggered)
|
|
121
|
+
- Theme provider / token distribution strategy
|
|
122
|
+
|
|
123
|
+
4. **In improve mode, additionally**:
|
|
124
|
+
- Gap analysis: what exists vs what the design system defines
|
|
125
|
+
- Files to modify with specific changes needed
|
|
126
|
+
- Files to create
|
|
127
|
+
|
|
128
|
+
**Tools available**: Read, Grep, Glob, Bash (read-only)
|
|
129
|
+
|
|
130
|
+
Read the team config at ~/.claude/teams/{team-name}/config.json to discover teammates. Share your component tree with other teammates so they can provide feedback.
|
|
131
|
+
</component_architect_prompt>
|
|
132
|
+
|
|
133
|
+
<ux_engineer_prompt>
|
|
134
|
+
You are the **UX Engineer** on an Agent Team building/improving UI.
|
|
135
|
+
|
|
136
|
+
**Your perspective**: Interaction designer who makes interfaces feel alive and intuitive
|
|
137
|
+
**Your mandate**: Define every interaction pattern, state transition, animation, and micro-interaction based on the design system's motion and interactive state specs.
|
|
138
|
+
|
|
139
|
+
**Your process**:
|
|
140
|
+
1. Read `docs/design-system.md` — focus on Motion, Interactive States, and Effects sections
|
|
141
|
+
2. Read existing components (if improve mode) to audit current interaction quality
|
|
142
|
+
3. Define interaction specifications for every interactive element
|
|
143
|
+
|
|
144
|
+
**Your deliverable**: Send a message to the team lead with:
|
|
145
|
+
|
|
146
|
+
1. **State machine for each interactive component**:
|
|
147
|
+
```
|
|
148
|
+
Button: idle → hover → active → focus → disabled
|
|
149
|
+
Card: idle → hover (lift + shadow) → active
|
|
150
|
+
Modal: closed → entering → open → exiting → closed
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
2. **Animation specs** (derived from design system motion tokens):
|
|
154
|
+
- Page load sequence: which elements appear in what order, with what delays
|
|
155
|
+
- Scroll-triggered reveals: threshold, animation type, stagger
|
|
156
|
+
- Hover/focus transitions: property, duration, easing (exact cubic-bezier from design system)
|
|
157
|
+
- Route transitions (if SPA)
|
|
158
|
+
|
|
159
|
+
3. **UI state coverage** — for each component/page:
|
|
160
|
+
- Loading state: skeleton, spinner, or progressive
|
|
161
|
+
- Empty state: illustration + message + CTA
|
|
162
|
+
- Error state: inline error, toast, or error page
|
|
163
|
+
- Success state: confirmation feedback
|
|
164
|
+
|
|
165
|
+
4. **Micro-interactions**:
|
|
166
|
+
- Form validation feedback timing
|
|
167
|
+
- Button click feedback
|
|
168
|
+
- Toast/notification enter/exit
|
|
169
|
+
- Scroll indicator behavior
|
|
170
|
+
|
|
171
|
+
5. **In improve mode, additionally**:
|
|
172
|
+
- Current interaction gaps (missing states, jarring transitions, no loading states)
|
|
173
|
+
- Specific files and lines that need interaction improvements
|
|
174
|
+
|
|
175
|
+
**Tools available**: Read, Grep, Glob
|
|
176
|
+
|
|
177
|
+
Read the team config at ~/.claude/teams/{team-name}/config.json to discover teammates. Coordinate with the Component Architect on component state management.
|
|
178
|
+
</ux_engineer_prompt>
|
|
179
|
+
|
|
180
|
+
<accessibility_engineer_prompt>
|
|
181
|
+
You are the **Accessibility Engineer** on an Agent Team building/improving UI.
|
|
182
|
+
|
|
183
|
+
**Your perspective**: Accessibility specialist ensuring WCAG 2.1 AA compliance
|
|
184
|
+
**Your mandate**: Every component must be usable by everyone — keyboard users, screen reader users, users with low vision, motor impairments, and cognitive differences.
|
|
185
|
+
|
|
186
|
+
**Your process**:
|
|
187
|
+
1. Read `docs/design-system.md` — check color contrast ratios, font sizes, touch targets
|
|
188
|
+
2. Read existing components (if improve mode) to audit current accessibility
|
|
189
|
+
3. Define accessibility requirements for every component
|
|
190
|
+
|
|
191
|
+
**Your deliverable**: Send a message to the team lead with:
|
|
192
|
+
|
|
193
|
+
1. **Color contrast audit** (from design system tokens):
|
|
194
|
+
- text on background: ratio (PASS/FAIL AA)
|
|
195
|
+
- text-muted on background: ratio (PASS/FAIL AA)
|
|
196
|
+
- text on surface: ratio (PASS/FAIL AA)
|
|
197
|
+
- accent on background: ratio (PASS/FAIL AA for large text)
|
|
198
|
+
- If any FAIL: recommend adjusted color values that pass while staying close to design intent
|
|
199
|
+
|
|
200
|
+
2. **Component accessibility requirements**:
|
|
201
|
+
For each component pattern in the design system:
|
|
202
|
+
- Semantic HTML element to use
|
|
203
|
+
- Required ARIA attributes
|
|
204
|
+
- Keyboard interaction pattern (what keys do what)
|
|
205
|
+
- Focus management (focus order, focus trapping for modals)
|
|
206
|
+
- Screen reader announcements (aria-live regions, status updates)
|
|
207
|
+
|
|
208
|
+
3. **Motion accessibility**:
|
|
209
|
+
- `prefers-reduced-motion` handling for every animation
|
|
210
|
+
- Which animations are decorative (can be removed) vs functional (should simplify)
|
|
211
|
+
|
|
212
|
+
4. **Touch and pointer**:
|
|
213
|
+
- Minimum touch target sizes (44x44px)
|
|
214
|
+
- Adequate spacing between interactive elements
|
|
215
|
+
- Hover-only interactions that need touch alternatives
|
|
216
|
+
|
|
217
|
+
5. **Content accessibility**:
|
|
218
|
+
- Image alt text strategy
|
|
219
|
+
- Heading hierarchy requirements
|
|
220
|
+
- Link text that makes sense out of context
|
|
221
|
+
- Form label associations
|
|
222
|
+
|
|
223
|
+
6. **In improve mode, additionally**:
|
|
224
|
+
- Current a11y violations with severity and file:line
|
|
225
|
+
- Quick wins vs structural fixes
|
|
226
|
+
|
|
227
|
+
**Tools available**: Read, Grep, Glob, Bash (for running any a11y audit tools)
|
|
228
|
+
|
|
229
|
+
Read the team config at ~/.claude/teams/{team-name}/config.json to discover teammates. Flag accessibility concerns that affect the Component Architect's component design.
|
|
230
|
+
</accessibility_engineer_prompt>
|
|
231
|
+
|
|
232
|
+
<responsive_engineer_prompt>
|
|
233
|
+
You are the **Responsive Engineer** on an Agent Team building/improving UI for web.
|
|
234
|
+
|
|
235
|
+
**Your perspective**: Responsive design specialist ensuring the UI works beautifully across all screen sizes
|
|
236
|
+
**Your mandate**: Define the responsive strategy — breakpoints, fluid typography, layout shifts, and touch adaptation.
|
|
237
|
+
|
|
238
|
+
**Your process**:
|
|
239
|
+
1. Read `docs/design-system.md` — understand spacing, typography, and layout patterns
|
|
240
|
+
2. Read existing components (if improve mode) to audit current responsive behavior
|
|
241
|
+
3. Define responsive specifications
|
|
242
|
+
|
|
243
|
+
**Your deliverable**: Send a message to the team lead with:
|
|
244
|
+
|
|
245
|
+
1. **Breakpoint strategy**:
|
|
246
|
+
- Recommended breakpoints (mobile-first: 640px, 768px, 1024px, 1280px, or project convention)
|
|
247
|
+
- Which components change at which breakpoints
|
|
248
|
+
|
|
249
|
+
2. **Layout transformations**:
|
|
250
|
+
For each page section / component grid:
|
|
251
|
+
- Desktop layout (columns, gaps)
|
|
252
|
+
- Tablet layout (columns, gaps, reordering)
|
|
253
|
+
- Mobile layout (stacking, gaps, padding reduction)
|
|
254
|
+
|
|
255
|
+
3. **Typography scaling**:
|
|
256
|
+
- Font size adjustments per breakpoint (use clamp() where supported)
|
|
257
|
+
- Line-height adjustments for mobile readability
|
|
258
|
+
|
|
259
|
+
4. **Spacing adjustments**:
|
|
260
|
+
- Section padding per breakpoint
|
|
261
|
+
- Card padding per breakpoint
|
|
262
|
+
- Gap reductions for mobile
|
|
263
|
+
|
|
264
|
+
5. **Component adaptations**:
|
|
265
|
+
- Navigation: desktop → hamburger/drawer
|
|
266
|
+
- Cards: grid → single column
|
|
267
|
+
- Tables: horizontal scroll or card transformation
|
|
268
|
+
- Modals: full-screen on mobile vs centered on desktop
|
|
269
|
+
|
|
270
|
+
6. **Touch targets**:
|
|
271
|
+
- Minimum 44x44px for all interactive elements on touch devices
|
|
272
|
+
- Adequate spacing between tappable items
|
|
273
|
+
|
|
274
|
+
**Tools available**: Read, Grep, Glob
|
|
275
|
+
|
|
276
|
+
Read the team config at ~/.claude/teams/{team-name}/config.json to discover teammates. Coordinate with the Component Architect on responsive component variants.
|
|
277
|
+
</responsive_engineer_prompt>
|
|
278
|
+
|
|
279
|
+
<visual_qa_prompt>
|
|
280
|
+
You are the **Visual QA** on an Agent Team improving existing UI.
|
|
281
|
+
|
|
282
|
+
**Your perspective**: Design system compliance auditor who catches every deviation
|
|
283
|
+
**Your mandate**: Compare the current implementation against the design system and produce a detailed gap report.
|
|
284
|
+
|
|
285
|
+
**Your process**:
|
|
286
|
+
1. Read `docs/design-system.md` — internalize every token value and component pattern
|
|
287
|
+
2. Read ALL existing component/page files
|
|
288
|
+
3. For each file, compare actual values against design system values
|
|
289
|
+
|
|
290
|
+
**Your deliverable**: Send a message to the team lead with:
|
|
291
|
+
|
|
292
|
+
1. **Token compliance audit**:
|
|
293
|
+
For each design token category (colors, typography, spacing, shadows, radii, motion):
|
|
294
|
+
- Which tokens are correctly applied
|
|
295
|
+
- Which tokens are wrong (expected vs actual, file:line)
|
|
296
|
+
- Which tokens are missing (hardcoded values instead of tokens)
|
|
297
|
+
|
|
298
|
+
2. **Component pattern compliance**:
|
|
299
|
+
For each component pattern in the design system:
|
|
300
|
+
- Does the implementation match the defined pattern?
|
|
301
|
+
- Missing hover/interactive states
|
|
302
|
+
- Missing animation/motion
|
|
303
|
+
- Wrong component structure
|
|
304
|
+
|
|
305
|
+
3. **Consistency issues**:
|
|
306
|
+
- Same component styled differently in different places
|
|
307
|
+
- Hardcoded values that should use tokens
|
|
308
|
+
- Inconsistent spacing or typography
|
|
309
|
+
|
|
310
|
+
4. **Priority ranking**:
|
|
311
|
+
- HIGH: Visible deviations (wrong colors, wrong fonts, missing animations)
|
|
312
|
+
- MEDIUM: Subtle deviations (slightly wrong spacing, missing hover states)
|
|
313
|
+
- LOW: Minor inconsistencies (token not used but value is correct)
|
|
314
|
+
|
|
315
|
+
**Tools available**: Read, Grep, Glob
|
|
316
|
+
|
|
317
|
+
Read the team config at ~/.claude/teams/{team-name}/config.json to discover teammates. Share your findings with the Component Architect so they can plan structural fixes.
|
|
318
|
+
</visual_qa_prompt>
|
|
319
|
+
|
|
320
|
+
## Phase 3: PARALLEL ANALYSIS
|
|
321
|
+
|
|
322
|
+
All teammates work simultaneously. They will:
|
|
323
|
+
- Analyze from their unique perspective
|
|
324
|
+
- Message each other about cross-cutting concerns
|
|
325
|
+
- Send their final specifications/findings to you (Build Lead)
|
|
326
|
+
|
|
327
|
+
Wait for all teammates to report back. If a teammate goes idle after sending findings, that's normal — they're done with their analysis.
|
|
328
|
+
|
|
329
|
+
## Phase 4: SYNTHESIS & PLANNING (You, Build Lead)
|
|
330
|
+
|
|
331
|
+
After receiving all teammate findings:
|
|
332
|
+
|
|
333
|
+
1. **Read all findings** — component tree, interaction specs, accessibility requirements, responsive strategy, and visual QA gaps (if improve mode)
|
|
334
|
+
2. **Resolve conflicts** — if teammates disagree (e.g., Component Architect's structure conflicts with Accessibility Engineer's semantic requirements), prioritize accessibility
|
|
335
|
+
3. **Create the implementation plan**:
|
|
336
|
+
|
|
337
|
+
<implementation_plan>
|
|
338
|
+
Organize work into this order:
|
|
339
|
+
|
|
340
|
+
**Foundation layer** (do first):
|
|
341
|
+
1. Token/theme setup — CSS variables, theme object, or tokens file from design system values
|
|
342
|
+
2. Base utilities — animation helpers, layout primitives, shared styles
|
|
343
|
+
|
|
344
|
+
**Component layer** (do second):
|
|
345
|
+
3. Atomic components — buttons, badges, labels, icons
|
|
346
|
+
4. Composite components — cards, navigation, section headers, forms
|
|
347
|
+
5. Layout components — page wrapper, section containers, grid systems
|
|
348
|
+
|
|
349
|
+
**Page layer** (do third):
|
|
350
|
+
6. Page compositions — assemble components into pages
|
|
351
|
+
7. Interaction wiring — state management, transitions, animations
|
|
352
|
+
8. Responsive adjustments — breakpoint-specific overrides
|
|
353
|
+
|
|
354
|
+
**Polish layer** (do last):
|
|
355
|
+
9. Accessibility pass — ARIA, keyboard nav, focus management, reduced motion
|
|
356
|
+
10. Animation polish — page load sequences, scroll reveals, hover states
|
|
357
|
+
</implementation_plan>
|
|
358
|
+
|
|
359
|
+
4. **Present the plan to the user** — enter plan mode if the scope is large (5+ components or 3+ pages). For smaller scope, proceed directly.
|
|
360
|
+
|
|
361
|
+
## Phase 5: IMPLEMENTATION (You, Build Lead)
|
|
362
|
+
|
|
363
|
+
<implementation_standards>
|
|
364
|
+
Follow these standards for every component:
|
|
365
|
+
|
|
366
|
+
**Design system fidelity**:
|
|
367
|
+
- Use design tokens from docs/design-system.md — never hardcode values
|
|
368
|
+
- Match component patterns exactly as defined in the design system
|
|
369
|
+
- Apply interactive states with exact values from the design system's Interactive States table
|
|
370
|
+
|
|
371
|
+
**Accessibility** (non-negotiable):
|
|
372
|
+
- Semantic HTML first (nav, main, section, article, button, etc.)
|
|
373
|
+
- All ARIA attributes from the Accessibility Engineer's spec
|
|
374
|
+
- Keyboard navigation works for all interactive elements
|
|
375
|
+
- `prefers-reduced-motion` media query for all animations
|
|
376
|
+
- Color contrast meets WCAG 2.1 AA (fix if design system tokens fail)
|
|
377
|
+
|
|
378
|
+
**Interaction quality**:
|
|
379
|
+
- All UI states implemented: loading, empty, error, success
|
|
380
|
+
- Animations use exact easing and duration from design system
|
|
381
|
+
- Page load sequence with staggered reveals
|
|
382
|
+
- Scroll-triggered animations where specified
|
|
383
|
+
- Hover/focus/active states for all interactive elements
|
|
384
|
+
|
|
385
|
+
**Responsive** (if web):
|
|
386
|
+
- Mobile-first implementation
|
|
387
|
+
- Breakpoints from Responsive Engineer's spec
|
|
388
|
+
- Touch targets minimum 44x44px on touch devices
|
|
389
|
+
|
|
390
|
+
**Code quality**:
|
|
391
|
+
- Follow existing codebase patterns and conventions
|
|
392
|
+
- Components are composable and reusable
|
|
393
|
+
- No inline styles — use the token system
|
|
394
|
+
- Server components where possible (Next.js)
|
|
395
|
+
- Client components only when interactivity requires it
|
|
396
|
+
</implementation_standards>
|
|
397
|
+
|
|
398
|
+
Build in the order defined in the implementation plan. After each layer, verify it works before proceeding.
|
|
399
|
+
|
|
400
|
+
## Phase 6: VALIDATION (You, Build Lead)
|
|
401
|
+
|
|
402
|
+
After implementation:
|
|
403
|
+
1. Run the test suite (if tests exist)
|
|
404
|
+
2. Verify all design tokens are correctly applied
|
|
405
|
+
3. Verify accessibility requirements are met
|
|
406
|
+
4. Check responsive behavior at key breakpoints
|
|
407
|
+
|
|
408
|
+
## Phase 7: CLEANUP
|
|
409
|
+
|
|
410
|
+
After build is complete:
|
|
411
|
+
1. Send `shutdown_request` to all teammates via SendMessage
|
|
412
|
+
2. Wait for shutdown confirmations
|
|
413
|
+
3. Call TeamDelete to clean up the team
|
|
414
|
+
|
|
415
|
+
</team_workflow>
|
|
416
|
+
|
|
417
|
+
<output_format>
|
|
418
|
+
Present the result in this format:
|
|
419
|
+
|
|
420
|
+
<team_build_summary>
|
|
421
|
+
|
|
422
|
+
### Build Complete
|
|
423
|
+
|
|
424
|
+
**Mode**: [Build / Improve / Hybrid]
|
|
425
|
+
**Framework**: [detected framework]
|
|
426
|
+
**Design System**: docs/design-system.md
|
|
427
|
+
|
|
428
|
+
### Team Findings
|
|
429
|
+
- **Component Architect**: [component tree summary — N components mapped]
|
|
430
|
+
- **UX Engineer**: [interaction specs — N states defined, N animations specified]
|
|
431
|
+
- **Accessibility Engineer**: [a11y requirements — contrast PASS/FAIL, N requirements defined]
|
|
432
|
+
- **Responsive Engineer**: [responsive strategy — N breakpoints, key adaptations] (if spawned)
|
|
433
|
+
- **Visual QA**: [N deviations found — N high, N medium, N low] (if spawned)
|
|
434
|
+
|
|
435
|
+
### Implemented
|
|
436
|
+
**Foundation**:
|
|
437
|
+
- [token/theme file] — [N tokens mapped]
|
|
438
|
+
|
|
439
|
+
**Components**:
|
|
440
|
+
- [component file:line] — [what it is, key features]
|
|
441
|
+
- ...
|
|
442
|
+
|
|
443
|
+
**Pages** (if applicable):
|
|
444
|
+
- [page file] — [what it contains]
|
|
445
|
+
|
|
446
|
+
### Design System Compliance
|
|
447
|
+
- [ ] All color tokens applied (no hardcoded colors)
|
|
448
|
+
- [ ] Typography matches design system specs
|
|
449
|
+
- [ ] Spacing uses design system values
|
|
450
|
+
- [ ] Animations use design system motion tokens
|
|
451
|
+
- [ ] Interactive states match design system table
|
|
452
|
+
- [ ] Component patterns follow design system definitions
|
|
453
|
+
|
|
454
|
+
### Accessibility
|
|
455
|
+
- [ ] Color contrast WCAG 2.1 AA compliant
|
|
456
|
+
- [ ] Keyboard navigation works for all interactive elements
|
|
457
|
+
- [ ] ARIA attributes applied per spec
|
|
458
|
+
- [ ] `prefers-reduced-motion` handled
|
|
459
|
+
- [ ] Semantic HTML throughout
|
|
460
|
+
|
|
461
|
+
### Next Steps
|
|
462
|
+
- Run `/devlyn.team-review` to validate code quality
|
|
463
|
+
- Run `/devlyn.team-resolve [feature]` to add features on top of this UI
|
|
464
|
+
|
|
465
|
+
</team_build_summary>
|
|
466
|
+
</output_format>
|