opencodekit 0.16.15 → 0.16.17

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 (69) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/template/.opencode/AGENTS.md +1 -1
  3. package/dist/template/.opencode/agent/plan.md +77 -161
  4. package/dist/template/.opencode/command/create.md +75 -307
  5. package/dist/template/.opencode/command/design.md +53 -589
  6. package/dist/template/.opencode/command/handoff.md +76 -180
  7. package/dist/template/.opencode/command/init.md +45 -211
  8. package/dist/template/.opencode/command/plan.md +62 -514
  9. package/dist/template/.opencode/command/pr.md +56 -226
  10. package/dist/template/.opencode/command/research.md +55 -266
  11. package/dist/template/.opencode/command/resume.md +33 -138
  12. package/dist/template/.opencode/command/review-codebase.md +54 -202
  13. package/dist/template/.opencode/command/ship.md +78 -127
  14. package/dist/template/.opencode/command/start.md +47 -577
  15. package/dist/template/.opencode/command/status.md +55 -354
  16. package/dist/template/.opencode/command/ui-review.md +52 -298
  17. package/dist/template/.opencode/command/verify.md +36 -250
  18. package/dist/template/.opencode/memory.db-shm +0 -0
  19. package/dist/template/.opencode/memory.db-wal +0 -0
  20. package/dist/template/.opencode/plugin/README.md +8 -4
  21. package/dist/template/.opencode/plugin/swarm-enforcer.ts +182 -27
  22. package/dist/template/.opencode/skill/augment-context-engine/SKILL.md +112 -0
  23. package/dist/template/.opencode/skill/augment-context-engine/mcp.json +6 -0
  24. package/dist/template/.opencode/skill/core-data-expert/SKILL.md +82 -0
  25. package/dist/template/.opencode/skill/core-data-expert/references/batch-operations.md +543 -0
  26. package/dist/template/.opencode/skill/core-data-expert/references/cloudkit-integration.md +259 -0
  27. package/dist/template/.opencode/skill/core-data-expert/references/concurrency.md +522 -0
  28. package/dist/template/.opencode/skill/core-data-expert/references/fetch-requests.md +643 -0
  29. package/dist/template/.opencode/skill/core-data-expert/references/glossary.md +233 -0
  30. package/dist/template/.opencode/skill/core-data-expert/references/migration.md +393 -0
  31. package/dist/template/.opencode/skill/core-data-expert/references/model-configuration.md +597 -0
  32. package/dist/template/.opencode/skill/core-data-expert/references/performance.md +300 -0
  33. package/dist/template/.opencode/skill/core-data-expert/references/persistent-history.md +553 -0
  34. package/dist/template/.opencode/skill/core-data-expert/references/project-audit.md +60 -0
  35. package/dist/template/.opencode/skill/core-data-expert/references/saving.md +574 -0
  36. package/dist/template/.opencode/skill/core-data-expert/references/stack-setup.md +625 -0
  37. package/dist/template/.opencode/skill/core-data-expert/references/testing.md +300 -0
  38. package/dist/template/.opencode/skill/core-data-expert/references/threading.md +589 -0
  39. package/dist/template/.opencode/skill/swift-concurrency/SKILL.md +246 -0
  40. package/dist/template/.opencode/skill/swift-concurrency/references/actors.md +640 -0
  41. package/dist/template/.opencode/skill/swift-concurrency/references/async-algorithms.md +822 -0
  42. package/dist/template/.opencode/skill/swift-concurrency/references/async-await-basics.md +249 -0
  43. package/dist/template/.opencode/skill/swift-concurrency/references/async-sequences.md +670 -0
  44. package/dist/template/.opencode/skill/swift-concurrency/references/core-data.md +533 -0
  45. package/dist/template/.opencode/skill/swift-concurrency/references/glossary.md +128 -0
  46. package/dist/template/.opencode/skill/swift-concurrency/references/linting.md +142 -0
  47. package/dist/template/.opencode/skill/swift-concurrency/references/memory-management.md +542 -0
  48. package/dist/template/.opencode/skill/swift-concurrency/references/migration.md +1076 -0
  49. package/dist/template/.opencode/skill/swift-concurrency/references/performance.md +574 -0
  50. package/dist/template/.opencode/skill/swift-concurrency/references/sendable.md +578 -0
  51. package/dist/template/.opencode/skill/swift-concurrency/references/tasks.md +604 -0
  52. package/dist/template/.opencode/skill/swift-concurrency/references/testing.md +565 -0
  53. package/dist/template/.opencode/skill/swift-concurrency/references/threading.md +452 -0
  54. package/dist/template/.opencode/skill/swiftui-expert-skill/SKILL.md +290 -0
  55. package/dist/template/.opencode/skill/swiftui-expert-skill/references/animation-advanced.md +351 -0
  56. package/dist/template/.opencode/skill/swiftui-expert-skill/references/animation-basics.md +284 -0
  57. package/dist/template/.opencode/skill/swiftui-expert-skill/references/animation-transitions.md +326 -0
  58. package/dist/template/.opencode/skill/swiftui-expert-skill/references/image-optimization.md +286 -0
  59. package/dist/template/.opencode/skill/swiftui-expert-skill/references/layout-best-practices.md +312 -0
  60. package/dist/template/.opencode/skill/swiftui-expert-skill/references/liquid-glass.md +377 -0
  61. package/dist/template/.opencode/skill/swiftui-expert-skill/references/list-patterns.md +153 -0
  62. package/dist/template/.opencode/skill/swiftui-expert-skill/references/modern-apis.md +400 -0
  63. package/dist/template/.opencode/skill/swiftui-expert-skill/references/performance-patterns.md +377 -0
  64. package/dist/template/.opencode/skill/swiftui-expert-skill/references/scroll-patterns.md +305 -0
  65. package/dist/template/.opencode/skill/swiftui-expert-skill/references/sheet-navigation-patterns.md +292 -0
  66. package/dist/template/.opencode/skill/swiftui-expert-skill/references/state-management.md +447 -0
  67. package/dist/template/.opencode/skill/swiftui-expert-skill/references/text-formatting.md +285 -0
  68. package/dist/template/.opencode/skill/swiftui-expert-skill/references/view-structure.md +276 -0
  69. package/package.json +1 -1
