opencodekit 0.10.0 → 0.11.1

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.
Files changed (47) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/template/.opencode/agent/planner.md +3 -2
  3. package/dist/template/.opencode/command/accessibility-check.md +297 -30
  4. package/dist/template/.opencode/command/analyze-mockup.md +412 -20
  5. package/dist/template/.opencode/command/analyze-project.md +445 -30
  6. package/dist/template/.opencode/command/brainstorm.md +294 -5
  7. package/dist/template/.opencode/command/commit.md +231 -17
  8. package/dist/template/.opencode/command/create.md +415 -77
  9. package/dist/template/.opencode/command/design-audit.md +483 -29
  10. package/dist/template/.opencode/command/design.md +615 -6
  11. package/dist/template/.opencode/command/edit-image.md +223 -20
  12. package/dist/template/.opencode/command/finish.md +163 -71
  13. package/dist/template/.opencode/command/fix-ci.md +297 -24
  14. package/dist/template/.opencode/command/fix-types.md +351 -13
  15. package/dist/template/.opencode/command/fix-ui.md +299 -13
  16. package/dist/template/.opencode/command/fix.md +262 -9
  17. package/dist/template/.opencode/command/generate-diagram.md +327 -26
  18. package/dist/template/.opencode/command/generate-icon.md +266 -22
  19. package/dist/template/.opencode/command/generate-image.md +232 -12
  20. package/dist/template/.opencode/command/generate-pattern.md +234 -20
  21. package/dist/template/.opencode/command/generate-storyboard.md +231 -21
  22. package/dist/template/.opencode/command/handoff.md +208 -31
  23. package/dist/template/.opencode/command/implement.md +163 -50
  24. package/dist/template/.opencode/command/import-plan.md +253 -52
  25. package/dist/template/.opencode/command/init.md +154 -35
  26. package/dist/template/.opencode/command/integration-test.md +410 -24
  27. package/dist/template/.opencode/command/issue.md +177 -21
  28. package/dist/template/.opencode/command/new-feature.md +390 -54
  29. package/dist/template/.opencode/command/plan.md +394 -107
  30. package/dist/template/.opencode/command/pr.md +235 -29
  31. package/dist/template/.opencode/command/quick-build.md +234 -5
  32. package/dist/template/.opencode/command/research-and-implement.md +442 -12
  33. package/dist/template/.opencode/command/research-ui.md +444 -34
  34. package/dist/template/.opencode/command/research.md +179 -45
  35. package/dist/template/.opencode/command/restore-image.md +416 -22
  36. package/dist/template/.opencode/command/resume.md +447 -63
  37. package/dist/template/.opencode/command/revert-feature.md +347 -65
  38. package/dist/template/.opencode/command/review-codebase.md +199 -4
  39. package/dist/template/.opencode/command/skill-create.md +506 -14
  40. package/dist/template/.opencode/command/skill-optimize.md +487 -16
  41. package/dist/template/.opencode/command/status.md +326 -60
  42. package/dist/template/.opencode/command/summarize.md +374 -33
  43. package/dist/template/.opencode/command/triage.md +361 -0
  44. package/dist/template/.opencode/command/ui-review.md +296 -25
  45. package/dist/template/.opencode/skill/beads/SKILL.md +108 -3
  46. package/dist/template/.opencode/skill/playwriter/SKILL.md +148 -0
  47. package/package.json +1 -1
@@ -1,30 +1,368 @@
1
1
  ---
2
2
  description: Fix type errors with optional bead tracking
3
- argument-hint: "[bead-id]"
3
+ argument-hint: "[bead-id] [--strict]"
4
+ agent: build
4
5
  ---
5
6
 
6
7
  # Fix Type Errors
7
8
 
8
- **Load skill:** `skill({ name: "systematic-debugging" })`
9
+ ## Load Beads Skill
9
10
 
