opencodekit 0.15.21 → 0.16.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.
- package/dist/index.js +5 -7
- package/dist/template/.opencode/AGENTS.md +85 -23
- package/dist/template/.opencode/agent/build.md +88 -7
- package/dist/template/.opencode/agent/explore.md +1 -1
- package/dist/template/.opencode/agent/general.md +54 -4
- package/dist/template/.opencode/agent/looker.md +1 -1
- package/dist/template/.opencode/agent/painter.md +1 -1
- package/dist/template/.opencode/agent/plan.md +52 -0
- package/dist/template/.opencode/agent/review.md +1 -1
- package/dist/template/.opencode/agent/scout.md +3 -3
- package/dist/template/.opencode/agent/vision.md +1 -1
- package/dist/template/.opencode/command/create.md +231 -91
- package/dist/template/.opencode/command/design.md +40 -7
- package/dist/template/.opencode/command/handoff.md +22 -0
- package/dist/template/.opencode/command/init.md +49 -78
- package/dist/template/.opencode/command/plan.md +36 -16
- package/dist/template/.opencode/command/pr.md +15 -0
- package/dist/template/.opencode/command/research.md +3 -0
- package/dist/template/.opencode/command/resume.md +8 -18
- package/dist/template/.opencode/command/review-codebase.md +30 -0
- package/dist/template/.opencode/command/ship.md +199 -0
- package/dist/template/.opencode/command/start.md +316 -28
- package/dist/template/.opencode/command/status.md +24 -1
- package/dist/template/.opencode/command/ui-review.md +36 -7
- package/dist/template/.opencode/command/verify.md +307 -0
- package/dist/template/.opencode/memory/_templates/prd.md +29 -0
- package/dist/template/.opencode/memory/_templates/proposal.md +38 -0
- package/dist/template/.opencode/memory/_templates/spec.md +66 -0
- package/dist/template/.opencode/memory/_templates/tasks.md +198 -0
- package/dist/template/.opencode/memory/_templates/tech-stack.md +50 -0
- package/dist/template/.opencode/memory/project/tech-stack.md +53 -0
- package/dist/template/.opencode/memory/research/ccpm-analysis.md +334 -0
- package/dist/template/.opencode/memory/research/openspec-analysis.md +226 -0
- package/dist/template/.opencode/memory.db +0 -0
- package/dist/template/.opencode/memory.db-shm +0 -0
- package/dist/template/.opencode/memory.db-wal +0 -0
- package/dist/template/.opencode/opencode.json +18 -4
- package/dist/template/.opencode/package.json +1 -0
- package/dist/template/.opencode/plans/1770006237537-mighty-otter.md +418 -0
- package/dist/template/.opencode/plans/1770006913647-glowing-forest.md +170 -0
- package/dist/template/.opencode/plans/1770013678126-witty-planet.md +278 -0
- package/dist/template/.opencode/plugin/lib/memory-db.ts +828 -0
- package/dist/template/.opencode/plugin/memory.ts +38 -1
- package/dist/template/.opencode/skill/index-knowledge/SKILL.md +76 -31
- package/dist/template/.opencode/skill/memory-system/SKILL.md +110 -55
- package/dist/template/.opencode/skill/tool-priority/SKILL.md +2 -2
- package/dist/template/.opencode/tool/memory-get.ts +143 -0
- package/dist/template/.opencode/tool/memory-maintain.ts +167 -0
- package/dist/template/.opencode/tool/memory-migrate.ts +319 -0
- package/dist/template/.opencode/tool/memory-read.ts +17 -46
- package/dist/template/.opencode/tool/memory-search.ts +131 -28
- package/dist/template/.opencode/tool/memory-timeline.ts +105 -0
- package/dist/template/.opencode/tool/memory-update.ts +21 -26
- package/dist/template/.opencode/tool/observation.ts +112 -100
- package/dist/template/.opencode/tsconfig.json +19 -19
- package/package.json +1 -1
- package/dist/template/.opencode/command/accessibility-check.md +0 -331
- package/dist/template/.opencode/command/agent-browser.md +0 -21
- package/dist/template/.opencode/command/analyze-mockup.md +0 -423
- package/dist/template/.opencode/command/analyze-project.md +0 -295
- package/dist/template/.opencode/command/brainstorm.md +0 -373
- package/dist/template/.opencode/command/cloudflare.md +0 -70
- package/dist/template/.opencode/command/commit.md +0 -245
- package/dist/template/.opencode/command/complete-next-task.md +0 -77
- package/dist/template/.opencode/command/design-audit.md +0 -480
- package/dist/template/.opencode/command/edit-image.md +0 -242
- package/dist/template/.opencode/command/finish.md +0 -255
- package/dist/template/.opencode/command/fix-ci.md +0 -109
- package/dist/template/.opencode/command/fix-types.md +0 -104
- package/dist/template/.opencode/command/fix-ui.md +0 -117
- package/dist/template/.opencode/command/fix.md +0 -168
- package/dist/template/.opencode/command/frontend-design.md +0 -21
- package/dist/template/.opencode/command/generate-diagram.md +0 -349
- package/dist/template/.opencode/command/generate-icon.md +0 -283
- package/dist/template/.opencode/command/generate-image.md +0 -246
- package/dist/template/.opencode/command/generate-pattern.md +0 -247
- package/dist/template/.opencode/command/generate-storyboard.md +0 -250
- package/dist/template/.opencode/command/implement.md +0 -609
- package/dist/template/.opencode/command/import-plan.md +0 -406
- package/dist/template/.opencode/command/index-knowledge.md +0 -25
- package/dist/template/.opencode/command/integration-test.md +0 -424
- package/dist/template/.opencode/command/issue.md +0 -102
- package/dist/template/.opencode/command/new-feature.md +0 -651
- package/dist/template/.opencode/command/opensrc.md +0 -58
- package/dist/template/.opencode/command/quick-build.md +0 -238
- package/dist/template/.opencode/command/ralph.md +0 -41
- package/dist/template/.opencode/command/research-and-implement.md +0 -148
- package/dist/template/.opencode/command/research-ui.md +0 -466
- package/dist/template/.opencode/command/restore-image.md +0 -424
- package/dist/template/.opencode/command/revert-feature.md +0 -386
- package/dist/template/.opencode/command/skill-create.md +0 -517
- package/dist/template/.opencode/command/skill-optimize.md +0 -556
- package/dist/template/.opencode/command/summarize.md +0 -412
- package/dist/template/.opencode/command/triage.md +0 -398
- package/dist/template/.opencode/memory/_templates/README.md +0 -35
- package/dist/template/.opencode/memory/_templates/observation.md +0 -39
- package/dist/template/.opencode/memory/_templates/project/architecture.md +0 -60
- package/dist/template/.opencode/memory/_templates/project/commands.md +0 -72
- package/dist/template/.opencode/memory/_templates/project/conventions.md +0 -68
- package/dist/template/.opencode/memory/_templates/project/gotchas.md +0 -41
- package/dist/template/.opencode/memory/_templates/prompt-engineering.md +0 -333
- package/dist/template/.opencode/memory/observations/2026-01-22-decision-agents-md-prompt-engineering-improvement.md +0 -29
- package/dist/template/.opencode/memory/observations/2026-01-25-decision-agent-roles-build-orchestrates-general-e.md +0 -14
- package/dist/template/.opencode/memory/observations/2026-01-25-decision-simplified-swarm-helper-tool-to-fix-type.md +0 -20
- package/dist/template/.opencode/memory/observations/2026-01-25-decision-use-beads-as-swarm-board-source-of-truth.md +0 -14
- package/dist/template/.opencode/memory/observations/2026-01-25-learning-user-wants-real-swarm-coordination-guida.md +0 -15
- package/dist/template/.opencode/memory/observations/2026-01-28-decision-created-deep-research-skill-for-thorough.md +0 -29
- package/dist/template/.opencode/memory/observations/2026-01-28-decision-gh-grep-mcp-wrapper-vs-native-grep-searc.md +0 -21
- package/dist/template/.opencode/memory/observations/2026-01-28-decision-oracle-tool-optimal-usage-patterns.md +0 -32
- package/dist/template/.opencode/memory/observations/2026-01-28-learning-ampcode-deep-mode-research-integration-w.md +0 -42
- package/dist/template/.opencode/memory/observations/2026-01-28-pattern-research-delegation-pattern-explore-for-.md +0 -32
- package/dist/template/.opencode/memory/observations/2026-01-29-decision-copilot-auth-plugin-rate-limit-handling.md +0 -27
- package/dist/template/.opencode/memory/observations/2026-01-29-decision-spec-driven-approach-for-opencodekit.md +0 -21
- package/dist/template/.opencode/memory/observations/2026-01-29-learning-karpathy-llm-coding-insights-dec-2025.md +0 -44
- package/dist/template/.opencode/memory/observations/2026-01-30-decision-github-copilot-claude-routing-keep-disab.md +0 -32
- package/dist/template/.opencode/memory/observations/2026-01-30-discovery-context-management-research-critical-gap.md +0 -14
- package/dist/template/.opencode/memory/observations/2026-01-30-discovery-kimi-k2-5-agent-swarm-architecture-patte.md +0 -45
- package/dist/template/.opencode/memory/observations/2026-01-30-pattern-swarm-tools-architecture.md +0 -28
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-copilot-auth-plugin-updated-with-baseurl.md +0 -63
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-created-dedicated-worker-agent-for-swarm.md +0 -20
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-rollback-to-v1-1-47-for-copilot-claude-r.md +0 -21
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-simplified-swarm-to-task-tool-pattern.md +0 -44
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-swarm-architecture-task-tool-over-tmux.md +0 -33
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-worker-skills-defined-for-swarm-delegati.md +0 -30
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-gpt-reasoning-config-for-github-copilot.md +0 -51
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-copilot-auth-comparison-finding.md +0 -61
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-copilot-reasoning-architecture-.md +0 -66
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-custom-tools-api.md +0 -48
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-v1-1-48-skills-as-slash-command.md +0 -21
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-swarm-system-simplified-removed-mailbox-.md +0 -30
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-v1-1-48-native-copilot-reasoning-via-pr-.md +0 -45
- package/dist/template/.opencode/memory/observations/2026-01-31-warning-cannot-add-custom-config-to-opencode-jso.md +0 -18
- package/dist/template/.opencode/memory/observations/2026-01-31-warning-copilot-claude-v1-endpoint-returns-404-c.md +0 -48
- package/dist/template/.opencode/memory/observations/2026-01-31-warning-opencode-v1-1-48-claude-thinking-block-s.md +0 -51
- package/dist/template/.opencode/memory/project/architecture.md +0 -60
- package/dist/template/.opencode/memory/project/commands.md +0 -72
- package/dist/template/.opencode/memory/project/conventions.md +0 -68
- package/dist/template/.opencode/memory/project/gotchas.md +0 -41
- package/dist/template/.opencode/skill/notebooklm/SKILL.md +0 -272
- package/dist/template/.opencode/skill/notebooklm/references/setup.md +0 -353
- package/dist/template/.opencode/tool/notebooklm.ts +0 -488
- package/dist/template/.opencode/tool/oracle.ts +0 -240
- /package/dist/template/.opencode/memory/{user.example.md → _templates/user.md} +0 -0
- /package/dist/template/.opencode/memory/{user.md → project/user.md} +0 -0
|
@@ -1,480 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Audit design system from screenshots or codebase
|
|
3
|
-
argument-hint: "<screenshots-path|codebase|both> [output: tokens|report|both] [--quick|--deep]"
|
|
4
|
-
agent: vision
|
|
5
|
-
model: proxypal/gemini-3-pro-preview
|
|
6
|
-
subtask: true
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Design Audit: $ARGUMENTS
|
|
10
|
-
|
|
11
|
-
## Load Beads Skill
|
|
12
|
-
|
|
13
|
-
```typescript
|
|
14
|
-
skill({ name: "beads" });
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Phase 1: Source Detection & File Discovery
|
|
18
|
-
|
|
19
|
-
Parse `$ARGUMENTS`:
|
|
20
|
-
|
|
21
|
-
| Input | Action |
|
|
22
|
-
| ---------------- | ------------------------------------------ |
|
|
23
|
-
| Screenshots path | Analyze images for visual inventory |
|
|
24
|
-
| `codebase` | Search code for design tokens and patterns |
|
|
25
|
-
| `both` | Screenshots + codebase, then compare |
|
|
26
|
-
|
|
27
|
-
**Output format** (default: `both`):
|
|
28
|
-
|
|
29
|
-
- `tokens` - Design tokens JSON only
|
|
30
|
-
- `report` - Markdown audit report only
|
|
31
|
-
- `both` - Full audit with tokens and report
|
|
32
|
-
|
|
33
|
-
**Depth** (default: `--deep`):
|
|
34
|
-
|
|
35
|
-
- `--quick` - Top-level scan, major issues only (~5-10 min)
|
|
36
|
-
- `--deep` - Comprehensive audit with all categories (~20-30 min)
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## Phase 2: File Discovery (for codebase audit)
|
|
41
|
-
|
|
42
|
-
Search for design-related files:
|
|
43
|
-
|
|
44
|
-
```typescript
|
|
45
|
-
glob({ pattern: "**/tailwind.config.{js,ts,mjs}" });
|
|
46
|
-
glob({ pattern: "**/globals.css" });
|
|
47
|
-
glob({ pattern: "**/variables.css" });
|
|
48
|
-
glob({ pattern: "**/tokens.{json,js,ts}" });
|
|
49
|
-
glob({ pattern: "**/theme.{js,ts}" });
|
|
50
|
-
glob({ pattern: "**/*.css.ts" }); // vanilla-extract, etc.
|
|
51
|
-
|
|
52
|
-
glob({ pattern: "**/components/**/*.{tsx,jsx,vue}" });
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
**Detect design system in use:**
|
|
56
|
-
|
|
57
|
-
| Pattern Found | System |
|
|
58
|
-
| ---------------------------- | ---------------- |
|
|
59
|
-
| `@shadcn/ui` in package.json | shadcn/ui |
|
|
60
|
-
| `@mui/material` | Material UI |
|
|
61
|
-
| `@radix-ui/*` | Radix Primitives |
|
|
62
|
-
| `@chakra-ui/*` | Chakra UI |
|
|
63
|
-
| Tailwind config only | Custom Tailwind |
|
|
64
|
-
| CSS variables only | Custom system |
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## Phase 3: Token Extraction
|
|
69
|
-
|
|
70
|
-
skill({ name: "design-system-audit" })
|
|
71
|
-
|
|
72
|
-
### For Screenshots
|
|
73
|
-
|
|
74
|
-
Analyze all images and extract:
|
|
75
|
-
|
|
76
|
-
```
|
|
77
|
-
1. COLOR PALETTE
|
|
78
|
-
- Primary colors (brand)
|
|
79
|
-
- Secondary colors
|
|
80
|
-
- Neutral/gray scale (should be 8-12 shades)
|
|
81
|
-
- Semantic colors (success, warning, error, info)
|
|
82
|
-
- Accent colors
|
|
83
|
-
|
|
84
|
-
2. TYPOGRAPHY SCALE
|
|
85
|
-
- Font families (sans, serif, mono)
|
|
86
|
-
- Heading sizes (H1-H6)
|
|
87
|
-
- Body text sizes (xs, sm, base, lg, xl)
|
|
88
|
-
- Font weights used
|
|
89
|
-
- Line heights
|
|
90
|
-
|
|
91
|
-
3. SPACING PATTERNS
|
|
92
|
-
- Base unit (typically 4px or 8px)
|
|
93
|
-
- Common padding values
|
|
94
|
-
- Common margin values
|
|
95
|
-
- Gap patterns
|
|
96
|
-
|
|
97
|
-
4. BORDER & SHADOW
|
|
98
|
-
- Border radius values
|
|
99
|
-
- Border widths
|
|
100
|
-
- Shadow definitions
|
|
101
|
-
|
|
102
|
-
5. COMPONENT VARIANTS
|
|
103
|
-
- Button styles (primary, secondary, outline, ghost)
|
|
104
|
-
- Input field styles
|
|
105
|
-
- Card variations
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
### For Codebase
|
|
109
|
-
|
|
110
|
-
Search for hardcoded values using grep:
|
|
111
|
-
|
|
112
|
-
```typescript
|
|
113
|
-
grep({ pattern: "color:", include: "*.{css,scss,tsx,jsx}" });
|
|
114
|
-
grep({ pattern: "background:", include: "*.{css,scss,tsx,jsx}" });
|
|
115
|
-
grep({ pattern: "#[0-9a-fA-F]{3,8}", include: "*.{css,scss,tsx,jsx}" });
|
|
116
|
-
grep({ pattern: "rgb\\(", include: "*.{css,scss,tsx,jsx}" });
|
|
117
|
-
grep({ pattern: "hsl\\(", include: "*.{css,scss,tsx,jsx}" });
|
|
118
|
-
|
|
119
|
-
grep({ pattern: "[0-9]+px", include: "*.{css,scss,tsx,jsx}" });
|
|
120
|
-
grep({ pattern: "[0-9]+rem", include: "*.{css,scss,tsx,jsx}" });
|
|
121
|
-
|
|
122
|
-
grep({ pattern: "font-size:", include: "*.css" });
|
|
123
|
-
grep({ pattern: "fontSize:", include: "*.{tsx,jsx}" });
|
|
124
|
-
grep({ pattern: "className=", include: "*.{tsx,jsx}" }); // then analyze for arbitrary values
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## Phase 4: Consistency Analysis
|
|
130
|
-
|
|
131
|
-
Compare findings and identify issues:
|
|
132
|
-
|
|
133
|
-
### Consistency Score Calculation
|
|
134
|
-
|
|
135
|
-
```
|
|
136
|
-
Score = 100 - (penalties)
|
|
137
|
-
|
|
138
|
-
Penalties:
|
|
139
|
-
- Each one-off color: -2 points (max -20)
|
|
140
|
-
- Each duplicate/similar color (ΔE < 5): -1 point (max -10)
|
|
141
|
-
- Missing semantic token: -3 points (max -15)
|
|
142
|
-
- Inconsistent spacing (not on base grid): -1 point (max -10)
|
|
143
|
-
- Typography not in scale: -2 points (max -10)
|
|
144
|
-
- Hardcoded values in components: -1 point per 5 instances (max -15)
|
|
145
|
-
- No dark mode support: -10 points
|
|
146
|
-
- Missing focus states: -10 points
|
|
147
|
-
|
|
148
|
-
Score interpretation:
|
|
149
|
-
90-100: Excellent - Well-maintained design system
|
|
150
|
-
70-89: Good - Minor inconsistencies
|
|
151
|
-
50-69: Fair - Needs attention
|
|
152
|
-
<50: Poor - Significant design debt
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
### Issue Categories
|
|
156
|
-
|
|
157
|
-
| Category | Check For |
|
|
158
|
-
| --------------------- | --------------------------------------------- |
|
|
159
|
-
| **Duplicates** | Colors within ΔE < 5, similar spacing values |
|
|
160
|
-
| **One-offs** | Values used only once, not in token file |
|
|
161
|
-
| **Missing Semantics** | Using primitives where semantic tokens needed |
|
|
162
|
-
| **Hardcoded** | Values in components instead of tokens |
|
|
163
|
-
| **Naming** | Inconsistent naming conventions |
|
|
164
|
-
| **Accessibility** | Contrast ratios, focus states |
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
## Phase 5: Theme Analysis
|
|
169
|
-
|
|
170
|
-
### Light/Dark Mode Coverage
|
|
171
|
-
|
|
172
|
-
| Token | Light Value | Dark Value | Status |
|
|
173
|
-
| ------------ | ----------- | ---------- | ------- |
|
|
174
|
-
| --background | #FFFFFF | #0A0A0A | Covered |
|
|
175
|
-
| --foreground | #0A0A0A | #FAFAFA | Covered |
|
|
176
|
-
| --primary | #0066CC | #3B82F6 | Covered |
|
|
177
|
-
| --muted | #F3F4F6 | ??? | MISSING |
|
|
178
|
-
|
|
179
|
-
### Semantic Token Completeness
|
|
180
|
-
|
|
181
|
-
```markdown
|
|
182
|
-
## Required Semantic Tokens
|
|
183
|
-
|
|
184
|
-
### Colors
|
|
185
|
-
|
|
186
|
-
- [x] background (default, muted, subtle)
|
|
187
|
-
- [x] foreground (default, muted, subtle)
|
|
188
|
-
- [x] primary (default, hover, active)
|
|
189
|
-
- [x] secondary
|
|
190
|
-
- [ ] accent (MISSING)
|
|
191
|
-
- [x] destructive/error
|
|
192
|
-
- [x] success
|
|
193
|
-
- [ ] warning (MISSING)
|
|
194
|
-
- [x] border
|
|
195
|
-
- [x] ring/focus
|
|
196
|
-
|
|
197
|
-
### Typography
|
|
198
|
-
|
|
199
|
-
- [x] font-sans
|
|
200
|
-
- [x] font-mono
|
|
201
|
-
- [ ] font-serif (optional)
|
|
202
|
-
|
|
203
|
-
### Spacing
|
|
204
|
-
|
|
205
|
-
- [x] Base unit defined
|
|
206
|
-
- [x] Scale follows pattern (4, 8, 12, 16, 24, 32, 48, 64)
|
|
207
|
-
|
|
208
|
-
### Borders
|
|
209
|
-
|
|
210
|
-
- [x] radius scale (sm, md, lg, full)
|
|
211
|
-
- [x] border-width (default)
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
---
|
|
215
|
-
|
|
216
|
-
## Phase 6: Audit Report Output
|
|
217
|
-
|
|
218
|
-
### Summary Dashboard
|
|
219
|
-
|
|
220
|
-
| Metric | Value | Target | Status |
|
|
221
|
-
| --------------------- | ---------- | ------ | ------ |
|
|
222
|
-
| Unique colors | 47 | < 30 | Over |
|
|
223
|
-
| Color duplicates | 8 | 0 | Issue |
|
|
224
|
-
| Spacing values | 12 | 8-12 | OK |
|
|
225
|
-
| Typography variants | 9 | 6-10 | OK |
|
|
226
|
-
| One-off values | 23 | 0 | Issue |
|
|
227
|
-
| Dark mode coverage | 85% | 100% | Issue |
|
|
228
|
-
| **Consistency Score** | **72/100** | > 80 | Fair |
|
|
229
|
-
|
|
230
|
-
### Findings by Category
|
|
231
|
-
|
|
232
|
-
#### Colors (High Priority)
|
|
233
|
-
|
|
234
|
-
| Severity | Issue | Location | Recommendation |
|
|
235
|
-
| -------- | --------------------- | ---------- | ------------------------------ |
|
|
236
|
-
| Critical | 8 duplicate blues | Various | Consolidate to --primary scale |
|
|
237
|
-
| Warning | 15 one-off grays | Components | Create --gray scale |
|
|
238
|
-
| Info | No semantic "warning" | Theme | Add --warning token |
|
|
239
|
-
|
|
240
|
-
#### Typography (Medium Priority)
|
|
241
|
-
|
|
242
|
-
| Severity | Issue | Location | Recommendation |
|
|
243
|
-
| -------- | ------------------------ | ------------------- | ----------------------- |
|
|
244
|
-
| Warning | 3 undefined sizes | Card.tsx, Modal.tsx | Add to typography scale |
|
|
245
|
-
| Info | Inconsistent line-height | Body text | Standardize to 1.5 |
|
|
246
|
-
|
|
247
|
-
#### Spacing (Low Priority)
|
|
248
|
-
|
|
249
|
-
| Severity | Issue | Location | Recommendation |
|
|
250
|
-
| -------- | -------------------- | ---------------- | -------------------- |
|
|
251
|
-
| Info | 5 values not on grid | Padding in cards | Round to nearest 4px |
|
|
252
|
-
|
|
253
|
-
### Priority Actions
|
|
254
|
-
|
|
255
|
-
#### High Priority (Fix This Week)
|
|
256
|
-
|
|
257
|
-
1. Consolidate 8 duplicate blue colors → single `--primary` scale
|
|
258
|
-
2. Add dark mode values for 5 missing tokens
|
|
259
|
-
3. Create `--warning` semantic token
|
|
260
|
-
|
|
261
|
-
#### Medium Priority (Fix This Sprint)
|
|
262
|
-
|
|
263
|
-
1. Replace 15 one-off grays with `--gray` scale
|
|
264
|
-
2. Add missing typography sizes to scale
|
|
265
|
-
|
|
266
|
-
#### Low Priority (Design Debt)
|
|
267
|
-
|
|
268
|
-
1. Round spacing values to base-4 grid
|
|
269
|
-
2. Document token naming conventions
|
|
270
|
-
|
|
271
|
-
---
|
|
272
|
-
|
|
273
|
-
## Phase 7: Token Export
|
|
274
|
-
|
|
275
|
-
### Design Tokens JSON
|
|
276
|
-
|
|
277
|
-
```json
|
|
278
|
-
{
|
|
279
|
-
"color": {
|
|
280
|
-
"primitive": {
|
|
281
|
-
"blue": {
|
|
282
|
-
"50": "#EFF6FF",
|
|
283
|
-
"100": "#DBEAFE",
|
|
284
|
-
"200": "#BFDBFE",
|
|
285
|
-
"300": "#93C5FD",
|
|
286
|
-
"400": "#60A5FA",
|
|
287
|
-
"500": "#3B82F6",
|
|
288
|
-
"600": "#2563EB",
|
|
289
|
-
"700": "#1D4ED8",
|
|
290
|
-
"800": "#1E40AF",
|
|
291
|
-
"900": "#1E3A8A"
|
|
292
|
-
},
|
|
293
|
-
"gray": {
|
|
294
|
-
"50": "#F9FAFB",
|
|
295
|
-
"100": "#F3F4F6",
|
|
296
|
-
"200": "#E5E7EB",
|
|
297
|
-
"300": "#D1D5DB",
|
|
298
|
-
"400": "#9CA3AF",
|
|
299
|
-
"500": "#6B7280",
|
|
300
|
-
"600": "#4B5563",
|
|
301
|
-
"700": "#374151",
|
|
302
|
-
"800": "#1F2937",
|
|
303
|
-
"900": "#111827"
|
|
304
|
-
}
|
|
305
|
-
},
|
|
306
|
-
"semantic": {
|
|
307
|
-
"background": {
|
|
308
|
-
"DEFAULT": "{color.primitive.white}",
|
|
309
|
-
"muted": "{color.primitive.gray.100}"
|
|
310
|
-
},
|
|
311
|
-
"foreground": {
|
|
312
|
-
"DEFAULT": "{color.primitive.gray.900}",
|
|
313
|
-
"muted": "{color.primitive.gray.500}"
|
|
314
|
-
},
|
|
315
|
-
"primary": {
|
|
316
|
-
"DEFAULT": "{color.primitive.blue.600}",
|
|
317
|
-
"hover": "{color.primitive.blue.700}"
|
|
318
|
-
},
|
|
319
|
-
"destructive": { "DEFAULT": "#EF4444", "hover": "#DC2626" },
|
|
320
|
-
"success": { "DEFAULT": "#10B981", "hover": "#059669" },
|
|
321
|
-
"warning": { "DEFAULT": "#F59E0B", "hover": "#D97706" },
|
|
322
|
-
"border": "{color.primitive.gray.200}",
|
|
323
|
-
"ring": "{color.primitive.blue.500}"
|
|
324
|
-
}
|
|
325
|
-
},
|
|
326
|
-
"spacing": {
|
|
327
|
-
"0": "0",
|
|
328
|
-
"1": "0.25rem",
|
|
329
|
-
"2": "0.5rem",
|
|
330
|
-
"3": "0.75rem",
|
|
331
|
-
"4": "1rem",
|
|
332
|
-
"5": "1.25rem",
|
|
333
|
-
"6": "1.5rem",
|
|
334
|
-
"8": "2rem",
|
|
335
|
-
"10": "2.5rem",
|
|
336
|
-
"12": "3rem",
|
|
337
|
-
"16": "4rem",
|
|
338
|
-
"20": "5rem"
|
|
339
|
-
},
|
|
340
|
-
"typography": {
|
|
341
|
-
"fontFamily": {
|
|
342
|
-
"sans": "Inter, system-ui, sans-serif",
|
|
343
|
-
"mono": "JetBrains Mono, monospace"
|
|
344
|
-
},
|
|
345
|
-
"fontSize": {
|
|
346
|
-
"xs": ["0.75rem", { "lineHeight": "1rem" }],
|
|
347
|
-
"sm": ["0.875rem", { "lineHeight": "1.25rem" }],
|
|
348
|
-
"base": ["1rem", { "lineHeight": "1.5rem" }],
|
|
349
|
-
"lg": ["1.125rem", { "lineHeight": "1.75rem" }],
|
|
350
|
-
"xl": ["1.25rem", { "lineHeight": "1.75rem" }],
|
|
351
|
-
"2xl": ["1.5rem", { "lineHeight": "2rem" }],
|
|
352
|
-
"3xl": ["1.875rem", { "lineHeight": "2.25rem" }],
|
|
353
|
-
"4xl": ["2.25rem", { "lineHeight": "2.5rem" }]
|
|
354
|
-
}
|
|
355
|
-
},
|
|
356
|
-
"borderRadius": {
|
|
357
|
-
"none": "0",
|
|
358
|
-
"sm": "0.125rem",
|
|
359
|
-
"DEFAULT": "0.25rem",
|
|
360
|
-
"md": "0.375rem",
|
|
361
|
-
"lg": "0.5rem",
|
|
362
|
-
"xl": "0.75rem",
|
|
363
|
-
"2xl": "1rem",
|
|
364
|
-
"full": "9999px"
|
|
365
|
-
},
|
|
366
|
-
"shadow": {
|
|
367
|
-
"sm": "0 1px 2px 0 rgb(0 0 0 / 0.05)",
|
|
368
|
-
"DEFAULT": "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",
|
|
369
|
-
"md": "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
|
|
370
|
-
"lg": "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)"
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
```
|
|
374
|
-
|
|
375
|
-
### CSS Variables Output
|
|
376
|
-
|
|
377
|
-
```css
|
|
378
|
-
:root {
|
|
379
|
-
/* Primitives */
|
|
380
|
-
--color-blue-500: #3b82f6;
|
|
381
|
-
--color-blue-600: #2563eb;
|
|
382
|
-
--color-gray-100: #f3f4f6;
|
|
383
|
-
--color-gray-900: #111827;
|
|
384
|
-
|
|
385
|
-
/* Semantics */
|
|
386
|
-
--background: #ffffff;
|
|
387
|
-
--foreground: #111827;
|
|
388
|
-
--primary: #2563eb;
|
|
389
|
-
--primary-hover: #1d4ed8;
|
|
390
|
-
--muted: #f3f4f6;
|
|
391
|
-
--muted-foreground: #6b7280;
|
|
392
|
-
--border: #e5e7eb;
|
|
393
|
-
--ring: #3b82f6;
|
|
394
|
-
|
|
395
|
-
/* Typography */
|
|
396
|
-
--font-sans: Inter, system-ui, sans-serif;
|
|
397
|
-
--font-mono: JetBrains Mono, monospace;
|
|
398
|
-
|
|
399
|
-
/* Spacing */
|
|
400
|
-
--space-1: 0.25rem;
|
|
401
|
-
--space-2: 0.5rem;
|
|
402
|
-
--space-4: 1rem;
|
|
403
|
-
--space-6: 1.5rem;
|
|
404
|
-
--space-8: 2rem;
|
|
405
|
-
|
|
406
|
-
/* Radius */
|
|
407
|
-
--radius-sm: 0.125rem;
|
|
408
|
-
--radius-md: 0.375rem;
|
|
409
|
-
--radius-lg: 0.5rem;
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
.dark {
|
|
413
|
-
--background: #0a0a0a;
|
|
414
|
-
--foreground: #fafafa;
|
|
415
|
-
--muted: #262626;
|
|
416
|
-
--muted-foreground: #a3a3a3;
|
|
417
|
-
--border: #262626;
|
|
418
|
-
}
|
|
419
|
-
```
|
|
420
|
-
|
|
421
|
-
---
|
|
422
|
-
|
|
423
|
-
## Phase 8: Create Tracking Issues
|
|
424
|
-
|
|
425
|
-
For high-priority findings:
|
|
426
|
-
|
|
427
|
-
```bash
|
|
428
|
-
bd create "[Design] Consolidate duplicate blue colors" -t task -p 1
|
|
429
|
-
bd create "[Design] Add missing dark mode tokens" -t task -p 1
|
|
430
|
-
```
|
|
431
|
-
|
|
432
|
-
---
|
|
433
|
-
|
|
434
|
-
## Storage
|
|
435
|
-
|
|
436
|
-
Save outputs to:
|
|
437
|
-
|
|
438
|
-
- **Tokens**: `.opencode/memory/design/tokens/[project]-tokens.json`
|
|
439
|
-
- **Report**: `.opencode/memory/design/audits/[date]-audit.md`
|
|
440
|
-
- **CSS**: `.opencode/memory/design/tokens/[project]-variables.css`
|
|
441
|
-
|
|
442
|
-
---
|
|
443
|
-
|
|
444
|
-
## Examples
|
|
445
|
-
|
|
446
|
-
```bash
|
|
447
|
-
# Audit from screenshots
|
|
448
|
-
/design-audit designs/screens/ --deep
|
|
449
|
-
|
|
450
|
-
# Audit codebase only
|
|
451
|
-
/design-audit codebase tokens
|
|
452
|
-
|
|
453
|
-
# Full audit with comparison
|
|
454
|
-
/design-audit both report --deep
|
|
455
|
-
|
|
456
|
-
# Quick consistency check
|
|
457
|
-
/design-audit codebase --quick
|
|
458
|
-
```
|
|
459
|
-
|
|
460
|
-
---
|
|
461
|
-
|
|
462
|
-
## Follow-up Commands
|
|
463
|
-
|
|
464
|
-
| Finding | Command |
|
|
465
|
-
| ------------------------ | -------------------------------------------- |
|
|
466
|
-
| Need to implement tokens | `/design src/styles/tokens.css` |
|
|
467
|
-
| Fix specific component | `/fix-ui src/components/Button.tsx` |
|
|
468
|
-
| Accessibility issues | `/accessibility-check` |
|
|
469
|
-
| Compare to mockup | `/analyze-mockup designs/spec.png --compare` |
|
|
470
|
-
|
|
471
|
-
---
|
|
472
|
-
|
|
473
|
-
## Related Skills
|
|
474
|
-
|
|
475
|
-
| Need | Skill |
|
|
476
|
-
| ---------------------- | --------------------- |
|
|
477
|
-
| Aesthetic improvements | `frontend-design` |
|
|
478
|
-
| Implement from mockup | `mockup-to-code` |
|
|
479
|
-
| Accessibility audit | `accessibility-audit` |
|
|
480
|
-
| Visual analysis | `visual-analysis` |
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Edit image with natural language instructions
|
|
3
|
-
argument-hint: "<image-path> <edit-instruction> [--hd] [--preserve-size] [--compare]"
|
|
4
|
-
agent: painter
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Edit Image: $ARGUMENTS
|
|
8
|
-
|
|
9
|
-
Edit an existing image using natural language instructions.
|
|
10
|
-
|
|
11
|
-
## Parse Arguments
|
|
12
|
-
|
|
13
|
-
Extract from `$ARGUMENTS`:
|
|
14
|
-
|
|
15
|
-
| Argument | Required | Description |
|
|
16
|
-
| ----------------- | -------- | ------------------------------ |
|
|
17
|
-
| Image path | Yes | Path to source image |
|
|
18
|
-
| Edit instruction | Yes | Natural language edit request |
|
|
19
|
-
| `--hd` | No | Higher quality output (slower) |
|
|
20
|
-
| `--preserve-size` | No | Maintain original dimensions |
|
|
21
|
-
| `--compare` | No | Output before/after comparison |
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## Edit Types & What Works
|
|
26
|
-
|
|
27
|
-
### Works Well
|
|
28
|
-
|
|
29
|
-
| Edit Type | Example | Success Rate |
|
|
30
|
-
| -------------------------- | ----------------------------------------- | ------------ |
|
|
31
|
-
| **Background removal** | "remove the background" | High |
|
|
32
|
-
| **Background replacement** | "replace background with beach sunset" | High |
|
|
33
|
-
| **Color changes** | "change the shirt to blue" | High |
|
|
34
|
-
| **Style transfer** | "make it look like a watercolor painting" | High |
|
|
35
|
-
| **Add elements** | "add a hat to the person" | Medium-High |
|
|
36
|
-
| **Remove objects** | "remove the car from the image" | Medium-High |
|
|
37
|
-
| **Lighting adjustments** | "make it look like golden hour" | High |
|
|
38
|
-
| **Extend canvas** | "extend the image to the right" | Medium |
|
|
39
|
-
|
|
40
|
-
### Works Poorly (Set Expectations)
|
|
41
|
-
|
|
42
|
-
| Edit Type | Why It's Hard | Alternative |
|
|
43
|
-
| ------------------------------- | ------------------------------ | ----------------------- |
|
|
44
|
-
| **Text changes** | AI struggles with precise text | Use image editor |
|
|
45
|
-
| **Face/hand details** | Often distorts | Mask specific region |
|
|
46
|
-
| **Precise positioning** | "Move object 50px left" | Use coordinates in mask |
|
|
47
|
-
| **Multiple simultaneous edits** | Conflicts | Do one edit at a time |
|
|
48
|
-
| **Preserving fine details** | May blur/change | Use `--preserve-size` |
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## Process
|
|
53
|
-
|
|
54
|
-
1. **Load** the source image from path
|
|
55
|
-
2. **Analyze** the original (note key features to preserve)
|
|
56
|
-
3. **Interpret** the edit instruction
|
|
57
|
-
4. **Apply** the edit, preserving unaffected areas
|
|
58
|
-
5. **Save** with versioning to track iterations
|
|
59
|
-
6. **Compare** if `--compare` flag set
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## Common Edit Patterns
|
|
64
|
-
|
|
65
|
-
### Background Operations
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
# Remove background (transparent)
|
|
69
|
-
/edit-image photo.jpg remove the background
|
|
70
|
-
|
|
71
|
-
# Replace background
|
|
72
|
-
/edit-image photo.jpg replace background with a modern office
|
|
73
|
-
|
|
74
|
-
# Extend/outpaint
|
|
75
|
-
/edit-image landscape.jpg extend the sky upward
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### Color & Style
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
# Color change
|
|
82
|
-
/edit-image product.jpg change the product color to red
|
|
83
|
-
|
|
84
|
-
# Style transfer
|
|
85
|
-
/edit-image photo.jpg convert to anime style
|
|
86
|
-
|
|
87
|
-
# Mood change
|
|
88
|
-
/edit-image scene.jpg make it look like nighttime with city lights
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### Object Manipulation
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
# Add object
|
|
95
|
-
/edit-image room.jpg add a plant in the corner
|
|
96
|
-
|
|
97
|
-
# Remove object
|
|
98
|
-
/edit-image street.jpg remove the person on the left
|
|
99
|
-
|
|
100
|
-
# Replace object
|
|
101
|
-
/edit-image desk.jpg replace the laptop with a typewriter
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### Enhancement
|
|
105
|
-
|
|
106
|
-
```bash
|
|
107
|
-
# Lighting
|
|
108
|
-
/edit-image portrait.jpg add dramatic studio lighting
|
|
109
|
-
|
|
110
|
-
# Quality
|
|
111
|
-
/edit-image old-photo.jpg enhance and sharpen, remove grain --hd
|
|
112
|
-
|
|
113
|
-
# Composition
|
|
114
|
-
/edit-image product.jpg add subtle shadow underneath
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## Output
|
|
120
|
-
|
|
121
|
-
### Standard Output
|
|
122
|
-
|
|
123
|
-
```markdown
|
|
124
|
-
## Edit Complete
|
|
125
|
-
|
|
126
|
-
**Source:** `path/to/original.jpg`
|
|
127
|
-
**Edit:** "remove the background"
|
|
128
|
-
**Output:** `.opencode/memory/design/edited/original-v1-bg-removed.png`
|
|
129
|
-
|
|
130
|
-
### Original Analysis
|
|
131
|
-
|
|
132
|
-
- Dimensions: 1920x1080
|
|
133
|
-
- Key elements: Person in center, office background
|
|
134
|
-
- Preserved: Person, clothing, pose
|
|
135
|
-
|
|
136
|
-
### Edit Applied
|
|
137
|
-
|
|
138
|
-
- Background detected and removed
|
|
139
|
-
- Edges refined with feathering
|
|
140
|
-
- Output format: PNG (transparent)
|
|
141
|
-
|
|
142
|
-
### Refinements Available
|
|
143
|
-
|
|
144
|
-
- "Soften the edges more"
|
|
145
|
-
- "Keep the shadow underneath"
|
|
146
|
-
- "Make background white instead of transparent"
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
### Comparison Output (--compare)
|
|
150
|
-
|
|
151
|
-
```markdown
|
|
152
|
-
## Before/After Comparison
|
|
153
|
-
|
|
154
|
-
| Aspect | Before | After |
|
|
155
|
-
| ---------- | ------------ | ----------- |
|
|
156
|
-
| Background | Office scene | Transparent |
|
|
157
|
-
| Subject | Unchanged | Unchanged |
|
|
158
|
-
| Dimensions | 1920x1080 | 1920x1080 |
|
|
159
|
-
| File size | 450KB | 380KB |
|
|
160
|
-
|
|
161
|
-
**Visual diff:** Key changes highlighted in output
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
## Version History
|
|
167
|
-
|
|
168
|
-
Edits are saved with version tracking:
|
|
169
|
-
|
|
170
|
-
```
|
|
171
|
-
.opencode/memory/design/edited/
|
|
172
|
-
├── photo-v1-bg-removed.png # First edit
|
|
173
|
-
├── photo-v2-color-change.png # Second edit
|
|
174
|
-
├── photo-v3-add-shadow.png # Third edit
|
|
175
|
-
└── photo-history.json # Edit history
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
**History file:**
|
|
179
|
-
|
|
180
|
-
```json
|
|
181
|
-
{
|
|
182
|
-
"source": "photo.jpg",
|
|
183
|
-
"edits": [
|
|
184
|
-
{ "v": 1, "instruction": "remove background", "timestamp": "..." },
|
|
185
|
-
{ "v": 2, "instruction": "change shirt to blue", "timestamp": "..." }
|
|
186
|
-
]
|
|
187
|
-
}
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
To revert: Reference previous version as source.
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
## Tips for Better Results
|
|
195
|
-
|
|
196
|
-
1. **Be specific**: "Add a red baseball cap" > "add a hat"
|
|
197
|
-
2. **One edit at a time**: Chain simple edits for complex changes
|
|
198
|
-
3. **Describe what to keep**: "Change background but keep the shadow"
|
|
199
|
-
4. **Use style references**: "Make it look like a Pixar movie"
|
|
200
|
-
5. **Specify format needs**: "Remove background, keep as PNG with transparency"
|
|
201
|
-
|
|
202
|
-
---
|
|
203
|
-
|
|
204
|
-
## Limitations
|
|
205
|
-
|
|
206
|
-
- **Text editing**: AI cannot reliably modify or add text
|
|
207
|
-
- **Precise geometry**: Exact pixel-level positioning not supported
|
|
208
|
-
- **Faces**: May alter facial features unintentionally
|
|
209
|
-
- **Hands**: Often produces artifacts
|
|
210
|
-
- **Multiple subjects**: May struggle to isolate specific elements
|
|
211
|
-
- **Brand logos**: May distort or refuse (safety filters)
|
|
212
|
-
|
|
213
|
-
For precise edits, consider: Photoshop, GIMP, or Figma.
|
|
214
|
-
|
|
215
|
-
---
|
|
216
|
-
|
|
217
|
-
## Examples
|
|
218
|
-
|
|
219
|
-
```bash
|
|
220
|
-
# Basic edit
|
|
221
|
-
/edit-image screenshot.png remove the background
|
|
222
|
-
|
|
223
|
-
# High quality with comparison
|
|
224
|
-
/edit-image product.jpg enhance lighting and add reflection --hd --compare
|
|
225
|
-
|
|
226
|
-
# Preserve dimensions
|
|
227
|
-
/edit-image banner.png change the color scheme to dark mode --preserve-size
|
|
228
|
-
|
|
229
|
-
# Style transfer
|
|
230
|
-
/edit-image photo.jpg convert to oil painting style --hd
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
---
|
|
234
|
-
|
|
235
|
-
## Related Commands
|
|
236
|
-
|
|
237
|
-
| Need | Command |
|
|
238
|
-
| ------------------ | ----------------- |
|
|
239
|
-
| Generate new image | `/generate-image` |
|
|
240
|
-
| Analyze image | `/analyze-mockup` |
|
|
241
|
-
| Restore old photo | `/restore-image` |
|
|
242
|
-
| Create icon | `/generate-icon` |
|