@@ -1,338 +1,92 @@
1
1
  ---
2
2
  description: Review UI/UX design for quality, aesthetics, and best practices
3
- argument-hint: "<image-or-component-path> [--bead=<id>] [--responsive] [--dark-mode]"
3
+ argument-hint: "<image-or-component-path> [--responsive] [--dark-mode]"
4
4
  agent: vision
5
5
  model: proxypal/gemini-3-pro-preview
6
- subtask: true
7
6
  ---
8
7
 
9
8
  # UI Review: $ARGUMENTS
10
9
 
11
- Comprehensive UI/UX review with structured scoring and actionable feedback.
12
-
13
10
  ## Load Skills
14
11
 
15
12
  ```typescript
16
- skill({ name: "beads" }); // Session protocol
17
- skill({ name: "memory-system" });
18
- ```
19
-
20
- ```typescript
21
- skill({ name: "frontend-design" });
22
- skill({ name: "visual-analysis" });
23
- skill({ name: "accessibility-audit" });
13
+ skill({ name: "visual-analysis" }); // Analysis framework
14
+ skill({ name: "accessibility-audit" }); // WCAG checklists
15
+ skill({ name: "frontend-design" }); // Anti-patterns, design quality
24
16
  ```
25
17
 
26
- ## Check Memory for Design Context
27
-
28
- Search for existing design decisions and patterns:
29
-
30
- ```typescript
31
- // Find design system decisions
32
- memory_search({ query: "design system colors typography", limit: 3 });
33
-
34
- // Find previous UI reviews and findings
35
- memory_search({ query: "[component/page] UI review", limit: 3 });
36
- ```
37
-
38
- Apply existing design decisions to the review.
39
-
40
- ## Parse Arguments
18
+ ## Input
41
19
 
42
- | Argument | Default | Description |
43
- | -------------- | -------- | ------------------------------------ |
44
- | Path | required | Image, screenshot, or component file |
45
- | `--bead` | none | Link findings to bead |
46
- | `--responsive` | false | Include responsive breakpoint review |
47
- | `--dark-mode` | false | Include dark mode review |
48
- | `--compare` | none | Compare against design spec |
20
+ Parse `$ARGUMENTS`:
49
21
 
50
- ---
51
-
52
- ## Review Categories
53
-
54
- ### 1. Typography (Weight: 15%)
55
-
56
- | Check | Pass | Fail |
57
- | --------------- | --------------------------------------- | ----------------------------------- |
58
- | Font purpose | Intentional choice for brand/context | Generic Inter/Roboto without reason |
59
- | Hierarchy | Clear H1 > H2 > H3 > body scale | Flat, unclear importance |
60
- | Readability | Appropriate size, line-height, contrast | Too small, cramped, low contrast |
61
- | Weight contrast | Uses extremes (300 vs 700) | Muddy middle weights (400 vs 500) |
62
- | Pairing | Harmonious combination | Clashing or too similar |
63
-
64
- **Scoring:**
65
-
66
- - 10: Distinctive, intentional, excellent hierarchy
67
- - 7-9: Good choices, minor issues
68
- - 4-6: Generic but functional
69
- - 1-3: Poor readability or choices
22
+ - **Path** (required): Image, screenshot, or component file
23
+ - **`--responsive`**: Include responsive breakpoint review
24
+ - **`--dark-mode`**: Include dark mode review
70
25
 