10
- Run `bun run typecheck` and fix all type errors.
11
+ ```typescript
12
+ skill({ name: "beads" });
13
+ ```
14
+
15
+ ## Options
16
+
17
+ - `--strict`: Also fix warnings and enable stricter checks
18
+
19
+ ## Phase 1: Load Context
20
+
21
+ **Load skill:**
22
+
23
+ ```typescript
24
+ skill({ name: "systematic-debugging" });
25
+ ```
26
+
27
+ **Check for bead context:**
28
+
29
+ ```typescript
30
+ bd_show({ id: "$ARGUMENTS" });
31
+ ```
32
+
33
+ **Reserve files:**
34
+
35
+ ```typescript
36
+ bd_reserve({
37
+ paths: ["src/**/*.ts", "src/**/*.tsx"],
38
+ reason: "Fixing type errors",
39
+ ttl: 600,
40
+ });
41
+ ```
42
+
43
+ ## Phase 2: Detect Project & Run Type Check
44
+
45
+ **Detect type check command:**
46
+
47
+ ```bash
48
+ # Check package.json for type-check script
49
+ grep -q "type-check\|typecheck" package.json && echo "npm run type-check"
50
+
51
+ # Or use tsc directly
52
+ npx tsc --noEmit
53
+ ```
54
+
55
+ | Project Type | Type Check Command |
56
+ | ------------ | ------------------------------------------ |
57
+ | npm | `npm run type-check` or `npx tsc --noEmit` |
58
+ | bun | `bun run typecheck` |
59
+ | yarn | `yarn type-check` |
60
+ | pnpm | `pnpm type-check` |
61
+
62
+ **Capture initial error count:**
63
+
64
+ ```bash
65
+ npx tsc --noEmit 2>&1 | grep -c "error TS"
66
+ ```
67
+
68
+ ```
69
+ Type Check Status:
70
+ ━━━━━━━━━━━━━━━━━━
71
+
72
+ Initial errors: [N]
73
+ Files affected: [N]
74
+ ```
75
+
76
+ ## Phase 3: Use LSP for Semantic Analysis
77
+
78
+ Get errors with full context:
79
+
80
+ ```typescript
81
+ lsp_diagnostics({ filePath: "<file>", severity: "error" });
82
+ ```
83
+
84
+ For each file with errors:
85
+
86
+ ```typescript
87
+ lsp_hover({ filePath: "<file>", line: N, character: N }); // Understand types
88
+ lsp_goto_definition({ filePath: "<file>", line: N, character: N }); // Find source
89
+ ```
90
+
91
+ ## Phase 4: Categorize Errors
92
+
93
+ Group errors by pattern:
94
+
95
+ | Category | Error Pattern | Typical Fix |
96
+ | ---------------------- | ----------------------------------- | -------------------------------- |
97
+ | **Missing type** | `implicitly has 'any' type` | Add explicit type annotation |
98
+ | **Incorrect type** | `Type 'X' is not assignable to 'Y'` | Fix type or add conversion |
99
+ | **Null/undefined** | `possibly 'null' or 'undefined'` | Add null check or optional chain |
100
+ | **Property missing** | `Property 'x' does not exist` | Add to interface or fix typo |
101
+ | **Generic constraint** | `does not satisfy constraint` | Fix generic or add constraint |
102
+ | **Import error** | `Cannot find module` | Fix import path or install dep |
103
+ | **Overload mismatch** | `No overload matches this call` | Check function signature |
104
+ | **Readonly violation** | `Cannot assign to 'x' (read-only)` | Remove mutation or cast |
105
+
106
+ ```
107
+ Error Categories:
108
+ ━━━━━━━━━━━━━━━━
109
+
110
+ - Missing types: [N]
111
+ - Incorrect types: [N]
112
+ - Null handling: [N]
113
+ - Property errors: [N]
114
+ - Other: [N]
115
+ ```
116
+
117
+ ## Phase 5: Estimate Complexity
118
+
119
+ | Signals | Estimate | Approach |
120
+ | ---------------------------------------- | -------- | ---------------- |
121
+ | <10 errors, single category | S (~10) | Quick fix |
122
+ | 10-30 errors, few categories | M (~30) | Systematic |
123
+ | 30-100 errors, multiple categories | L (~100) | Batch by pattern |
124
+ | >100 errors or architectural type issues | XL | Plan first |
125
+
126
+ ## Phase 6: Fix Errors
127
+
128
+ ### Rules (MUST follow)
129
+
130
+ - ❌ **Never** use `any` just to pass type check
131
+ - ❌ **Never** use `// @ts-ignore` without justification
132
+ - ❌ **Never** use `as unknown as T` pattern
133
+ - ✅ **Prefer** proper typing over type assertions
134
+ - ✅ **Prefer** narrowing with type guards
135
+ - ✅ **Prefer** `unknown` over `any` when type is truly unknown
11
136
 
