opencodekit 0.3.1 → 0.3.2
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/dist/index.js +1 -1
- package/dist/template/.opencode/AGENTS.md +1 -1
- package/dist/template/.opencode/agent/build.md +1 -1
- package/dist/template/.opencode/agent/rush.md +1 -1
- package/dist/template/.opencode/agent/vision.md +125 -0
- package/dist/template/.opencode/command/design.md +1 -1
- package/dist/template/.opencode/command/fix-ui.md +4 -4
- package/dist/template/.opencode/command/research-ui.md +1 -1
- package/dist/template/.opencode/command/ui-review.md +1 -1
- package/dist/template/.opencode/memory/_templates/design.md +59 -0
- package/dist/template/.opencode/opencode.json +443 -443
- package/dist/template/.opencode/skills/brainstorming/SKILL.md +1 -1
- package/package.json +1 -1
- package/dist/template/.opencode/agent/designer.md +0 -148
package/dist/index.js
CHANGED
|
@@ -750,7 +750,7 @@ var cac = (name = "") => new CAC(name);
|
|
|
750
750
|
// package.json
|
|
751
751
|
var package_default = {
|
|
752
752
|
name: "opencodekit",
|
|
753
|
-
version: "0.3.
|
|
753
|
+
version: "0.3.2",
|
|
754
754
|
description: "CLI tool for bootstrapping and managing OpenCodeKit projects",
|
|
755
755
|
type: "module",
|
|
756
756
|
repository: {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
| External research | @scout | research, compare, docs for, API for, best practices |
|
|
22
22
|
| Code review/debug | @review | review, audit, debug, why broken, root cause |
|
|
23
23
|
| Architecture | @planner | design, architect, plan, structure, phases |
|
|
24
|
-
| UI/UX design | @
|
|
24
|
+
| UI/UX design | @vision | mockup, UI review, accessibility, aesthetics, visual |
|
|
25
25
|
|
|
26
26
|
**Execute directly**: Single-file edits, explicit commands, answering from loaded context.
|
|
27
27
|
|
|
@@ -77,7 +77,7 @@ Before mutations (edit, write, delete):
|
|
|
77
77
|
| Library docs, patterns | @scout |
|
|
78
78
|
| Code review, debugging | @review |
|
|
79
79
|
| Architecture, 3+ phases | @planner |
|
|
80
|
-
| UI/UX, mockups, visuals | @
|
|
80
|
+
| UI/UX, mockups, visuals | @vision |
|
|
81
81
|
|
|
82
82
|
## Execute Directly
|
|
83
83
|
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Visual content specialist for multimodal analysis, mockups, PDFs, diagrams, and UI/UX guidance. Use this agent for image analysis, accessibility audits, and anti-AI-slop design recommendations.
|
|
3
|
+
mode: subagent
|
|
4
|
+
temperature: 0.3
|
|
5
|
+
tools:
|
|
6
|
+
bash: true
|
|
7
|
+
edit: false
|
|
8
|
+
write: false
|
|
9
|
+
patch: false
|
|
10
|
+
glob: true
|
|
11
|
+
grep: true
|
|
12
|
+
read: true
|
|
13
|
+
list: true
|
|
14
|
+
webfetch: true
|
|
15
|
+
websearch: true
|
|
16
|
+
task: true
|
|
17
|
+
todowrite: true
|
|
18
|
+
todoread: true
|
|
19
|
+
gkg*: true
|
|
20
|
+
context7*: true
|
|
21
|
+
codesearch: true
|
|
22
|
+
gh_grep*: true
|
|
23
|
+
memory-read: true
|
|
24
|
+
memory-update: true
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Vision Agent
|
|
28
|
+
|
|
29
|
+
Visual content specialist for multimodal analysis: images, mockups, PDFs, diagrams, and UI/UX.
|
|
30
|
+
|
|
31
|
+
## Strengths
|
|
32
|
+
|
|
33
|
+
- Image and screenshot analysis via Gemini CLI
|
|
34
|
+
- PDF and document extraction
|
|
35
|
+
- Diagram interpretation (architecture, flowcharts, ERDs)
|
|
36
|
+
- Design system audit and consistency review
|
|
37
|
+
- Accessibility assessment (WCAG compliance)
|
|
38
|
+
- Anti-AI-slop aesthetic recommendations
|
|
39
|
+
|
|
40
|
+
## Guidelines
|
|
41
|
+
|
|
42
|
+
- Use `gemini` CLI with `-m gemini-2.5-flash` for all visual analysis
|
|
43
|
+
- Apply `frontend-aesthetics` skill to avoid generic AI aesthetics
|
|
44
|
+
- Apply `ui-ux-research` skill for systematic design analysis
|
|
45
|
+
- Read-only role: analyze and recommend, don't implement
|
|
46
|
+
- Delegate implementation to @build agent
|
|
47
|
+
|
|
48
|
+
## Gemini CLI Usage
|
|
49
|
+
|
|
50
|
+
**Always use gemini-2.5-flash model:**
|
|
51
|
+
|
|
52
|
+
### Image Analysis (Mockups, Screenshots)
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
gemini -m gemini-2.5-flash
|
|
56
|
+
@mockup.png Analyze this UI design for:
|
|
57
|
+
1. Typography choices and hierarchy
|
|
58
|
+
2. Color palette and contrast
|
|
59
|
+
3. Spacing and layout consistency
|
|
60
|
+
4. Accessibility concerns
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### PDF/Document Analysis
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
gemini -m gemini-2.5-flash
|
|
67
|
+
@document.pdf Extract key information and summarize
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Diagram Interpretation
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
gemini -m gemini-2.5-flash
|
|
74
|
+
@architecture.png Explain this system architecture diagram
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Codebase-Wide Design Audit
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
gemini -m gemini-2.5-flash -p "@src/components/ Audit design system consistency"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Design Principles
|
|
84
|
+
|
|
85
|
+
### Avoid AI Slop
|
|
86
|
+
|
|
87
|
+
- Inter/Roboto as primary fonts
|
|
88
|
+
- Purple/blue gradients everywhere
|
|
89
|
+
- Flat white backgrounds with no texture
|
|
90
|
+
- Stock illustration style
|
|
91
|
+
- Cookie-cutter card layouts
|
|
92
|
+
|
|
93
|
+
### Recommend Instead
|
|
94
|
+
|
|
95
|
+
- Distinctive typography (GT Walsheim, Söhne, custom fonts)
|
|
96
|
+
- Purposeful color with texture and depth
|
|
97
|
+
- Meaningful animations and transitions
|
|
98
|
+
- Layout variety and visual hierarchy
|
|
99
|
+
|
|
100
|
+
## Accessibility Checklist
|
|
101
|
+
|
|
102
|
+
- [ ] Color contrast meets WCAG AA (4.5:1 for text)
|
|
103
|
+
- [ ] Focus indicators visible
|
|
104
|
+
- [ ] Touch targets >= 44px
|
|
105
|
+
- [ ] Motion respects prefers-reduced-motion
|
|
106
|
+
- [ ] Keyboard navigation works
|
|
107
|
+
|
|
108
|
+
## Tool Priority
|
|
109
|
+
|
|
110
|
+
1. **Gemini CLI** (`-m gemini-2.5-flash`) for image, PDF, and codebase analysis
|
|
111
|
+
2. **Read/Glob** for component and style inspection
|
|
112
|
+
3. **Webfetch/Websearch** for design inspiration
|
|
113
|
+
|
|
114
|
+
## Output Format
|
|
115
|
+
|
|
116
|
+
1. **Summary**: Overall assessment (1-2 sentences)
|
|
117
|
+
2. **Findings**: Specific observations with details
|
|
118
|
+
3. **Recommendations**: Actionable next steps
|
|
119
|
+
4. **References**: Links to patterns if relevant
|
|
120
|
+
|
|
121
|
+
## Delegation
|
|
122
|
+
|
|
123
|
+
- Implementation work → @build
|
|
124
|
+
- External library research → @scout
|
|
125
|
+
- Code review after changes → @review
|
|
@@ -8,10 +8,10 @@ agent: build
|
|
|
8
8
|
|
|
9
9
|
use_skill("frontend-aesthetics")
|
|
10
10
|
|
|
11
|
-
1. **Analyze:** Delegate to @
|
|
12
|
-
- If screenshots/videos provided, @
|
|
13
|
-
- For large UI analysis, @
|
|
14
|
-
2. **Research:** @
|
|
11
|
+
1. **Analyze:** Delegate to @vision for initial assessment
|
|
12
|
+
- If screenshots/videos provided, @vision describes issue in detail
|
|
13
|
+
- For large UI analysis, @vision uses Gemini CLI: `gemini -m gemini-2.5-flash` then `@[image] Analyze issue`
|
|
14
|
+
2. **Research:** @vision checks design guidelines, component patterns
|
|
15
15
|
- Apply `frontend-aesthetics` criteria (typography, color, motion, backgrounds)
|
|
16
16
|
3. **Fix:** Implement step by step
|
|
17
17
|
- Avoid generic AI aesthetics (Inter font, purple gradients, flat backgrounds)
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Design Document
|
|
2
|
+
|
|
3
|
+
**Bead ID:** [bead-id]
|
|
4
|
+
**Created:** [date]
|
|
5
|
+
**Status:** Draft | Validated
|
|
6
|
+
|
|
7
|
+
## Problem Statement
|
|
8
|
+
|
|
9
|
+
What we're solving and why it matters:
|
|
10
|
+
|
|
11
|
+
## Approaches Considered
|
|
12
|
+
|
|
13
|
+
### Option A: [Name]
|
|
14
|
+
|
|
15
|
+
- **Pros:** [advantages]
|
|
16
|
+
- **Cons:** [drawbacks]
|
|
17
|
+
|
|
18
|
+
### Option B: [Name]
|
|
19
|
+
|
|
20
|
+
- **Pros:** [advantages]
|
|
21
|
+
- **Cons:** [drawbacks]
|
|
22
|
+
|
|
23
|
+
### Chosen Approach
|
|
24
|
+
|
|
25
|
+
[Which option and why]
|
|
26
|
+
|
|
27
|
+
## Architecture
|
|
28
|
+
|
|
29
|
+
High-level structure and how components fit together:
|
|
30
|
+
|
|
31
|
+
### Components
|
|
32
|
+
|
|
33
|
+
- [Component 1]: [purpose]
|
|
34
|
+
- [Component 2]: [purpose]
|
|
35
|
+
|
|
36
|
+
### Data Flow
|
|
37
|
+
|
|
38
|
+
[How data moves through the system]
|
|
39
|
+
|
|
40
|
+
## Error Handling
|
|
41
|
+
|
|
42
|
+
How the design handles failure cases:
|
|
43
|
+
|
|
44
|
+
- [Error scenario 1]: [handling approach]
|
|
45
|
+
- [Error scenario 2]: [handling approach]
|
|
46
|
+
|
|
47
|
+
## Testing Strategy
|
|
48
|
+
|
|
49
|
+
How we'll validate this design works:
|
|
50
|
+
|
|
51
|
+
- [Testing approach 1]
|
|
52
|
+
- [Testing approach 2]
|
|
53
|
+
|
|
54
|
+
## Open Questions
|
|
55
|
+
|
|
56
|
+
Unresolved items to address during implementation:
|
|
57
|
+
|
|
58
|
+
- [ ] [Question 1]
|
|
59
|
+
- [ ] [Question 2]
|
|
@@ -1,445 +1,445 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
2
|
+
"$schema": "https://opencode.ai/config.json",
|
|
3
|
+
"agent": {
|
|
4
|
+
"build": {
|
|
5
|
+
"description": "Primary development agent with full codebase access",
|
|
6
|
+
"model": "proxypal/gemini-claude-opus-4-5-thinking"
|
|
7
|
+
},
|
|
8
|
+
"vision": {
|
|
9
|
+
"description": "Visual content specialist for multimodal analysis and UI/UX guidance",
|
|
10
|
+
"model": "proxypal/gemini-2.5-flash"
|
|
11
|
+
},
|
|
12
|
+
"explore": {
|
|
13
|
+
"description": "Fast codebase search specialist",
|
|
14
|
+
"model": "opencode/grok-code"
|
|
15
|
+
},
|
|
16
|
+
"general": {
|
|
17
|
+
"disable": true
|
|
18
|
+
},
|
|
19
|
+
"plan": {
|
|
20
|
+
"disable": true
|
|
21
|
+
},
|
|
22
|
+
"planner": {
|
|
23
|
+
"description": "Strategic planning agent for architecture and design",
|
|
24
|
+
"model": "proxypal/gpt-5.2"
|
|
25
|
+
},
|
|
26
|
+
"review": {
|
|
27
|
+
"description": "Code review, debugging, and security audit specialist",
|
|
28
|
+
"model": "proxypal/gpt-5.2"
|
|
29
|
+
},
|
|
30
|
+
"rush": {
|
|
31
|
+
"description": "Fast primary agent for small, well-defined tasks",
|
|
32
|
+
"model": "zai-coding-plan/glm-4.6"
|
|
33
|
+
},
|
|
34
|
+
"scout": {
|
|
35
|
+
"description": "External research specialist for library docs and patterns",
|
|
36
|
+
"model": "proxypal/gemini-claude-sonnet-4-5"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"autoupdate": false,
|
|
40
|
+
"experimental": {
|
|
41
|
+
"batch_tool": true,
|
|
42
|
+
"chatMaxRetries": 2,
|
|
43
|
+
"primary_tools": ["edit", "write", "bash", "prune"]
|
|
44
|
+
},
|
|
45
|
+
"formatter": {
|
|
46
|
+
"biome": {
|
|
47
|
+
"command": ["npx", "@biomejs/biome", "check", "--write", "$FILE"],
|
|
48
|
+
"extensions": [".js", ".jsx", ".ts", ".tsx", ".json", ".jsonc"]
|
|
49
|
+
},
|
|
50
|
+
"java-formatter": {
|
|
51
|
+
"command": ["google-java-format", "--replace", "$FILE"],
|
|
52
|
+
"environment": {
|
|
53
|
+
"JAVA_HOME": "{env:JAVA_HOME}"
|
|
54
|
+
},
|
|
55
|
+
"extensions": [".java"]
|
|
56
|
+
},
|
|
57
|
+
"prettier": {
|
|
58
|
+
"command": ["npx", "prettier", "--write", "$FILE"],
|
|
59
|
+
"extensions": [".html", ".css", ".scss", ".sass", ".md", ".yaml", ".yml"]
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"keybinds": {
|
|
63
|
+
"command_list": ";",
|
|
64
|
+
"leader": "`",
|
|
65
|
+
"session_child_cycle": "ctrl+alt+right",
|
|
66
|
+
"session_child_cycle_reverse": "ctrl+alt+left"
|
|
67
|
+
},
|
|
68
|
+
"mcp": {
|
|
69
|
+
"Framelink MCP for Figma": {
|
|
70
|
+
"command": [
|
|
71
|
+
"npx",
|
|
72
|
+
"-y",
|
|
73
|
+
"figma-developer-mcp",
|
|
74
|
+
"--figma-api-key={env:FIGMA_API_KEY}",
|
|
75
|
+
"--stdio"
|
|
76
|
+
],
|
|
77
|
+
"enabled": false,
|
|
78
|
+
"type": "local"
|
|
79
|
+
},
|
|
80
|
+
"context7": {
|
|
81
|
+
"enabled": true,
|
|
82
|
+
"type": "local",
|
|
83
|
+
"command": [
|
|
84
|
+
"npx",
|
|
85
|
+
"-y",
|
|
86
|
+
"@upstash/context7-mcp",
|
|
87
|
+
"--api-key",
|
|
88
|
+
"{env:CONTEXT7_API_KEY}"
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
"gh_grep": {
|
|
92
|
+
"enabled": true,
|
|
93
|
+
"type": "remote",
|
|
94
|
+
"url": "https://mcp.grep.app"
|
|
95
|
+
},
|
|
96
|
+
"gkg": {
|
|
97
|
+
"enabled": true,
|
|
98
|
+
"type": "remote",
|
|
99
|
+
"url": "http://localhost:27495/mcp"
|
|
100
|
+
},
|
|
101
|
+
"playwright": {
|
|
102
|
+
"command": ["npx", "@playwright/mcp@latest"],
|
|
103
|
+
"enabled": false,
|
|
104
|
+
"type": "local"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"model": "proxypal/gemini-claude-opus-4-5-thinking",
|
|
108
|
+
"permission": {
|
|
109
|
+
"bash": {
|
|
110
|
+
"git commit *": "ask",
|
|
111
|
+
"git push *": "ask",
|
|
112
|
+
"rm *": "ask",
|
|
113
|
+
"rm -rf *": "ask"
|
|
114
|
+
},
|
|
115
|
+
"doom_loop": "ask",
|
|
116
|
+
"edit": "allow",
|
|
117
|
+
"external_directory": "allow"
|
|
118
|
+
},
|
|
119
|
+
"plugin": [
|
|
120
|
+
"opencode-gemini-auth",
|
|
121
|
+
"@tarquinen/opencode-dcp@latest",
|
|
122
|
+
"@howaboua/pickle-thinker@0.1.3",
|
|
123
|
+
"@franlol/opencode-md-table-formatter@0.0.3"
|
|
124
|
+
],
|
|
125
|
+
"provider": {
|
|
126
|
+
"github-copilot": {
|
|
127
|
+
"models": {
|
|
128
|
+
"claude-haiku-4.5": {
|
|
129
|
+
"attachment": true,
|
|
130
|
+
"options": {
|
|
131
|
+
"thinking": {
|
|
132
|
+
"budgetTokens": 16000,
|
|
133
|
+
"type": "enabled"
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"reasoning": true,
|
|
137
|
+
"temperature": true,
|
|
138
|
+
"tool_call": true
|
|
139
|
+
},
|
|
140
|
+
"claude-opus-4.5": {
|
|
141
|
+
"attachment": true,
|
|
142
|
+
"options": {
|
|
143
|
+
"thinking": {
|
|
144
|
+
"budgetTokens": 32000,
|
|
145
|
+
"type": "enabled"
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"reasoning": true,
|
|
149
|
+
"temperature": true,
|
|
150
|
+
"tool_call": true
|
|
151
|
+
},
|
|
152
|
+
"claude-sonnet-4.5": {
|
|
153
|
+
"attachment": true,
|
|
154
|
+
"options": {
|
|
155
|
+
"thinking": {
|
|
156
|
+
"budgetTokens": 16000,
|
|
157
|
+
"type": "enabled"
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"reasoning": true,
|
|
161
|
+
"temperature": true,
|
|
162
|
+
"tool_call": true
|
|
163
|
+
},
|
|
164
|
+
"gpt-5.1": {
|
|
165
|
+
"attachment": true,
|
|
166
|
+
"options": {
|
|
167
|
+
"reasoning": {
|
|
168
|
+
"effort": "high"
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
"reasoning": true,
|
|
172
|
+
"temperature": true,
|
|
173
|
+
"tool_call": true
|
|
174
|
+
},
|
|
175
|
+
"gpt-5.1-codex": {
|
|
176
|
+
"attachment": true,
|
|
177
|
+
"options": {
|
|
178
|
+
"reasoning": {
|
|
179
|
+
"effort": "high"
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
"reasoning": true,
|
|
183
|
+
"temperature": true,
|
|
184
|
+
"tool_call": true
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"npm": "@ai-sdk/anthropic"
|
|
188
|
+
},
|
|
189
|
+
"proxypal": {
|
|
190
|
+
"models": {
|
|
191
|
+
"claude-opus-4-5-20251101": {
|
|
192
|
+
"limit": {
|
|
193
|
+
"context": 200000,
|
|
194
|
+
"output": 64000
|
|
195
|
+
},
|
|
196
|
+
"name": "Claude Opus 4 5 20251101"
|
|
197
|
+
},
|
|
198
|
+
"gemini-2.5-computer-use-preview-10-2025": {
|
|
199
|
+
"limit": {
|
|
200
|
+
"context": 1048576,
|
|
201
|
+
"output": 65536
|
|
202
|
+
},
|
|
203
|
+
"name": "Gemini 2 5 Computer Use Preview 10 2025"
|
|
204
|
+
},
|
|
205
|
+
"gemini-2.5-flash": {
|
|
206
|
+
"limit": {
|
|
207
|
+
"context": 1048576,
|
|
208
|
+
"output": 65536
|
|
209
|
+
},
|
|
210
|
+
"name": "Gemini 2 5 Flash"
|
|
211
|
+
},
|
|
212
|
+
"gemini-2.5-flash-lite": {
|
|
213
|
+
"limit": {
|
|
214
|
+
"context": 1048576,
|
|
215
|
+
"output": 65536
|
|
216
|
+
},
|
|
217
|
+
"name": "Gemini 2 5 Flash Lite"
|
|
218
|
+
},
|
|
219
|
+
"gemini-3-pro-image-preview": {
|
|
220
|
+
"limit": {
|
|
221
|
+
"context": 1048576,
|
|
222
|
+
"output": 65536
|
|
223
|
+
},
|
|
224
|
+
"name": "Gemini 3 Pro Image Preview"
|
|
225
|
+
},
|
|
226
|
+
"gemini-3-pro-preview": {
|
|
227
|
+
"limit": {
|
|
228
|
+
"context": 1048576,
|
|
229
|
+
"output": 65536
|
|
230
|
+
},
|
|
231
|
+
"name": "Gemini 3 Pro Preview"
|
|
232
|
+
},
|
|
233
|
+
"gemini-claude-opus-4-5-thinking": {
|
|
234
|
+
"limit": {
|
|
235
|
+
"context": 200000,
|
|
236
|
+
"output": 64000
|
|
237
|
+
},
|
|
238
|
+
"name": "Gemini Claude Opus 4 5 Thinking",
|
|
239
|
+
"options": {
|
|
240
|
+
"thinking": {
|
|
241
|
+
"budgetTokens": 32768,
|
|
242
|
+
"type": "enabled"
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
"reasoning": true
|
|
246
|
+
},
|
|
247
|
+
"gemini-claude-sonnet-4-5": {
|
|
248
|
+
"limit": {
|
|
249
|
+
"context": 200000,
|
|
250
|
+
"output": 64000
|
|
251
|
+
},
|
|
252
|
+
"name": "Gemini Claude Sonnet 4 5"
|
|
253
|
+
},
|
|
254
|
+
"gemini-claude-sonnet-4-5-thinking": {
|
|
255
|
+
"limit": {
|
|
256
|
+
"context": 200000,
|
|
257
|
+
"output": 64000
|
|
258
|
+
},
|
|
259
|
+
"name": "Gemini Claude Sonnet 4 5 Thinking",
|
|
260
|
+
"options": {
|
|
261
|
+
"thinking": {
|
|
262
|
+
"budgetTokens": 32768,
|
|
263
|
+
"type": "enabled"
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
"reasoning": true
|
|
267
|
+
},
|
|
268
|
+
"gpt-5": {
|
|
269
|
+
"limit": {
|
|
270
|
+
"context": 128000,
|
|
271
|
+
"output": 16384
|
|
272
|
+
},
|
|
273
|
+
"name": "Gpt 5",
|
|
274
|
+
"options": {
|
|
275
|
+
"reasoning": {
|
|
276
|
+
"effort": "medium"
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
"reasoning": true
|
|
280
|
+
},
|
|
281
|
+
"gpt-5-codex": {
|
|
282
|
+
"limit": {
|
|
283
|
+
"context": 128000,
|
|
284
|
+
"output": 16384
|
|
285
|
+
},
|
|
286
|
+
"name": "Gpt 5 Codex",
|
|
287
|
+
"options": {
|
|
288
|
+
"reasoning": {
|
|
289
|
+
"effort": "medium"
|
|
290
|
+
}
|
|
291
|
+
},
|
|
292
|
+
"reasoning": true
|
|
293
|
+
},
|
|
294
|
+
"gpt-5-codex-mini": {
|
|
295
|
+
"limit": {
|
|
296
|
+
"context": 128000,
|
|
297
|
+
"output": 16384
|
|
298
|
+
},
|
|
299
|
+
"name": "Gpt 5 Codex Mini",
|
|
300
|
+
"options": {
|
|
301
|
+
"reasoning": {
|
|
302
|
+
"effort": "medium"
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
"reasoning": true
|
|
306
|
+
},
|
|
307
|
+
"gpt-5.1": {
|
|
308
|
+
"limit": {
|
|
309
|
+
"context": 128000,
|
|
310
|
+
"output": 16384
|
|
311
|
+
},
|
|
312
|
+
"name": "Gpt 5 1",
|
|
313
|
+
"options": {
|
|
314
|
+
"reasoning": {
|
|
315
|
+
"effort": "medium"
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
"reasoning": true
|
|
319
|
+
},
|
|
320
|
+
"gpt-5.1-codex": {
|
|
321
|
+
"limit": {
|
|
322
|
+
"context": 128000,
|
|
323
|
+
"output": 16384
|
|
324
|
+
},
|
|
325
|
+
"name": "Gpt 5 1 Codex",
|
|
326
|
+
"options": {
|
|
327
|
+
"reasoning": {
|
|
328
|
+
"effort": "medium"
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
"reasoning": true
|
|
332
|
+
},
|
|
333
|
+
"gpt-5.1-codex-max": {
|
|
334
|
+
"limit": {
|
|
335
|
+
"context": 128000,
|
|
336
|
+
"output": 16384
|
|
337
|
+
},
|
|
338
|
+
"name": "Gpt 5 1 Codex Max",
|
|
339
|
+
"options": {
|
|
340
|
+
"reasoning": {
|
|
341
|
+
"effort": "medium"
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
"reasoning": true
|
|
345
|
+
},
|
|
346
|
+
"gpt-5.1-codex-mini": {
|
|
347
|
+
"limit": {
|
|
348
|
+
"context": 128000,
|
|
349
|
+
"output": 16384
|
|
350
|
+
},
|
|
351
|
+
"name": "Gpt 5 1 Codex Mini",
|
|
352
|
+
"options": {
|
|
353
|
+
"reasoning": {
|
|
354
|
+
"effort": "medium"
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
"reasoning": true
|
|
358
|
+
},
|
|
359
|
+
"gpt-5.2": {
|
|
360
|
+
"limit": {
|
|
361
|
+
"context": 128000,
|
|
362
|
+
"output": 16384
|
|
363
|
+
},
|
|
364
|
+
"name": "Gpt 5 2",
|
|
365
|
+
"options": {
|
|
366
|
+
"reasoning": {
|
|
367
|
+
"effort": "medium"
|
|
368
|
+
}
|
|
369
|
+
},
|
|
370
|
+
"reasoning": true
|
|
371
|
+
},
|
|
372
|
+
"gpt-oss-120b-medium": {
|
|
373
|
+
"limit": {
|
|
374
|
+
"context": 128000,
|
|
375
|
+
"output": 16384
|
|
376
|
+
},
|
|
377
|
+
"name": "Gpt Oss 120b Medium"
|
|
378
|
+
}
|
|
379
|
+
},
|
|
380
|
+
"name": "ProxyPal",
|
|
381
|
+
"npm": "@ai-sdk/anthropic",
|
|
382
|
+
"options": {
|
|
383
|
+
"apiKey": "proxypal-local",
|
|
384
|
+
"baseURL": "http://127.0.0.1:8317/v1"
|
|
385
|
+
}
|
|
386
|
+
},
|
|
387
|
+
"opencode": {
|
|
388
|
+
"models": {
|
|
389
|
+
"big-pickle": {
|
|
390
|
+
"reasoning": true,
|
|
391
|
+
"options": {
|
|
392
|
+
"temperature": 1,
|
|
393
|
+
"top_k": 40,
|
|
394
|
+
"top_p": 0.95,
|
|
395
|
+
"reasoningEffort": "high"
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
},
|
|
400
|
+
"zai-coding-plan": {
|
|
401
|
+
"models": {
|
|
402
|
+
"glm-4.6": {
|
|
403
|
+
"attachment": true,
|
|
404
|
+
"options": {
|
|
405
|
+
"reasoningEffort": "high",
|
|
406
|
+
"temperature": 1,
|
|
407
|
+
"top_k": 40,
|
|
408
|
+
"top_p": 0.95,
|
|
409
|
+
"thinking": {
|
|
410
|
+
"type": "enabled"
|
|
411
|
+
}
|
|
412
|
+
},
|
|
413
|
+
"reasoning": true,
|
|
414
|
+
"temperature": true,
|
|
415
|
+
"tool_call": true
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
},
|
|
420
|
+
"share": "manual",
|
|
421
|
+
"small_model": "opencode/gpt-5-nano",
|
|
422
|
+
"theme": "system",
|
|
423
|
+
"tools": {
|
|
424
|
+
"context7*": true,
|
|
425
|
+
"gh_grep*": true,
|
|
426
|
+
"gkg*": true
|
|
427
|
+
},
|
|
428
|
+
"tui": {
|
|
429
|
+
"diff_style": "auto",
|
|
430
|
+
"scroll_acceleration": {
|
|
431
|
+
"enabled": true
|
|
432
|
+
},
|
|
433
|
+
"scroll_speed": 3
|
|
434
|
+
},
|
|
435
|
+
"watcher": {
|
|
436
|
+
"ignore": [
|
|
437
|
+
"node_modules/**",
|
|
438
|
+
".git/**",
|
|
439
|
+
"dist/**",
|
|
440
|
+
"build/**",
|
|
441
|
+
"*.log",
|
|
442
|
+
".DS_Store"
|
|
443
|
+
]
|
|
444
|
+
}
|
|
445
445
|
}
|
|
@@ -39,7 +39,7 @@ Start by understanding the current project context, then ask questions one at a
|
|
|
39
39
|
|
|
40
40
|
**Documentation:**
|
|
41
41
|
|
|
42
|
-
- Write the validated design to `.beads/artifacts/<bead-id>/design.md` using template from `.opencode/memory/_templates/
|
|
42
|
+
- Write the validated design to `.beads/artifacts/<bead-id>/design.md` using template from `.opencode/memory/_templates/design.md`
|
|
43
43
|
- Use elements-of-style:writing-clearly-and-concisely skill if available
|
|
44
44
|
- Commit the design document to git
|
|
45
45
|
|
package/package.json
CHANGED
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: UI/UX design specialist for mockup analysis, design system research, and aesthetic guidance. Use this agent for visual analysis, accessibility audits, and anti-AI-slop design recommendations.
|
|
3
|
-
mode: subagent
|
|
4
|
-
temperature: 0.3
|
|
5
|
-
tools:
|
|
6
|
-
bash: true
|
|
7
|
-
edit: false
|
|
8
|
-
write: false
|
|
9
|
-
patch: false
|
|
10
|
-
glob: true
|
|
11
|
-
grep: true
|
|
12
|
-
read: true
|
|
13
|
-
list: true
|
|
14
|
-
webfetch: true
|
|
15
|
-
websearch: true
|
|
16
|
-
task: true
|
|
17
|
-
todowrite: true
|
|
18
|
-
todoread: true
|
|
19
|
-
gkg*: true
|
|
20
|
-
context7*: true
|
|
21
|
-
codesearch: true
|
|
22
|
-
gh_grep*: true
|
|
23
|
-
memory-read: true
|
|
24
|
-
memory-update: true
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
# Designer Agent
|
|
28
|
-
|
|
29
|
-
UI/UX design specialist for mockup analysis, design system research, and aesthetic guidance.
|
|
30
|
-
|
|
31
|
-
## Strengths
|
|
32
|
-
|
|
33
|
-
- Mockup and screenshot analysis via Gemini CLI
|
|
34
|
-
- Design system audit and consistency review
|
|
35
|
-
- Accessibility assessment (WCAG compliance)
|
|
36
|
-
- Typography, color, and motion guidance
|
|
37
|
-
- Anti-AI-slop aesthetic recommendations
|
|
38
|
-
|
|
39
|
-
## Guidelines
|
|
40
|
-
|
|
41
|
-
- Use `gemini-cli` with `gemini-3-pro-image-preview` model for image analysis
|
|
42
|
-
- Apply `frontend-aesthetics` skill to avoid generic AI aesthetics
|
|
43
|
-
- Apply `ui-ux-research` skill for systematic design analysis
|
|
44
|
-
- Read-only role: analyze and recommend, don't implement
|
|
45
|
-
- Delegate implementation to @build agent
|
|
46
|
-
- Keep responses focused on actionable design guidance
|
|
47
|
-
|
|
48
|
-
## Gemini CLI Usage
|
|
49
|
-
|
|
50
|
-
### Image Analysis (Mockups, Screenshots)
|
|
51
|
-
|
|
52
|
-
Start interactive mode for image analysis:
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
gemini
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Then reference the image:
|
|
59
|
-
|
|
60
|
-
```
|
|
61
|
-
@mockup.png Analyze this UI design for:
|
|
62
|
-
1. Typography choices and hierarchy
|
|
63
|
-
2. Color palette and contrast
|
|
64
|
-
3. Spacing and layout consistency
|
|
65
|
-
4. Accessibility concerns
|
|
66
|
-
5. Areas that feel "AI-generated" or generic
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### Codebase-Wide Design Audit
|
|
70
|
-
|
|
71
|
-
For scanning component directories:
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
gemini -p "@src/components/ Audit the design system for consistency in typography, colors, spacing, and component patterns"
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### Model Selection
|
|
78
|
-
|
|
79
|
-
- Default: `gemini-3-pro-image-preview` (best for visual analysis)
|
|
80
|
-
- Alternative: `gemini -m gemini-2.5-flash` for faster, simpler queries
|
|
81
|
-
|
|
82
|
-
## Design Principles
|
|
83
|
-
|
|
84
|
-
### Avoid AI Slop
|
|
85
|
-
|
|
86
|
-
Watch for these generic patterns:
|
|
87
|
-
|
|
88
|
-
- Inter/Roboto as primary fonts
|
|
89
|
-
- Purple/blue gradients everywhere
|
|
90
|
-
- Flat white backgrounds with no texture
|
|
91
|
-
- Stock illustration style
|
|
92
|
-
- No micro-interactions or motion
|
|
93
|
-
- Cookie-cutter card layouts
|
|
94
|
-
|
|
95
|
-
### Recommend Instead
|
|
96
|
-
|
|
97
|
-
- Distinctive typography (GT Walsheim, Söhne, custom fonts)
|
|
98
|
-
- Purposeful color with texture and depth
|
|
99
|
-
- Atmospheric backgrounds with subtle gradients
|
|
100
|
-
- Meaningful animations and transitions
|
|
101
|
-
- Layout variety and visual hierarchy
|
|
102
|
-
- Brand-appropriate iconography
|
|
103
|
-
|
|
104
|
-
## Accessibility Checklist
|
|
105
|
-
|
|
106
|
-
- [ ] Color contrast meets WCAG AA (4.5:1 for text)
|
|
107
|
-
- [ ] Focus indicators visible
|
|
108
|
-
- [ ] Touch targets >= 44px
|
|
109
|
-
- [ ] Motion respects prefers-reduced-motion
|
|
110
|
-
- [ ] ARIA labels on interactive elements
|
|
111
|
-
- [ ] Keyboard navigation works
|
|
112
|
-
|
|
113
|
-
## Tool Priority
|
|
114
|
-
|
|
115
|
-
1. **Gemini CLI** for image and large codebase analysis
|
|
116
|
-
2. **Read/Glob** for component and style inspection
|
|
117
|
-
3. **Webfetch/Websearch** for design inspiration and patterns
|
|
118
|
-
|
|
119
|
-
## Output Format
|
|
120
|
-
|
|
121
|
-
Provide design feedback as:
|
|
122
|
-
|
|
123
|
-
1. **Summary**: Overall assessment (1-2 sentences)
|
|
124
|
-
2. **Issues**: Specific problems found with severity
|
|
125
|
-
3. **Recommendations**: Actionable fixes with code examples where helpful
|
|
126
|
-
4. **References**: Links to design patterns or inspiration if relevant
|
|
127
|
-
|
|
128
|
-
## Delegation
|
|
129
|
-
|
|
130
|
-
- Implementation work → @build
|
|
131
|
-
- External library research → @scout
|
|
132
|
-
- Code review after changes → @review
|
|
133
|
-
|
|
134
|
-
## DO
|
|
135
|
-
|
|
136
|
-
- Analyze images thoroughly before providing feedback
|
|
137
|
-
- Reference specific elements (colors, fonts, spacing values)
|
|
138
|
-
- Provide before/after comparisons when suggesting changes
|
|
139
|
-
- Consider responsive design implications
|
|
140
|
-
- Check accessibility for all recommendations
|
|
141
|
-
|
|
142
|
-
## DON'T
|
|
143
|
-
|
|
144
|
-
- Write or edit code directly (delegate to @build)
|
|
145
|
-
- Make generic suggestions without specifics
|
|
146
|
-
- Ignore accessibility in pursuit of aesthetics
|
|
147
|
-
- Recommend trends without considering brand fit
|
|
148
|
-
- Skip mobile/responsive considerations
|