71
- ### 2. Color (Weight: 15%)
26
+ ## Review Workflow
72
27
 
73
- | Check | Pass | Fail |
74
- | ---------------- | ------------------------------------- | ---------------------------- |
75
- | Palette cohesion | Unified, intentional palette | Random or clashing colors |
76
- | Brand alignment | Colors support brand identity | Generic or off-brand |
77
- | Contrast | WCAG AA minimum (4.5:1 text) | Insufficient contrast |
78
- | Semantic usage | Consistent meaning (red=error) | Confusing color meaning |
79
- | No AI slop | Avoids purple/blue gradients, #667eea | Generic AI-generated palette |
28
+ ### 1. Analyze the Input
80
29
 
81
- **Scoring:**
30
+ Use the `visual-analysis` skill to perform deep analysis:
82
31
 
83
- - 10: Distinctive, accessible, cohesive
84
- - 7-9: Good palette, minor issues
85
- - 4-6: Functional but generic
86
- - 1-3: Accessibility failures or AI slop
32
+ - Content inventory (elements, text, icons)
33
+ - Visual properties (colors, typography, spacing, layout)
34
+ - Design patterns and potential issues
87
35
 
88
- ### 3. Layout & Spacing (Weight: 20%)
36
+ ### 2. Score Categories
89
37
 
90
- | Check | Pass | Fail |
91
- | ------------------- | ------------------------------ | ----------------------- |
92
- | Visual hierarchy | Clear content priority | Everything same weight |
93
- | Spacing consistency | Uses spacing scale (4/8/16/24) | Random pixel values |
94
- | Alignment | Elements properly aligned | Misaligned or sloppy |
95
- | White space | Breathing room, not cramped | Too dense or too sparse |
96
- | Grid system | Consistent column structure | Arbitrary positioning |
38
+ Rate each 1-10 with brief justification:
97
39
 
98
- **Scoring:**
40
+ | Category | What to Evaluate |
41
+ | ---------------------- | -------------------------------------------------------------- |
42
+ | **Typography** | Hierarchy, readability, weight contrast, intentional choices |
43
+ | **Color** | Palette cohesion, contrast, semantic usage, no AI slop |
44
+ | **Layout & Spacing** | Visual hierarchy, consistency, alignment, white space |
45
+ | **Interactive States** | Hover, focus, active, disabled, loading coverage |
46
+ | **Accessibility** | WCAG AA compliance (use `accessibility-audit` skill checklist) |
47
+ | **Visual Polish** | Consistency, attention to detail, motion, shadows, icons |
99
48
 
100
- - 10: Professional, balanced, rhythmic
101
- - 7-9: Good structure, minor inconsistencies
102
- - 4-6: Functional but lacks polish
103
- - 1-3: Chaotic or broken layout
49
+ ### 3. Conditional Reviews
104
50
 
105
- ### 4. Interactive States (Weight: 15%)
51
+ **If `--responsive`**: Check at 375px, 768px, 1280px, 1536px+. Flag touch targets, horizontal scroll, text sizing.
106
52
 
107
- | State | Required | Check |
108
- | -------------- | ------------- | ---------------------------------- |
109
- | Default | Yes | Clear, inviting appearance |
110
- | Hover | Yes | Visible change, not jarring |
111
- | Focus | Yes | Clear ring/outline for keyboard |
112
- | Active/Pressed | Recommended | Feedback on click |
113
- | Disabled | If applicable | Obviously inactive, not just faded |
114
- | Loading | If applicable | Clear loading indication |
53
+ **If `--dark-mode`**: Check contrast on dark backgrounds, adapted colors (not just inverted), shadow adjustments, focus visibility.
115
54
 
116
- **Scoring:**
55
+ ### 4. Report Findings
117
56
 
118
- - 10: All states polished, consistent
119
- - 7-9: Most states covered, minor gaps
120
- - 4-6: Basic states only
121
- - 1-3: Missing critical states (focus)
57
+ Group by severity:
122
58
 