12
- ## Rules
137
+ ### Common Fixes
13
138
 
14
- - Fix all type errors and repeat the process until there are no more type errors.
15
- - Do not use `any` just to pass the type check.
16
- - Prefer proper typing over type assertions where possible.
139
+ **Missing type on parameter:**
17
140
 
18
- ## Bead Integration (Optional)
141
+ ```typescript
142
+ // Before
143
+ function process(data) { ... }
144
+
145
+ // After
146
+ function process(data: ProcessInput): ProcessOutput { ... }
147
+ ```
148
+
149
+ **Null/undefined handling:**
150
+
151
+ ```typescript
152
+ // Before
153
+ const name = user.name.toUpperCase();
154
+
155
+ // After (optional chaining)
156
+ const name = user?.name?.toUpperCase() ?? "Unknown";
157
+
158
+ // After (type guard)
159
+ if (user?.name) {
160
+ const name = user.name.toUpperCase();
161
+ }
162
+ ```
19
163
 
20
- If a bead ID is provided (`$ARGUMENTS`), track the type fixing work:
164
+ **Property doesn't exist:**
21
165
 
22
- 1. **Before fixing:** Note the initial error count via `bd_msg` or notes
166
+ ```typescript
167
+ // Before
168
+ interface User {
169
+ name: string;
170
+ }
171
+ user.email; // Error
172
+
173
+ // After - extend interface
174
+ interface User {
175
+ name: string;
176
+ email?: string;
177
+ }
178
+ ```
179
+
180
+ **Generic constraint:**
181
+
182
+ ```typescript
183
+ // Before
184
+ function getValue<T>(obj: T, key: string) {
185
+ return obj[key]; // Error
186
+ }
187
+
188
+ // After
189
+ function getValue<T extends Record<string, unknown>>(obj: T, key: keyof T) {
190
+ return obj[key];
191
+ }
192
+ ```
23
193
 
24
- 2. **After fixing:** Update with resolution summary
194
+ ### Batch Fixing Strategy
25
195
 
26
- If type errors reveal deeper issues requiring refactoring, create a follow-up bead:
196
+ For many errors of same type:
27
197
 
