oxycode-skills 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +143 -0
- package/index.js +17 -0
- package/package.json +49 -0
- package/skills/anti-slop/README.md +106 -0
- package/skills/anti-slop/SKILL.md +311 -0
- package/skills/anti-slop/examples/before-after.md +380 -0
- package/skills/anti-slop/references/quality-rubric.md +313 -0
- package/skills/anti-slop/references/slop-patterns.md +433 -0
- package/skills/component-architect/README.md +186 -0
- package/skills/component-architect/SKILL.md +644 -0
- package/skills/component-architect/examples/component-patterns.md +569 -0
- package/skills/component-architect/references/atomic-design.md +516 -0
- package/skills/design-audit/README.md +114 -0
- package/skills/design-audit/SKILL.md +305 -0
- package/skills/design-audit/examples/audit-report.md +424 -0
- package/skills/design-audit/references/scoring-rubric.md +498 -0
- package/skills/design-md/README.md +106 -0
- package/skills/design-md/SKILL.md +262 -0
- package/skills/design-md/examples/bad-design.md +195 -0
- package/skills/design-md/examples/good-design.md +250 -0
- package/skills/design-md/references/design-md-spec.md +267 -0
- package/skills/design-md/scripts/validate.sh +134 -0
- package/skills/ui-builder/README.md +169 -0
- package/skills/ui-builder/SKILL.md +357 -0
- package/skills/ui-builder/examples/dashboard.md +323 -0
- package/skills/ui-builder/examples/landing-page.md +396 -0
- package/skills/ui-builder/references/component-patterns.md +396 -0
- package/skills/ui-builder/references/layout-system.md +423 -0
- package/skills/ui-builder/references/polish-checklist.md +221 -0
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
# design-audit
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Score UI quality across 10 dimensions and generate a ranked fix list with code snippets. Provides comprehensive design audit with actionable recommendations.
|
|
6
|
+
|
|
7
|
+
## Trigger
|
|
8
|
+
|
|
9
|
+
Use this skill when:
|
|
10
|
+
- User wants to review UI quality
|
|
11
|
+
- User asks "how good is this UI?"
|
|
12
|
+
- User wants a design audit
|
|
13
|
+
- User says "audit this design" or "score this UI"
|
|
14
|
+
- Before shipping UI code
|
|
15
|
+
|
|
16
|
+
## Instructions
|
|
17
|
+
|
|
18
|
+
### Step 1: Analyze the UI
|
|
19
|
+
|
|
20
|
+
Examine the code for these 10 dimensions:
|
|
21
|
+
|
|
22
|
+
#### 1. Color System (10 points)
|
|
23
|
+
- Uses design tokens
|
|
24
|
+
- Proper color hierarchy
|
|
25
|
+
- Semantic colors (success, warning, error)
|
|
26
|
+
- No random colors
|
|
27
|
+
- Good contrast ratios
|
|
28
|
+
|
|
29
|
+
#### 2. Typography (10 points)
|
|
30
|
+
- Consistent font family
|
|
31
|
+
- Proper type scale
|
|
32
|
+
- Correct font weights
|
|
33
|
+
- Readable line heights
|
|
34
|
+
- No orphan headings
|
|
35
|
+
|
|
36
|
+
#### 3. Spacing (10 points)
|
|
37
|
+
- Consistent spacing scale
|
|
38
|
+
- Proper padding/margins
|
|
39
|
+
- Visual rhythm maintained
|
|
40
|
+
- No cramped elements
|
|
41
|
+
- No excessive whitespace
|
|
42
|
+
|
|
43
|
+
#### 4. Layout (10 points)
|
|
44
|
+
- Proper grid/flex usage
|
|
45
|
+
- Responsive design
|
|
46
|
+
- No overflow issues
|
|
47
|
+
- Clean alignment
|
|
48
|
+
- Consistent gutters
|
|
49
|
+
|
|
50
|
+
#### 5. Components (10 points)
|
|
51
|
+
- Consistent styling
|
|
52
|
+
- Proper states (hover, focus, active)
|
|
53
|
+
- Accessible
|
|
54
|
+
- Reusable
|
|
55
|
+
- Well-structured
|
|
56
|
+
|
|
57
|
+
#### 6. Accessibility (10 points)
|
|
58
|
+
- Semantic HTML
|
|
59
|
+
- ARIA attributes
|
|
60
|
+
- Keyboard navigation
|
|
61
|
+
- Color contrast
|
|
62
|
+
- Screen reader support
|
|
63
|
+
|
|
64
|
+
#### 7. Visual Hierarchy (10 points)
|
|
65
|
+
- Clear focal points
|
|
66
|
+
- Proper size contrast
|
|
67
|
+
- Weight contrast
|
|
68
|
+
- Color contrast
|
|
69
|
+
- Spacing contrast
|
|
70
|
+
|
|
71
|
+
#### 8. Consistency (10 points)
|
|
72
|
+
- Consistent patterns
|
|
73
|
+
- Consistent naming
|
|
74
|
+
- Consistent spacing
|
|
75
|
+
- Consistent colors
|
|
76
|
+
- Consistent typography
|
|
77
|
+
|
|
78
|
+
#### 9. Polish (10 points)
|
|
79
|
+
- Subtle animations
|
|
80
|
+
- Proper loading states
|
|
81
|
+
- Error states
|
|
82
|
+
- Empty states
|
|
83
|
+
- Attention to detail
|
|
84
|
+
|
|
85
|
+
#### 10. Code Quality (10 points)
|
|
86
|
+
- TypeScript types
|
|
87
|
+
- Component structure
|
|
88
|
+
- Reusability
|
|
89
|
+
- Maintainability
|
|
90
|
+
- Performance
|
|
91
|
+
|
|
92
|
+
### Step 2: Score Each Dimension
|
|
93
|
+
|
|
94
|
+
Rate each dimension 0-10:
|
|
95
|
+
- **10**: Excellent, production-ready
|
|
96
|
+
- **8-9**: Good, minor improvements
|
|
97
|
+
- **6-7**: Average, several issues
|
|
98
|
+
- **4-5**: Poor, many issues
|
|
99
|
+
- **0-3**: Terrible, complete rewrite
|
|
100
|
+
|
|
101
|
+
### Step 3: Calculate Total Score
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
Total Score = Sum of all dimensions (0-100)
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Step 4: Generate Fix List
|
|
108
|
+
|
|
109
|
+
Create a ranked list of issues:
|
|
110
|
+
|
|
111
|
+
```markdown
|
|
112
|
+
## Issues Found (Ranked by Impact)
|
|
113
|
+
|
|
114
|
+
### HIGH PRIORITY
|
|
115
|
+
1. **Issue**: [Description]
|
|
116
|
+
- **Impact**: [Why it matters]
|
|
117
|
+
- **Fix**: [Code snippet]
|
|
118
|
+
- **Score Impact**: +X points
|
|
119
|
+
|
|
120
|
+
2. **Issue**: [Description]
|
|
121
|
+
- **Impact**: [Why it matters]
|
|
122
|
+
- **Fix**: [Code snippet]
|
|
123
|
+
- **Score Impact**: +X points
|
|
124
|
+
|
|
125
|
+
### MEDIUM PRIORITY
|
|
126
|
+
3. **Issue**: [Description]
|
|
127
|
+
- **Impact**: [Why it matters]
|
|
128
|
+
- **Fix**: [Code snippet]
|
|
129
|
+
- **Score Impact**: +X points
|
|
130
|
+
|
|
131
|
+
### LOW PRIORITY
|
|
132
|
+
4. **Issue**: [Description]
|
|
133
|
+
- **Impact**: [Why it matters]
|
|
134
|
+
- **Fix**: [Code snippet]
|
|
135
|
+
- **Score Impact**: +X points
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Step 5: Provide Recommendations
|
|
139
|
+
|
|
140
|
+
```markdown
|
|
141
|
+
## Recommendations
|
|
142
|
+
|
|
143
|
+
### Immediate Actions
|
|
144
|
+
1. Fix accessibility issues (legal risk)
|
|
145
|
+
2. Fix responsive issues (user experience)
|
|
146
|
+
3. Fix color contrast (readability)
|
|
147
|
+
|
|
148
|
+
### Short-term Improvements
|
|
149
|
+
1. Add loading states
|
|
150
|
+
2. Add error states
|
|
151
|
+
3. Add empty states
|
|
152
|
+
|
|
153
|
+
### Long-term Enhancements
|
|
154
|
+
1. Add animations
|
|
155
|
+
2. Add dark mode
|
|
156
|
+
3. Add i18n support
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Scoring Matrix
|
|
160
|
+
|
|
161
|
+
| Dimension | 0-3 | 4-5 | 6-7 | 8-9 | 10 |
|
|
162
|
+
|-----------|-----|-----|-----|-----|-----|
|
|
163
|
+
| Color | Random colors | Some tokens | Mostly tokens | All tokens | Perfect system |
|
|
164
|
+
| Typography | No scale | Inconsistent | Mostly consistent | Consistent | Perfect scale |
|
|
165
|
+
| Spacing | Random | Inconsistent | Mostly consistent | Consistent | Perfect system |
|
|
166
|
+
| Layout | Broken | Mostly broken | Works | Clean | Perfect |
|
|
167
|
+
| Components | Inconsistent | Mostly inconsistent | Mostly consistent | Consistent | Perfect system |
|
|
168
|
+
| Accessibility | None | Basic | Good | Very good | Excellent |
|
|
169
|
+
| Hierarchy | None | Weak | Good | Strong | Perfect |
|
|
170
|
+
| Consistency | None | Low | Medium | High | Perfect |
|
|
171
|
+
| Polish | None | Basic | Good | Very good | Excellent |
|
|
172
|
+
| Code Quality | Poor | Fair | Good | Very good | Excellent |
|
|
173
|
+
|
|
174
|
+
## Output Format
|
|
175
|
+
|
|
176
|
+
```markdown
|
|
177
|
+
# Design Audit Report
|
|
178
|
+
|
|
179
|
+
## Score: XX/100
|
|
180
|
+
|
|
181
|
+
### Dimension Breakdown
|
|
182
|
+
| Dimension | Score | Notes |
|
|
183
|
+
|-----------|-------|-------|
|
|
184
|
+
| Color System | X/10 | [Notes] |
|
|
185
|
+
| Typography | X/10 | [Notes] |
|
|
186
|
+
| Spacing | X/10 | [Notes] |
|
|
187
|
+
| Layout | X/10 | [Notes] |
|
|
188
|
+
| Components | X/10 | [Notes] |
|
|
189
|
+
| Accessibility | X/10 | [Notes] |
|
|
190
|
+
| Visual Hierarchy | X/10 | [Notes] |
|
|
191
|
+
| Consistency | X/10 | [Notes] |
|
|
192
|
+
| Polish | X/10 | [Notes] |
|
|
193
|
+
| Code Quality | X/10 | [Notes] |
|
|
194
|
+
|
|
195
|
+
## Issues Found
|
|
196
|
+
|
|
197
|
+
### HIGH PRIORITY
|
|
198
|
+
1. [Issue]
|
|
199
|
+
- Impact: [Impact]
|
|
200
|
+
- Fix: [Code]
|
|
201
|
+
- Score Impact: +X
|
|
202
|
+
|
|
203
|
+
### MEDIUM PRIORITY
|
|
204
|
+
2. [Issue]
|
|
205
|
+
- Impact: [Impact]
|
|
206
|
+
- Fix: [Code]
|
|
207
|
+
- Score Impact: +X
|
|
208
|
+
|
|
209
|
+
### LOW PRIORITY
|
|
210
|
+
3. [Issue]
|
|
211
|
+
- Impact: [Impact]
|
|
212
|
+
- Fix: [Code]
|
|
213
|
+
- Score Impact: +X
|
|
214
|
+
|
|
215
|
+
## Recommendations
|
|
216
|
+
|
|
217
|
+
### Immediate Actions
|
|
218
|
+
1. [Action]
|
|
219
|
+
|
|
220
|
+
### Short-term Improvements
|
|
221
|
+
1. [Improvement]
|
|
222
|
+
|
|
223
|
+
### Long-term Enhancements
|
|
224
|
+
1. [Enhancement]
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## Examples
|
|
228
|
+
|
|
229
|
+
### Example 1: Stats Card Audit
|
|
230
|
+
|
|
231
|
+
**Input:**
|
|
232
|
+
```tsx
|
|
233
|
+
<div className="bg-white border border-zinc-200 rounded-lg p-6">
|
|
234
|
+
<p className="text-sm text-zinc-500">Revenue</p>
|
|
235
|
+
<p className="text-3xl font-bold text-zinc-900">$45,678</p>
|
|
236
|
+
</div>
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**Output:**
|
|
240
|
+
```markdown
|
|
241
|
+
# Design Audit Report
|
|
242
|
+
|
|
243
|
+
## Score: 85/100
|
|
244
|
+
|
|
245
|
+
### Dimension Breakdown
|
|
246
|
+
| Dimension | Score | Notes |
|
|
247
|
+
|-----------|-------|-------|
|
|
248
|
+
| Color System | 9/10 | Uses zinc tokens, good hierarchy |
|
|
249
|
+
| Typography | 8/10 | Consistent, could add line-height |
|
|
250
|
+
| Spacing | 9/10 | Consistent scale |
|
|
251
|
+
| Layout | 8/10 | Clean, responsive |
|
|
252
|
+
| Components | 8/10 | Good structure |
|
|
253
|
+
| Accessibility | 7/10 | Missing aria-label |
|
|
254
|
+
| Visual Hierarchy | 9/10 | Clear focal point |
|
|
255
|
+
| Consistency | 9/10 | Follows patterns |
|
|
256
|
+
| Polish | 7/10 | Missing hover state |
|
|
257
|
+
| Code Quality | 9/10 | Clean, typed |
|
|
258
|
+
|
|
259
|
+
## Issues Found
|
|
260
|
+
|
|
261
|
+
### HIGH PRIORITY
|
|
262
|
+
1. **Missing aria-label**
|
|
263
|
+
- Impact: Screen readers can't identify element
|
|
264
|
+
- Fix: Add `aria-label="Revenue stat"`
|
|
265
|
+
- Score Impact: +3
|
|
266
|
+
|
|
267
|
+
### MEDIUM PRIORITY
|
|
268
|
+
2. **No hover state**
|
|
269
|
+
- Impact: No interactive feedback
|
|
270
|
+
- Fix: Add `hover:border-zinc-300 transition-colors`
|
|
271
|
+
- Score Impact: +2
|
|
272
|
+
|
|
273
|
+
### LOW PRIORITY
|
|
274
|
+
3. **Missing line-height**
|
|
275
|
+
- Impact: Minor readability issue
|
|
276
|
+
- Fix: Add `leading-relaxed` to paragraph
|
|
277
|
+
- Score Impact: +1
|
|
278
|
+
|
|
279
|
+
## Recommendations
|
|
280
|
+
|
|
281
|
+
### Immediate Actions
|
|
282
|
+
1. Add aria-label for accessibility
|
|
283
|
+
|
|
284
|
+
### Short-term Improvements
|
|
285
|
+
1. Add hover state for interactivity
|
|
286
|
+
|
|
287
|
+
### Long-term Enhancements
|
|
288
|
+
1. Add loading skeleton
|
|
289
|
+
2. Add dark mode variant
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
## References
|
|
293
|
+
|
|
294
|
+
- [WCAG 2.1 Guidelines](https://www.w3.org/WAI/WCAG21/quickref/)
|
|
295
|
+
- [Vercel Design System](https://vercel.com/design)
|
|
296
|
+
- [Design Systems Checklist](https://designsystemschecklist.com/)
|
|
297
|
+
|
|
298
|
+
## Validation Checklist
|
|
299
|
+
|
|
300
|
+
Before delivering audit:
|
|
301
|
+
- [ ] All 10 dimensions scored
|
|
302
|
+
- [ ] Issues ranked by impact
|
|
303
|
+
- [ ] Code fixes provided
|
|
304
|
+
- [ ] Recommendations clear
|
|
305
|
+
- [ ] Score is accurate
|
|
@@ -0,0 +1,424 @@
|
|
|
1
|
+
# Design Audit Report Examples
|
|
2
|
+
|
|
3
|
+
## Example 1: Stats Card
|
|
4
|
+
|
|
5
|
+
### Input Code
|
|
6
|
+
```tsx
|
|
7
|
+
<div className="bg-white border border-zinc-200 rounded-lg p-6">
|
|
8
|
+
<p className="text-sm text-zinc-500">Revenue</p>
|
|
9
|
+
<p className="text-3xl font-bold text-zinc-900">$45,678</p>
|
|
10
|
+
</div>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### Audit Report
|
|
14
|
+
|
|
15
|
+
```markdown
|
|
16
|
+
# Design Audit Report
|
|
17
|
+
|
|
18
|
+
## Score: 82/100
|
|
19
|
+
|
|
20
|
+
### Dimension Breakdown
|
|
21
|
+
| Dimension | Score | Notes |
|
|
22
|
+
|-----------|-------|-------|
|
|
23
|
+
| Color System | 9/10 | Uses zinc tokens, good hierarchy |
|
|
24
|
+
| Typography | 8/10 | Consistent, missing line-height |
|
|
25
|
+
| Spacing | 9/10 | Consistent scale |
|
|
26
|
+
| Layout | 8/10 | Clean, responsive |
|
|
27
|
+
| Components | 7/10 | Missing hover state |
|
|
28
|
+
| Accessibility | 6/10 | Missing aria-label |
|
|
29
|
+
| Visual Hierarchy | 9/10 | Clear focal point |
|
|
30
|
+
| Consistency | 9/10 | Follows patterns |
|
|
31
|
+
| Polish | 7/10 | Missing loading state |
|
|
32
|
+
| Code Quality | 8/10 | Clean, typed |
|
|
33
|
+
|
|
34
|
+
## Issues Found
|
|
35
|
+
|
|
36
|
+
### HIGH PRIORITY
|
|
37
|
+
1. **Missing aria-label**
|
|
38
|
+
- Impact: Screen readers can't identify element
|
|
39
|
+
- Fix: Add `aria-label="Revenue stat"`
|
|
40
|
+
- Score Impact: +3
|
|
41
|
+
|
|
42
|
+
### MEDIUM PRIORITY
|
|
43
|
+
2. **No hover state**
|
|
44
|
+
- Impact: No interactive feedback
|
|
45
|
+
- Fix: Add `hover:border-zinc-300 transition-colors`
|
|
46
|
+
- Score Impact: +2
|
|
47
|
+
|
|
48
|
+
3. **Missing line-height**
|
|
49
|
+
- Impact: Minor readability issue
|
|
50
|
+
- Fix: Add `leading-relaxed` to paragraph
|
|
51
|
+
- Score Impact: +1
|
|
52
|
+
|
|
53
|
+
### LOW PRIORITY
|
|
54
|
+
4. **No loading state**
|
|
55
|
+
- Impact: No loading feedback
|
|
56
|
+
- Fix: Add skeleton loading variant
|
|
57
|
+
- Score Impact: +1
|
|
58
|
+
|
|
59
|
+
## Recommendations
|
|
60
|
+
|
|
61
|
+
### Immediate Actions
|
|
62
|
+
1. Add aria-label for accessibility
|
|
63
|
+
|
|
64
|
+
### Short-term Improvements
|
|
65
|
+
1. Add hover state for interactivity
|
|
66
|
+
2. Add line-height for readability
|
|
67
|
+
|
|
68
|
+
### Long-term Enhancements
|
|
69
|
+
1. Add loading skeleton
|
|
70
|
+
2. Add dark mode variant
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Example 2: Landing Page
|
|
76
|
+
|
|
77
|
+
### Input Code
|
|
78
|
+
```tsx
|
|
79
|
+
<div className="min-h-screen bg-gradient-to-br from-purple-900 via-blue-900 to-indigo-900 flex items-center justify-center p-8">
|
|
80
|
+
<div className="bg-white/10 backdrop-blur-lg rounded-3xl p-8 text-center max-w-md border border-white/20">
|
|
81
|
+
<h1 className="text-4xl font-bold text-white mb-4">Welcome</h1>
|
|
82
|
+
<p className="text-purple-200 mb-6">Start your journey</p>
|
|
83
|
+
<button className="bg-gradient-to-r from-purple-500 to-blue-500 text-white px-8 py-3 rounded-full font-medium hover:scale-105 transition-transform">
|
|
84
|
+
Get Started
|
|
85
|
+
</button>
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Audit Report
|
|
91
|
+
|
|
92
|
+
```markdown
|
|
93
|
+
# Design Audit Report
|
|
94
|
+
|
|
95
|
+
## Score: 35/100
|
|
96
|
+
|
|
97
|
+
### Dimension Breakdown
|
|
98
|
+
| Dimension | Score | Notes |
|
|
99
|
+
|-----------|-------|-------|
|
|
100
|
+
| Color System | 2/10 | Gradient, random colors |
|
|
101
|
+
| Typography | 4/10 | Inconsistent scale |
|
|
102
|
+
| Spacing | 3/10 | Random spacing |
|
|
103
|
+
| Layout | 4/10 | Centered everything |
|
|
104
|
+
| Components | 3/10 | Gradient button, hover scale |
|
|
105
|
+
| Accessibility | 2/10 | No semantics, no ARIA |
|
|
106
|
+
| Visual Hierarchy | 4/10 | Some hierarchy |
|
|
107
|
+
| Consistency | 3/10 | Inconsistent patterns |
|
|
108
|
+
| Polish | 4/10 | Has animation |
|
|
109
|
+
| Code Quality | 6/10 | Clean code |
|
|
110
|
+
|
|
111
|
+
## Issues Found
|
|
112
|
+
|
|
113
|
+
### HIGH PRIORITY
|
|
114
|
+
1. **Gradient background**
|
|
115
|
+
- Impact: Looks like AI slop
|
|
116
|
+
- Fix: Replace with solid `bg-zinc-950`
|
|
117
|
+
- Score Impact: +5
|
|
118
|
+
|
|
119
|
+
2. **Centered everything**
|
|
120
|
+
- Impact: Generic look
|
|
121
|
+
- Fix: Use `text-left` for text
|
|
122
|
+
- Score Impact: +3
|
|
123
|
+
|
|
124
|
+
3. **No semantic HTML**
|
|
125
|
+
- Impact: Poor accessibility
|
|
126
|
+
- Fix: Use `<section>`, `<h1>`, `<button>`
|
|
127
|
+
- Score Impact: +4
|
|
128
|
+
|
|
129
|
+
4. **No ARIA attributes**
|
|
130
|
+
- Impact: Screen readers can't parse
|
|
131
|
+
- Fix: Add proper ARIA labels
|
|
132
|
+
- Score Impact: +3
|
|
133
|
+
|
|
134
|
+
### MEDIUM PRIORITY
|
|
135
|
+
5. **Gradient button**
|
|
136
|
+
- Impact: AI slop pattern
|
|
137
|
+
- Fix: Use solid `bg-zinc-100`
|
|
138
|
+
- Score Impact: +3
|
|
139
|
+
|
|
140
|
+
6. **Hover scale**
|
|
141
|
+
- Impact: Over-the-top animation
|
|
142
|
+
- Fix: Use `hover:bg-white transition-colors`
|
|
143
|
+
- Score Impact: +2
|
|
144
|
+
|
|
145
|
+
7. **Oversized radius**
|
|
146
|
+
- Impact: Too round
|
|
147
|
+
- Fix: Use `rounded-lg` instead of `rounded-3xl`
|
|
148
|
+
- Score Impact: +2
|
|
149
|
+
|
|
150
|
+
### LOW PRIORITY
|
|
151
|
+
8. **Backdrop blur**
|
|
152
|
+
- Impact: Unnecessary effect
|
|
153
|
+
- Fix: Remove, use solid background
|
|
154
|
+
- Score Impact: +1
|
|
155
|
+
|
|
156
|
+
## Recommendations
|
|
157
|
+
|
|
158
|
+
### Immediate Actions
|
|
159
|
+
1. Replace gradient with solid color
|
|
160
|
+
2. Add semantic HTML
|
|
161
|
+
3. Add ARIA attributes
|
|
162
|
+
4. Fix text alignment
|
|
163
|
+
|
|
164
|
+
### Short-term Improvements
|
|
165
|
+
1. Replace gradient button
|
|
166
|
+
2. Fix hover animation
|
|
167
|
+
3. Fix border radius
|
|
168
|
+
|
|
169
|
+
### Long-term Enhancements
|
|
170
|
+
1. Add responsive design
|
|
171
|
+
2. Add dark/light theme
|
|
172
|
+
3. Add loading states
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Example 3: Dashboard
|
|
178
|
+
|
|
179
|
+
### Input Code
|
|
180
|
+
```tsx
|
|
181
|
+
<div className="flex h-screen bg-zinc-50">
|
|
182
|
+
<aside className="w-64 border-r border-zinc-200 bg-white">
|
|
183
|
+
<nav className="p-4 space-y-1">
|
|
184
|
+
<a href="/dashboard" className="flex items-center gap-3 px-3 py-2 text-sm font-medium text-zinc-900 bg-zinc-100 rounded-lg">
|
|
185
|
+
Dashboard
|
|
186
|
+
</a>
|
|
187
|
+
<a href="/analytics" className="flex items-center gap-3 px-3 py-2 text-sm font-medium text-zinc-600 hover:text-zinc-900 hover:bg-zinc-50 rounded-lg">
|
|
188
|
+
Analytics
|
|
189
|
+
</a>
|
|
190
|
+
</nav>
|
|
191
|
+
</aside>
|
|
192
|
+
|
|
193
|
+
<main className="flex-1 p-6">
|
|
194
|
+
<h1 className="text-2xl font-bold text-zinc-900 mb-6">Dashboard</h1>
|
|
195
|
+
|
|
196
|
+
<div className="grid grid-cols-1 md:grid-cols-3 gap-4">
|
|
197
|
+
<div className="bg-white border border-zinc-200 rounded-lg p-6">
|
|
198
|
+
<p className="text-sm text-zinc-500">Users</p>
|
|
199
|
+
<p className="text-2xl font-bold text-zinc-900">1,234</p>
|
|
200
|
+
</div>
|
|
201
|
+
<div className="bg-white border border-zinc-200 rounded-lg p-6">
|
|
202
|
+
<p className="text-sm text-zinc-500">Revenue</p>
|
|
203
|
+
<p className="text-2xl font-bold text-zinc-900">$45,678</p>
|
|
204
|
+
</div>
|
|
205
|
+
<div className="bg-white border border-zinc-200 rounded-lg p-6">
|
|
206
|
+
<p className="text-sm text-zinc-500">Orders</p>
|
|
207
|
+
<p className="text-2xl font-bold text-zinc-900">567</p>
|
|
208
|
+
</div>
|
|
209
|
+
</div>
|
|
210
|
+
</main>
|
|
211
|
+
</div>
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### Audit Report
|
|
215
|
+
|
|
216
|
+
```markdown
|
|
217
|
+
# Design Audit Report
|
|
218
|
+
|
|
219
|
+
## Score: 88/100
|
|
220
|
+
|
|
221
|
+
### Dimension Breakdown
|
|
222
|
+
| Dimension | Score | Notes |
|
|
223
|
+
|-----------|-------|-------|
|
|
224
|
+
| Color System | 9/10 | Uses zinc tokens |
|
|
225
|
+
| Typography | 9/10 | Consistent scale |
|
|
226
|
+
| Spacing | 9/10 | Consistent scale |
|
|
227
|
+
| Layout | 9/10 | Proper grid/flex |
|
|
228
|
+
| Components | 8/10 | Good structure |
|
|
229
|
+
| Accessibility | 7/10 | Missing some ARIA |
|
|
230
|
+
| Visual Hierarchy | 9/10 | Clear hierarchy |
|
|
231
|
+
| Consistency | 9/10 | Very consistent |
|
|
232
|
+
| Polish | 7/10 | Missing hover states |
|
|
233
|
+
| Code Quality | 9/10 | Clean code |
|
|
234
|
+
|
|
235
|
+
## Issues Found
|
|
236
|
+
|
|
237
|
+
### HIGH PRIORITY
|
|
238
|
+
1. **Missing skip navigation**
|
|
239
|
+
- Impact: Keyboard users can't skip sidebar
|
|
240
|
+
- Fix: Add skip navigation link
|
|
241
|
+
- Score Impact: +2
|
|
242
|
+
|
|
243
|
+
### MEDIUM PRIORITY
|
|
244
|
+
2. **No hover states on cards**
|
|
245
|
+
- Impact: No interactive feedback
|
|
246
|
+
- Fix: Add `hover:border-zinc-300 transition-colors`
|
|
247
|
+
- Score Impact: +2
|
|
248
|
+
|
|
249
|
+
3. **Missing aria-current on active nav**
|
|
250
|
+
- Impact: Screen readers don't know current page
|
|
251
|
+
- Fix: Add `aria-current="page"` to active link
|
|
252
|
+
- Score Impact: +1
|
|
253
|
+
|
|
254
|
+
### LOW PRIORITY
|
|
255
|
+
4. **No loading states**
|
|
256
|
+
- Impact: No loading feedback
|
|
257
|
+
- Fix: Add skeleton loading variants
|
|
258
|
+
- Score Impact: +1
|
|
259
|
+
|
|
260
|
+
5. **No mobile menu**
|
|
261
|
+
- Impact: Poor mobile experience
|
|
262
|
+
- Fix: Add hamburger menu for mobile
|
|
263
|
+
- Score Impact: +1
|
|
264
|
+
|
|
265
|
+
## Recommendations
|
|
266
|
+
|
|
267
|
+
### Immediate Actions
|
|
268
|
+
1. Add skip navigation link
|
|
269
|
+
2. Add aria-current to active nav
|
|
270
|
+
|
|
271
|
+
### Short-term Improvements
|
|
272
|
+
1. Add hover states to cards
|
|
273
|
+
2. Add mobile menu
|
|
274
|
+
|
|
275
|
+
### Long-term Enhancements
|
|
276
|
+
1. Add loading skeletons
|
|
277
|
+
2. Add dark mode
|
|
278
|
+
3. Add animations
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## Example 4: Form
|
|
284
|
+
|
|
285
|
+
### Input Code
|
|
286
|
+
```tsx
|
|
287
|
+
<div className="max-w-md mx-auto p-6">
|
|
288
|
+
<h2 className="text-2xl font-bold mb-6">Contact Us</h2>
|
|
289
|
+
|
|
290
|
+
<form className="space-y-4">
|
|
291
|
+
<div>
|
|
292
|
+
<input
|
|
293
|
+
type="text"
|
|
294
|
+
placeholder="Your name"
|
|
295
|
+
className="w-full px-4 py-2 border border-gray-300 rounded-lg"
|
|
296
|
+
/>
|
|
297
|
+
</div>
|
|
298
|
+
<div>
|
|
299
|
+
<input
|
|
300
|
+
type="email"
|
|
301
|
+
placeholder="Your email"
|
|
302
|
+
className="w-full px-4 py-2 border border-gray-300 rounded-lg"
|
|
303
|
+
/>
|
|
304
|
+
</div>
|
|
305
|
+
<div>
|
|
306
|
+
<textarea
|
|
307
|
+
placeholder="Your message"
|
|
308
|
+
className="w-full px-4 py-2 border border-gray-300 rounded-lg h-32"
|
|
309
|
+
/>
|
|
310
|
+
</div>
|
|
311
|
+
<button
|
|
312
|
+
type="submit"
|
|
313
|
+
className="w-full bg-blue-500 text-white py-2 rounded-lg hover:bg-blue-600"
|
|
314
|
+
>
|
|
315
|
+
Send Message
|
|
316
|
+
</button>
|
|
317
|
+
</form>
|
|
318
|
+
</div>
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
### Audit Report
|
|
322
|
+
|
|
323
|
+
```markdown
|
|
324
|
+
# Design Audit Report
|
|
325
|
+
|
|
326
|
+
## Score: 62/100
|
|
327
|
+
|
|
328
|
+
### Dimension Breakdown
|
|
329
|
+
| Dimension | Score | Notes |
|
|
330
|
+
|-----------|-------|-------|
|
|
331
|
+
| Color System | 5/10 | Uses gray, blue (not tokens) |
|
|
332
|
+
| Typography | 6/10 | Basic, missing scale |
|
|
333
|
+
| Spacing | 7/10 | Mostly consistent |
|
|
334
|
+
| Layout | 7/10 | Clean, responsive |
|
|
335
|
+
| Components | 5/10 | Missing states |
|
|
336
|
+
| Accessibility | 3/10 | No labels, no ARIA |
|
|
337
|
+
| Visual Hierarchy | 6/10 | Basic hierarchy |
|
|
338
|
+
| Consistency | 6/10 | Mostly consistent |
|
|
339
|
+
| Polish | 5/10 | Basic styling |
|
|
340
|
+
| Code Quality | 7/10 | Clean code |
|
|
341
|
+
|
|
342
|
+
## Issues Found
|
|
343
|
+
|
|
344
|
+
### HIGH PRIORITY
|
|
345
|
+
1. **No form labels**
|
|
346
|
+
- Impact: Accessibility violation
|
|
347
|
+
- Fix: Add `<label>` elements
|
|
348
|
+
- Score Impact: +4
|
|
349
|
+
|
|
350
|
+
2. **No ARIA attributes**
|
|
351
|
+
- Impact: Screen readers can't parse
|
|
352
|
+
- Fix: Add `aria-required`, `aria-describedby`
|
|
353
|
+
- Score Impact: +3
|
|
354
|
+
|
|
355
|
+
3. **No error states**
|
|
356
|
+
- Impact: No validation feedback
|
|
357
|
+
- Fix: Add error messages and styles
|
|
358
|
+
- Score Impact: +3
|
|
359
|
+
|
|
360
|
+
### MEDIUM PRIORITY
|
|
361
|
+
4. **Using gray instead of zinc**
|
|
362
|
+
- Impact: Inconsistent with design system
|
|
363
|
+
- Fix: Replace `gray-*` with `zinc-*`
|
|
364
|
+
- Score Impact: +2
|
|
365
|
+
|
|
366
|
+
5. **Using blue instead of zinc**
|
|
367
|
+
- Impact: Inconsistent with design system
|
|
368
|
+
- Fix: Replace `blue-*` with `zinc-900`
|
|
369
|
+
- Score Impact: +2
|
|
370
|
+
|
|
371
|
+
6. **No focus states**
|
|
372
|
+
- Impact: No keyboard feedback
|
|
373
|
+
- Fix: Add `focus:ring-2 focus:ring-zinc-500`
|
|
374
|
+
- Score Impact: +2
|
|
375
|
+
|
|
376
|
+
### LOW PRIORITY
|
|
377
|
+
7. **No loading state**
|
|
378
|
+
- Impact: No submission feedback
|
|
379
|
+
- Fix: Add loading spinner on submit
|
|
380
|
+
- Score Impact: +1
|
|
381
|
+
|
|
382
|
+
8. **No success state**
|
|
383
|
+
- Impact: No success feedback
|
|
384
|
+
- Fix: Add success message after submit
|
|
385
|
+
- Score Impact: +1
|
|
386
|
+
|
|
387
|
+
## Recommendations
|
|
388
|
+
|
|
389
|
+
### Immediate Actions
|
|
390
|
+
1. Add form labels
|
|
391
|
+
2. Add ARIA attributes
|
|
392
|
+
3. Add error states
|
|
393
|
+
|
|
394
|
+
### Short-term Improvements
|
|
395
|
+
1. Replace gray/blue with zinc
|
|
396
|
+
2. Add focus states
|
|
397
|
+
3. Add validation
|
|
398
|
+
|
|
399
|
+
### Long-term Enhancements
|
|
400
|
+
1. Add loading state
|
|
401
|
+
2. Add success state
|
|
402
|
+
3. Add multi-step form
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
---
|
|
406
|
+
|
|
407
|
+
## Summary
|
|
408
|
+
|
|
409
|
+
### Key Takeaways
|
|
410
|
+
|
|
411
|
+
1. **Score accurately** — Be honest about issues
|
|
412
|
+
2. **Prioritize fixes** — Accessibility first
|
|
413
|
+
3. **Provide code fixes** — Don't just list problems
|
|
414
|
+
4. **Give clear recommendations** — Actionable steps
|
|
415
|
+
5. **Re-score after fixes** — Verify improvement
|
|
416
|
+
|
|
417
|
+
### Score Interpretation
|
|
418
|
+
|
|
419
|
+
- **90-100**: Ship it!
|
|
420
|
+
- **80-89**: Minor polish needed
|
|
421
|
+
- **70-79**: Several improvements
|
|
422
|
+
- **60-69**: Significant work needed
|
|
423
|
+
- **50-59**: Major issues
|
|
424
|
+
- **0-49**: Complete rewrite
|