123
- ### 5. Accessibility (Weight: 20%)
59
+ - **Critical (Must Fix)**: Accessibility failures, broken interactions
60
+ - **Warning (Should Fix)**: AI slop patterns, inconsistent spacing, missing states
61
+ - **Info (Nice to Have)**: Polish opportunities
124
62
 
125
- | Check | Pass | Fail |
126
- | -------------- | ---------------------------------- | ------------------------- |
127
- | Color contrast | 4.5:1 text, 3:1 UI | Below WCAG AA |
128
- | Focus visible | Clear focus indicator | Hidden or invisible focus |
129
- | Touch targets | 44x44px minimum | Too small to tap |
130
- | Alt text | Images have descriptions | Missing alt attributes |
131
- | Keyboard nav | All interactive elements reachable | Keyboard traps or gaps |
132
- | Screen reader | Logical reading order | Confusing or broken |
63
+ For each finding: location, impact, and recommended fix.
133
64
 
134
- **Scoring:**
65
+ ## Output
135
66
 
136
- - 10: WCAG AAA compliant
137
- - 7-9: WCAG AA compliant, minor issues
138
- - 4-6: Some accessibility, gaps remain
139
- - 1-3: Significant barriers
67
+ Deliver:
140
68
 
141
- ### 6. Visual Polish (Weight: 15%)
142
-
143
- | Check | Pass | Fail |
144
- | ------------------- | ------------------------ | -------------------------- |
145
- | Consistency | Same patterns throughout | Inconsistent styling |
146
- | Attention to detail | Pixel-perfect alignment | Sloppy edges, misalignment |
147
- | Motion/animation | Purposeful, smooth | Jarring or excessive |
148
- | Depth/shadow | Consistent shadow system | Random or heavy shadows |
149
- | Icons | Consistent style, size | Mixed icon sets |
150
-
151
- **Scoring:**
152
-
153
- - 10: Exceptional craft and attention
154
- - 7-9: Professional, polished
155
- - 4-6: Acceptable, room for improvement
156
- - 1-3: Unpolished, inconsistent
157
-
158
- ---
69
+ 1. Category scores (1-10 each) with justification
70
+ 2. Overall assessment (1-2 sentences)
71
+ 3. Findings grouped by severity with actionable fixes
72
+ 4. Code fixes for critical issues (if reviewing component code)
159
73
 