28
198
  ```typescript
29
- bd_add({ title: "Refactor: <type issue summary>", type: "task", pri: 2 });
199
+ // Use AST grep to find patterns
200
+ ast - grep({ pattern: "function $NAME($PARAMS) {" }); // Find untyped functions
201
+ ```
202
+
203
+ Fix one, then apply pattern to similar cases.
204
+
205
+ ## Phase 7: Iterate Until Clean
206
+
207
+ ```bash
208
+ npx tsc --noEmit 2>&1
209
+ ```
210
+
211
+ Repeat until:
212
+
213
+ ```
214
+ Type Check: 0 errors ✓
215
+ ```
216
+
217
+ **Maximum iterations:** 5 passes. If still errors after 5, reassess approach.
218
+
219
+ ## Phase 8: Verification
220
+
221
+ **Type check passes:**
222
+
223
+ ```bash
224
+ npx tsc --noEmit
225
+ ```
226
+
227
+ **Tests still pass:**
228
+
229
+ ```bash
230
+ npm test
231
+ ```
232
+
233
+ **Lint still passes:**
234
+
235
+ ```bash
236
+ npm run lint
237
+ ```
238
+
239
+ ```
240
+ Verification:
241
+ ━━━━━━━━━━━━━
242
+
243
+ Types: 0 errors ✓
244
+ Tests: Passing ✓
245
+ Lint: Passing ✓
246
+ ```
247
+
248
+ ## Phase 9: Track Improvement
249
+
250
+ ```
251
+ Type Error Resolution:
252
+ ━━━━━━━━━━━━━━━━━━━━━━
253
+
254
+ Before: [N] errors
255
+ After: 0 errors
256
+ Reduction: 100%
257
+
258
+ By category:
259
+ - Missing types: [N] → 0
260
+ - Null handling: [N] → 0
261
+ - Property errors: [N] → 0
262
+ ```
263
+
264
+ ## Phase 10: Document Patterns
265
+
266
+ If you discovered useful type patterns:
267
+
268
+ ```typescript
269
+ observation({
270
+ type: "pattern",
271
+ title: "Type pattern: [name]",
272
+ content: `
273
+ ## Pattern
274
+ [Description of the type pattern]
275
+
276
+ ## Example
277
+ \`\`\`typescript
278
+ [Code showing the pattern]
279
+ \`\`\`
280
+
281
+ ## When to Use
282
+ [When this pattern applies]
283
+ `,
284
+ concepts: "typescript, types, [specific pattern]",
285
+ bead_id: "<bead-id>",
286
+ });
287
+ ```
288
+
289
+ Update conventions if this should be standard:
290
+
291
+ ```typescript
292
+ memory -
293
+ update({
294
+ file: "project/conventions",
295
+ content: `
296
+ ## Type Pattern: [Name]
297
+
298
+ [Pattern description and example]
299
+ `,
300
+ mode: "append",
301
+ });
302
+ ```
303
+
304
+ ## Phase 11: Handle Deep Issues
305
+
306
+ If type errors reveal architectural problems:
307
+
308
+ ```typescript
309
+ bd_add({
310
+ title: "Refactor: [type issue summary]",
311
+ type: "task",
312
+ pri: 2,
313
+ desc: "Type errors revealed need for: [description]",
314
+ });
315
+ ```
316
+
317
+ ## Phase 12: Commit & Sync
318
+
319
+ ```bash
320
+ git add <files>
321
+ git commit -m "fix(types): resolve type errors
322
+
323
+ - Fixed [N] type errors
324
+ - Categories: [list main categories]
325
+ - No 'any' types added
326
+ [bead-id if applicable]"
327
+ ```
328
+
329
+ ```typescript
330
+ bd_release({ _: true });
331
+ bd_sync({ reason: "Fixed type errors" });
332
+ ```
333
+
334
+ ## Output
335
+
336
+ ```
337
+ Type Errors Fixed
338
+ ━━━━━━━━━━━━━━━━━
339
+
340
+ Estimate: [S/M/L]
341
+ Before: [N] errors
342
+ After: 0 errors
343
+
344
+ Categories fixed:
345
+ - Missing types: [N]
346
+ - Null handling: [N]
347
+ - Property errors: [N]
348
+
349
+ Verification:
350
+ - Type check: ✓
351
+ - Tests: ✓
352
+ - Lint: ✓
353
+
354
+ 'any' types added: 0 ✓
355
+ Patterns documented: [N]
356
+
357
+ Commit: [hash]
358
+ ```
359
+
360
+ **Next steps:**
361
+
362
+ ```
363
+ If part of larger task:
364
+ /implement <bead-id>
365
+
366
+ If standalone:
367
+ /finish <bead-id>
30
368
  ```
@@ -1,22 +1,308 @@
1
1
  ---
2
2
  description: Analyze and fix UI issues
3
- argument-hint: "[issue]"
3
+ argument-hint: "<issue or bead-id> [--a11y]"
4
4
  agent: build
5
5
  ---
6
6
 
7
7
  # Fix UI: $ARGUMENTS
8
8
 
9
- skill({ name: "frontend-aesthetics" })
9
+ ## Load Beads Skill
10
10
 
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
- - Apply `frontend-aesthetics` criteria (typography, color, motion, backgrounds)
16
- 3. **Fix:** Implement step by step
17
- - Avoid generic AI aesthetics (Inter font, purple gradients, flat backgrounds)
18
- - Use distinctive typography, cohesive themes, meaningful motion
19
- 4. **Verify:** Screenshot/test the fix
20
- 5. **Review:** Run tests, ensure quality
11
+ ```typescript
12
+ skill({ name: "beads" });
13
+ ```
21
14
 
22
- If bead exists, update `.beads/artifacts/<bead-id>/review.md` and run `/finish`.
15
+ ## Options
16
+
17
+ - `--a11y`: Include full accessibility audit
18
+
19
+ ## Phase 1: Load Context
20
+
21
+ **Check for bead context:**
22
+
23
+ ```typescript
24
+ bd_show({ id: "$ARGUMENTS" });
25
+ ```
26
+
27
+ **Load skill:**
28
+
29
+ ```typescript
30
+ skill({ name: "frontend-aesthetics" });
31
+ ```
32
+
33
+ **Reserve UI files:**
34
+
35
+ ```typescript
36
+ bd_reserve({
37
+ paths: ["src/components/**", "src/styles/**"],
38
+ reason: "Fixing UI: $ARGUMENTS",
39
+ ttl: 600,
40
+ });
41
+ ```
42
+
43
+ ## Phase 2: Capture Before State
44
+
45
+ Take screenshot before making changes:
46
+
47
+ ```typescript
48
+ // Using Playwright skill
49
+ skill({ name: "playwright" });
50
+ skill_mcp({
51
+ skill_name: "playwright",
52
+ tool_name: "browser_screenshot",
53
+ arguments: '{"name": "before-fix"}',
54
+ });
55
+ ```
56
+
57
+ Or use browser DevTools:
58
+
59
+ ```typescript
60
+ skill({ name: "chrome-devtools" });
61
+ ```
62
+
63
+ Save screenshot to `.beads/artifacts/<bead-id>/before.png`
64
+
65
+ ## Phase 3: Analyze with Vision
66
+
67
+ Delegate to @vision for initial assessment:
68
+
69
+ ```typescript
70
+ task({
71
+ subagent_type: "vision",
72
+ description: "Analyze UI issue",
73
+ prompt: `
74
+ TASK: Analyze UI issue: $ARGUMENTS
75
+
76
+ EXPECTED OUTCOME:
77
+ - Describe the visual problem in detail
78
+ - Identify affected components
79
+ - Suggest fix approach
80
+ - Check against frontend-aesthetics anti-patterns
81
+
82
+ MUST DO:
83
+ - Load the before screenshot
84
+ - Identify specific CSS/component issues
85
+ - Check for AI slop patterns (Inter font, purple gradients, flat backgrounds)
86
+ - Assess color contrast and typography
87
+
88
+ MUST NOT DO:
89
+ - Don't make changes, just analyze
90
+ - Don't suggest generic solutions
91
+
92
+ CONTEXT:
93
+ - Screenshot: .beads/artifacts/<bead-id>/before.png
94
+ - Issue: $ARGUMENTS
95
+ `,
96
+ });
97
+ ```
98
+
99
+ ## Phase 4: Estimate Complexity
100
+
101
+ | Signals | Estimate | Approach |
102
+ | ---------------------------------------- | -------- | --------------- |
103
+ | Single component, CSS tweak | S (~10) | Quick fix |
104
+ | Multiple components, layout issue | M (~30) | Systematic fix |
105
+ | Cross-cutting, design system change | L (~100) | Design review |
106
+ | Responsive + a11y + multiple breakpoints | XL | Decompose first |
107
+
108
+ ## Phase 5: Design System Check
109
+
110
+ Before fixing, verify design tokens:
111
+
112
+ ```bash
113
+ # Check for design tokens/variables
114
+ grep -r "var(--" src/styles/ | head -20
115
+ grep -r "theme\." src/components/ | head -20
116
+ ```
117
+
118
+ **Verify fix will use:**
119
+
120
+ - [ ] Existing color tokens (not hardcoded colors)
121
+ - [ ] Existing spacing scale (not arbitrary px values)
122
+ - [ ] Existing typography scale
123
+ - [ ] Existing breakpoints
124
+
125
+ ## Phase 6: Implement Fix
126
+
127
+ **Anti-AI-slop checklist:**
128
+
129
+ | Avoid | Use Instead |
130
+ | ---------------------------- | ------------------------------ |
131
+ | Inter/system-ui everywhere | Distinctive, intentional fonts |
132
+ | Purple/blue gradients | Cohesive project color palette |
133
+ | Flat, shadowless backgrounds | Subtle depth and texture |
134
+ | Generic rounded corners | Consistent border-radius scale |
135
+ | No motion | Meaningful, subtle animations |
136
+
137
+ **Make changes:**
138
+
139
+ 1. Identify affected files
140
+ 2. Make minimal, focused CSS/component changes
141
+ 3. Use existing design tokens
142
+ 4. Test in browser during development
143
+
144
+ ## Phase 7: Capture After State
145
+
146
+ Take screenshot after changes:
147
+
148
+ ```typescript
149
+ skill_mcp({
150
+ skill_name: "playwright",
151
+ tool_name: "browser_screenshot",
152
+ arguments: '{"name": "after-fix"}',
153
+ });
154
+ ```
155
+
156
+ Save to `.beads/artifacts/<bead-id>/after.png`
157
+
158
+ ## Phase 8: Verification
159
+
160
+ ### Visual Verification
161
+
162
+ ```typescript
163
+ task({
164
+ subagent_type: "vision",
165
+ description: "Compare before/after",
166
+ prompt: `
167
+ Compare these screenshots:
168
+ - Before: .beads/artifacts/<bead-id>/before.png
169
+ - After: .beads/artifacts/<bead-id>/after.png
170
+
171
+ Verify:
172
+ 1. Issue is fixed
173
+ 2. No visual regressions
174
+ 3. Follows frontend-aesthetics principles
175
+ 4. No AI slop patterns introduced
176
+ `,
177
+ });
178
+ ```
179
+
180
+ ### Responsive Verification
181
+
182
+ Test at multiple breakpoints:
183
+
184
+ | Breakpoint | Width | Check |
185
+ | ---------- | ------ | -------------------- |
186
+ | Mobile | 375px | Layout doesn't break |
187
+ | Tablet | 768px | Spacing appropriate |
188
+ | Desktop | 1280px | Full layout correct |
189
+
190
+ ```typescript
191
+ skill_mcp({
192
+ skill_name: "playwright",
193
+ tool_name: "browser_resize",
194
+ arguments: '{"width": 375, "height": 812}',
195
+ });
196
+ // Screenshot and verify
197
+ ```
198
+
199
+ ### Accessibility Verification (--a11y or always for M+ fixes)
200
+
201
+ ```typescript
202
+ skill({ name: "accessibility-audit" });
203
+ ```
204
+
205
+ Check:
206
+
207
+ - [ ] Color contrast (4.5:1 for text, 3:1 for large text)
208
+ - [ ] Keyboard navigation works
209
+ - [ ] Focus states visible
210
+ - [ ] Screen reader text present for icons
211
+ - [ ] No motion for prefers-reduced-motion users
212
+
213
+ ### Automated Tests
214
+
215
+ ```bash
216
+ npm test -- --grep "component-name"
217
+ npm run test:visual # If visual regression tests exist
218
+ ```
219
+
220
+ ```
221
+ Verification:
222
+ ━━━━━━━━━━━━━
223
+
224
+ Visual: Issue fixed ✓
225
+ Responsive:
226
+ - Mobile (375px): ✓
227
+ - Tablet (768px): ✓
228
+ - Desktop (1280px): ✓
229
+ Accessibility: [✓/⚠️ needs review]
230
+ Tests: [✓/✗]
231
+ ```
232
+
233
+ ## Phase 9: Document & Observe
234
+
235
+ If this revealed a UI pattern worth remembering:
236
+
237
+ ```typescript
238
+ observation({
239
+ type: "pattern",
240
+ title: "[UI pattern name]",
241
+ content: `
242
+ ## Pattern
243
+ [What we learned about UI implementation]
244
+
245
+ ## Example
246
+ \`\`\`css
247
+ [Code snippet]
248
+ \`\`\`
249
+
250
+ ## When to Use
251
+ [When this pattern applies]
252
+ `,
253
+ concepts: "ui, css, [component-type]",
254
+ files: "[affected files]",
255
+ bead_id: "<bead-id>",
256
+ });
257
+ ```
258
+
259
+ ## Phase 10: Commit & Sync
260
+
261
+ ```bash
262
+ git add <files>
263
+ git commit -m "fix(ui): <description>
264
+
265
+ - [what changed]
266
+ - [visual improvement]
267
+ [bead-id if applicable]"
268
+ ```
269
+
270
+ ```typescript
271
+ bd_release({ _: true });
272
+ bd_sync({ reason: "Fixed UI: $ARGUMENTS" });
273
+ ```
274
+
275
+ ## Output
276
+
277
+ ```
278
+ UI Fixed: $ARGUMENTS
279
+ ━━━━━━━━━━━━━━━━━━━━
280
+
281
+ Estimate: [S/M/L]
282
+ Components: [list]
283
+
284
+ Before: .beads/artifacts/<bead-id>/before.png
285
+ After: .beads/artifacts/<bead-id>/after.png
286
+
287
+ Verification:
288
+ - Visual: ✓
289
+ - Responsive: ✓
290
+ - Accessibility: [✓/⚠️]
291
+ - Tests: ✓
292
+
293
+ Design system: Used existing tokens ✓
294
+ AI slop check: None detected ✓
295
+
296
+ Commit: [hash]
297
+ ```
298
+
299
+ **Next steps:**
300
+
301
+ ```
302
+ If part of larger task:
303
+ /implement <bead-id>
304
+
305
+ If standalone fix:
306
+ /finish <bead-id>
307
+ /pr <bead-id>
308
+ ```