160
- ## Anti-Patterns to Flag
161
-
162
- | Anti-Pattern | Severity | Why It's Bad |
163
- | --------------------------------- | -------- | ------------------------ |
164
- | Purple/blue gradient backgrounds | Warning | AI slop signature |
165
- | 3-column feature cards with icons | Warning | Overused, generic |
166
- | Excessive rounded corners (16px+) | Info | Trendy but often misused |
167
- | Glassmorphism without purpose | Warning | Style over function |
168
- | Generic stock illustrations | Warning | Lacks personality |
169
- | Drop shadows on everything | Info | Visual noise |
170
- | Flat white (#FFFFFF) backgrounds | Info | Harsh, sterile |
171
-
172
- ---
173
-
174
- ## Responsive Review (--responsive)
175
-
176
- Check at each breakpoint:
177
-
178
- | Breakpoint | Width | Check |
179
- | ---------- | ------- | ------------------------------------ |
180
- | Mobile | 375px | Touch targets, stacking, readability |
181
- | Tablet | 768px | Layout adaptation, spacing |
182
- | Desktop | 1280px | Full layout, hover states |
183
- | Wide | 1536px+ | Content doesn't stretch awkwardly |
184
-
185
- **Common responsive issues:**
186
-
187
- - Text too small on mobile
188
- - Horizontal scroll
189
- - Touch targets too close
190
- - Images not responsive
191
- - Hidden content on mobile
192
-
193
- ---
194
-
195
- ## Dark Mode Review (--dark-mode)
196
-
197
- | Check | Pass | Fail |
198
- | -------------------- | ------------------------ | ------------------------ |
199
- | Contrast maintained | Text readable on dark bg | Washed out or too bright |
200
- | Colors adapted | Not just inverted | Jarring or ugly colors |
201
- | Images appropriate | Dark-compatible images | Light images on dark bg |
202
- | Shadows adjusted | Softer or removed | Heavy shadows on dark |
203
- | Focus states visible | Clear on dark background | Invisible focus ring |
204
-
205
- ---
206
-
207
- ## Output Format
208
-
209
- ### Review Scorecard
210
-
211
- ```
212
- UI Review: [Component/Screen Name]
213
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
214
-
215
- Category Scores:
216
- ├── Typography: 8/10 ████████░░
217
- ├── Color: 6/10 ██████░░░░ ⚠ Issues
218
- ├── Layout: 9/10 █████████░
219
- ├── Interactive: 7/10 ███████░░░
220
- ├── Accessibility: 5/10 █████░░░░░ ⚠ Critical
221
- └── Visual Polish: 8/10 ████████░░
222
-
223
- Overall Score: 7.2/10 (Good, needs work)
224
-
225
- Grade: B
226
- ```
227
-
228
- ### Findings by Severity
229
-
230
- ```
231
- Critical (Must Fix):
232
- ━━━━━━━━━━━━━━━━━━━
233
-
234
- 1. [A11Y] Focus states invisible on buttons
235
- Location: All primary buttons
236
- Impact: Keyboard users cannot navigate
237
- Fix: Add `focus-visible:ring-2 focus-visible:ring-primary`
238
-
239
- 2. [A11Y] Color contrast 2.8:1 on muted text
240
- Location: Footer links, captions
241
- Impact: WCAG AA failure
242
- Fix: Change from #9CA3AF to #6B7280
243
-
244
- Warning (Should Fix):
245
- ━━━━━━━━━━━━━━━━━━━━
246
-
247
- 3. [COLOR] Purple-blue gradient detected
248
- Location: Hero background
249
- Impact: AI slop aesthetic
250
- Fix: Consider solid color or subtle texture
251
-
252
- 4. [LAYOUT] Inconsistent spacing
253
- Location: Card grid gaps
254
- Impact: Visual rhythm broken
255
- Fix: Standardize to 24px gap
256
-
257
- Info (Nice to Have):
258
- ━━━━━━━━━━━━━━━━━━━
259
-
260
- 5. [TYPOGRAPHY] Could use more weight contrast
261
- Location: Section headings
262
- Suggestion: Try font-bold (700) instead of semibold (600)
263
- ```
264
-
265
- ### Code Fixes
266
-
267
- ```tsx
268
- // Before: Invisible focus
269
- <button className="bg-primary text-white">
270
- Submit
271
- </button>
272
-
273
- // After: Visible focus
274
- <button className="bg-primary text-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2">
275
- Submit
276
- </button>
277
- ```
278
-
279
- ---
280
-
281
- ## Bead Integration
282
-
283
- If `--bead=<id>` provided:
284
-
285
- ```bash
286
- # Create issues for critical findings
287
- br create "[UI] Fix invisible focus states" --type bug --priority 1
288
-
289
- # Then link to parent bead
290
- br dep add <task-id> <bead-id>
291
- ```
292
-
293
- ---
294
-
295
- ## Examples
296
-
297
- ```bash
298
- # Review a screenshot
299
- /ui-review designs/homepage.png
300
-
301
- # Review with responsive check
302
- /ui-review src/components/Card.tsx --responsive
303
-
304
- # Review and link to bead
305
- /ui-review screenshots/dashboard.png --bead=br-feature-123
306
-
307
- # Full review with dark mode
308
- /ui-review app/page.tsx --responsive --dark-mode
309
-
310
- # Compare to design spec
311
- /ui-review screenshots/current.png --compare designs/mockup.png
312
- ```
313
-
314
- ---
315
-
316
- ## Related Commands
317
-
318
- | Need | Command |
319
- | -------------------- | --------------- |
320
- | Design from scratch | `/design` |
321
- | Start implementation | `/start <bead>` |
322
- | Ship implementation | `/ship <bead>` |
323
-
324
- ## Record Significant Findings
325
-
326
- For important UI/UX findings worth remembering:
74
+ ## Record Findings
327
75
 
328
76
  ```typescript
329
77
  observation({
330
- type: "warning", // or "pattern", "decision"
331
- title: "UI: [Component/page] [issue type]",
78
+ type: "warning",
79
+ title: "UI: [Component] [issue type]",
332
80
  narrative: "Found [issue] in [location]. Impact: [description]...",
333
- facts: "[severity], [category], [fix approach]",
334
- concepts: "ui, accessibility, [component type]",
335
- bead_id: "$ARGUMENTS", // if applicable
81
+ concepts: "ui, accessibility, [category]",
336
82
  confidence: "high",
337
83
  });
338
84
  ```
85
+
86
+ ## Related Commands
87
+
88
+ | Need | Command |
89
+ | -------------------- | --------- |
90
+ | Design from scratch | `/design` |
91
+ | Start implementation | `/start` |
92
+ | Ship implementation | `/ship` |