start-vibing 1.1.3 → 1.1.4
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/package.json +1 -1
- package/template/.claude/README.md +126 -135
- package/template/.claude/agents/orchestrator.md +37 -23
- package/template/.claude/agents/research.md +51 -3
- package/template/.claude/agents/ui-ux-reviewer.md +80 -10
- package/template/.claude/config/project-config.json +4 -7
- package/template/.claude/hooks/user-prompt-submit.py +384 -37
- package/template/.claude/settings.json +228 -39
- package/template/.claude/skills/codebase-knowledge/SKILL.md +111 -37
- package/template/.claude/skills/codebase-knowledge/domains/claude-system.md +216 -10
- package/template/.claude/skills/docs-tracker/SKILL.md +206 -30
- package/template/.claude/skills/final-check/SKILL.md +252 -40
- package/template/.claude/skills/quality-gate/SKILL.md +238 -31
- package/template/.claude/skills/research-cache/SKILL.md +162 -28
- package/template/.claude/skills/security-scan/SKILL.md +165 -34
- package/template/.claude/skills/test-coverage/SKILL.md +416 -41
- package/template/.claude/skills/ui-ux-audit/SKILL.md +222 -36
- package/template/.claude/config/domain-mapping.json +0 -55
|
@@ -1,68 +1,254 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ui-ux-audit
|
|
3
|
-
description:
|
|
3
|
+
description: Automates UI/UX audits. Researches competitors, validates accessibility (WCAG 2.1), verifies responsiveness, audits design system consistency. Use when implementing any UI feature.
|
|
4
4
|
allowed-tools: Read, WebSearch, WebFetch, Grep, Glob
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
# UI/UX Audit
|
|
7
|
+
# UI/UX Audit - Interface Audit System
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Purpose
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
-
|
|
11
|
+
This skill automates UI/UX audits:
|
|
12
|
+
|
|
13
|
+
- **Research** competitors before implementing
|
|
14
|
+
- **Validate** accessibility (WCAG, contrast, touch targets)
|
|
15
|
+
- **Verify** responsiveness
|
|
16
|
+
- **Audit** design system consistency
|
|
17
|
+
- **Document** design decisions
|
|
18
|
+
|
|
19
|
+
---
|
|
14
20
|
|
|
15
21
|
## Workflow
|
|
16
22
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
23
|
+
```
|
|
24
|
+
1. IDENTIFY FEATURE → What type of UI? Mobile-first or desktop-first?
|
|
25
|
+
↓
|
|
26
|
+
2. RESEARCH COMPETITORS → 3-5 relevant competitors, screenshots
|
|
27
|
+
↓
|
|
28
|
+
3. DEFINE PATTERN → What do all do alike? Where to differentiate?
|
|
29
|
+
↓
|
|
30
|
+
4. IMPLEMENT → Follow accessibility and responsiveness checklists
|
|
31
|
+
↓
|
|
32
|
+
5. VALIDATE → Run final checklist, capture screenshots
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Competitor Research
|
|
38
|
+
|
|
39
|
+
### Required Search Queries
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
"[UI type] design examples 2025"
|
|
43
|
+
"[similar product] UI/UX"
|
|
44
|
+
"[functionality] best practices"
|
|
45
|
+
"[framework] [component] examples"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Research Template
|
|
49
|
+
|
|
50
|
+
```markdown
|
|
51
|
+
## Research: [Feature Name]
|
|
52
|
+
|
|
53
|
+
### Competitors Analyzed
|
|
54
|
+
|
|
55
|
+
1. **[Name]** - [URL]
|
|
56
|
+
- Strong points: [list]
|
|
57
|
+
- Weak points: [list]
|
|
58
|
+
|
|
59
|
+
### Market Pattern
|
|
60
|
+
|
|
61
|
+
- [What everyone does alike]
|
|
62
|
+
|
|
63
|
+
### Our Approach
|
|
64
|
+
|
|
65
|
+
- **Decision:** [what we'll do]
|
|
66
|
+
- **Justification:** [why]
|
|
67
|
+
- **Differentiator:** [how we stand out]
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
20
71
|
|
|
21
72
|
## Accessibility Checklist (WCAG 2.1)
|
|
22
73
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
- [ ]
|
|
26
|
-
- [ ] Alt text
|
|
27
|
-
- [ ]
|
|
28
|
-
- [ ] Visible focus
|
|
74
|
+
### Level A (Required)
|
|
75
|
+
|
|
76
|
+
- [ ] **Text contrast:** Minimum 4.5:1 normal, 3:1 large text
|
|
77
|
+
- [ ] **Alt text:** All images have descriptive alt
|
|
78
|
+
- [ ] **Keyboard navigation:** All interactive elements via Tab
|
|
79
|
+
- [ ] **Visible focus:** Clear outline on focused elements
|
|
80
|
+
- [ ] **Form labels:** All inputs have associated label
|
|
81
|
+
- [ ] **Error messages:** Clear and associated to field
|
|
82
|
+
|
|
83
|
+
### Level AA (Recommended)
|
|
84
|
+
|
|
85
|
+
- [ ] **Resize:** Works up to 200% zoom
|
|
86
|
+
- [ ] **Touch targets:** Minimum 44x44px (`h-11 w-11`)
|
|
87
|
+
- [ ] **Hover/Focus:** Content visible on hover also via focus
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Responsiveness Checklist
|
|
92
|
+
|
|
93
|
+
### Required Viewports
|
|
29
94
|
|
|
30
|
-
|
|
95
|
+
```typescript
|
|
96
|
+
const REQUIRED_VIEWPORTS = {
|
|
97
|
+
mobile: { width: 375, height: 667 }, // iPhone SE
|
|
98
|
+
tablet: { width: 768, height: 1024 }, // iPad
|
|
99
|
+
desktop: { width: 1280, height: 800 }, // Laptop
|
|
100
|
+
fullhd: { width: 1920, height: 1080 }, // Common monitor
|
|
101
|
+
};
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Mobile (375px)
|
|
105
|
+
|
|
106
|
+
- [ ] Vertical stack layout (flex-col)
|
|
107
|
+
- [ ] Hamburger menu or bottom nav
|
|
108
|
+
- [ ] Touch-friendly buttons (min 44px)
|
|
109
|
+
- [ ] Readable text without zoom
|
|
110
|
+
- [ ] Vertical scroll only
|
|
111
|
+
|
|
112
|
+
### Desktop (1280px+)
|
|
113
|
+
|
|
114
|
+
- [ ] Use horizontal space
|
|
115
|
+
- [ ] Expanded sidebar
|
|
116
|
+
- [ ] Can increase info density
|
|
31
117
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## CRITICAL: Zero Horizontal Overflow
|
|
121
|
+
|
|
122
|
+
> **NEVER** should there be horizontal scroll.
|
|
37
123
|
|
|
38
|
-
|
|
124
|
+
### Required CSS Patterns
|
|
39
125
|
|
|
40
126
|
```tsx
|
|
127
|
+
// Main layout
|
|
41
128
|
<div className="flex h-screen w-screen overflow-hidden">
|
|
42
|
-
|
|
43
|
-
|
|
129
|
+
{/* Sidebar */}
|
|
130
|
+
<aside className="w-[260px] flex-shrink-0 overflow-y-auto">...</aside>
|
|
131
|
+
|
|
132
|
+
{/* Main content */}
|
|
133
|
+
<main className="flex-1 min-w-0 overflow-hidden">...</main>
|
|
44
134
|
</div>
|
|
45
135
|
```
|
|
46
136
|
|
|
137
|
+
### Overflow Checklist
|
|
138
|
+
|
|
139
|
+
- [ ] Main container has `overflow-hidden`?
|
|
140
|
+
- [ ] Sidebar has `flex-shrink-0`?
|
|
141
|
+
- [ ] Main content has `min-w-0`?
|
|
142
|
+
- [ ] No element with width larger than container?
|
|
143
|
+
- [ ] Tested at 1920x1080?
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
47
147
|
## Skeleton Loading
|
|
48
148
|
|
|
49
|
-
|
|
149
|
+
### Rule: Every Component HAS Skeleton
|
|
150
|
+
|
|
151
|
+
- [ ] Skeleton created with component
|
|
152
|
+
- [ ] Same dimensions as final content
|
|
153
|
+
- [ ] `animate-pulse` animation
|
|
154
|
+
- [ ] Same visual structure
|
|
155
|
+
|
|
156
|
+
### Structure
|
|
157
|
+
|
|
158
|
+
```
|
|
159
|
+
components/features/UserCard/
|
|
160
|
+
├── UserCard.tsx
|
|
161
|
+
└── UserCardSkeleton.tsx
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Template
|
|
50
165
|
|
|
51
166
|
```tsx
|
|
52
167
|
export function ComponentSkeleton() {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
168
|
+
return (
|
|
169
|
+
<div className="animate-pulse">
|
|
170
|
+
<div className="h-4 bg-gray-200 rounded w-3/4 mb-2" />
|
|
171
|
+
<div className="h-4 bg-gray-200 rounded w-1/2" />
|
|
172
|
+
</div>
|
|
173
|
+
);
|
|
58
174
|
}
|
|
59
175
|
```
|
|
60
176
|
|
|
61
|
-
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Design System (Tailwind)
|
|
180
|
+
|
|
181
|
+
### Colors
|
|
182
|
+
|
|
183
|
+
- **Primary:** `indigo-600` (buttons, links)
|
|
184
|
+
- **Secondary:** `gray-600` (secondary text)
|
|
185
|
+
- **Success:** `green-600`
|
|
186
|
+
- **Error:** `red-600`
|
|
187
|
+
- **Warning:** `yellow-600`
|
|
188
|
+
|
|
189
|
+
### Spacing (4px scale)
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
p-1: 4px p-2: 8px p-4: 16px
|
|
193
|
+
p-6: 24px p-8: 32px p-12: 48px
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Border & Shadow
|
|
197
|
+
|
|
198
|
+
- **Border radius:** `rounded-lg` (8px) default
|
|
199
|
+
- **Shadows:** `shadow-sm` for cards, `shadow-lg` for modals
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## Output Format
|
|
204
|
+
|
|
205
|
+
```markdown
|
|
206
|
+
## UI/UX AUDIT - Report
|
|
207
|
+
|
|
208
|
+
### Feature
|
|
209
|
+
|
|
210
|
+
- **Name:** [name]
|
|
211
|
+
- **Type:** [form/dashboard/list/etc]
|
|
212
|
+
- **Approach:** [mobile-first/desktop-first]
|
|
213
|
+
|
|
214
|
+
### Competitor Research
|
|
215
|
+
|
|
216
|
+
- [x] Researched 5 competitors
|
|
217
|
+
- **Pattern identified:** [description]
|
|
218
|
+
|
|
219
|
+
### Accessibility
|
|
220
|
+
|
|
221
|
+
- [x] Contrast validated (4.5:1+)
|
|
222
|
+
- [x] Touch targets 44x44px
|
|
223
|
+
- [x] Alt text on images
|
|
224
|
+
- [x] Labels on forms
|
|
225
|
+
|
|
226
|
+
### Responsiveness
|
|
227
|
+
|
|
228
|
+
- [x] Mobile (375px) - OK
|
|
229
|
+
- [x] Tablet (768px) - OK
|
|
230
|
+
- [x] Desktop (1280px) - OK
|
|
231
|
+
- [x] FullHD (1920px) - OK
|
|
232
|
+
- [x] Zero horizontal overflow
|
|
233
|
+
|
|
234
|
+
### Skeleton
|
|
235
|
+
|
|
236
|
+
- [x] Created
|
|
237
|
+
- [x] Correct dimensions
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Critical Rules
|
|
243
|
+
|
|
244
|
+
1. **ALWAYS research competitors** - Before implementing UI
|
|
245
|
+
2. **ALWAYS validate accessibility** - WCAG 2.1 Level AA
|
|
246
|
+
3. **ALWAYS test viewports** - Mobile, tablet, desktop, fullhd
|
|
247
|
+
4. **NEVER horizontal overflow** - Check all viewports
|
|
248
|
+
5. **ALWAYS create skeleton** - With the component
|
|
249
|
+
|
|
250
|
+
---
|
|
62
251
|
|
|
63
|
-
|
|
64
|
-
2. **Test all viewports** before committing
|
|
65
|
-
3. **Never horizontal overflow**
|
|
66
|
-
4. **Create skeleton** with component
|
|
252
|
+
## Version
|
|
67
253
|
|
|
68
|
-
|
|
254
|
+
- **v2.0.0** - Generic template
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$comment": "Maps file patterns to domain names. Configure for your project structure.",
|
|
3
|
-
|
|
4
|
-
"domains": {
|
|
5
|
-
"frontend": {
|
|
6
|
-
"patterns": [
|
|
7
|
-
"apps/front/*",
|
|
8
|
-
"apps/front/src/*",
|
|
9
|
-
"apps/front/src/app/*",
|
|
10
|
-
"apps/front/src/components/*"
|
|
11
|
-
],
|
|
12
|
-
"description": "Frontend application"
|
|
13
|
-
},
|
|
14
|
-
"backend": {
|
|
15
|
-
"patterns": [
|
|
16
|
-
"apps/api/*",
|
|
17
|
-
"apps/api/src/*"
|
|
18
|
-
],
|
|
19
|
-
"description": "Backend API services"
|
|
20
|
-
},
|
|
21
|
-
"infrastructure": {
|
|
22
|
-
"patterns": [
|
|
23
|
-
"common/*",
|
|
24
|
-
"common/db/*",
|
|
25
|
-
"common/config/*",
|
|
26
|
-
"common/utils/*"
|
|
27
|
-
],
|
|
28
|
-
"description": "Shared infrastructure - logger, database, config, utilities"
|
|
29
|
-
},
|
|
30
|
-
"types": {
|
|
31
|
-
"patterns": [
|
|
32
|
-
"types/*"
|
|
33
|
-
],
|
|
34
|
-
"description": "TypeScript type definitions"
|
|
35
|
-
},
|
|
36
|
-
"docker": {
|
|
37
|
-
"patterns": [
|
|
38
|
-
"docker/*",
|
|
39
|
-
"docker-compose.yml",
|
|
40
|
-
"apps/*/Dockerfile"
|
|
41
|
-
],
|
|
42
|
-
"description": "Docker configuration and containerization"
|
|
43
|
-
},
|
|
44
|
-
"scripts": {
|
|
45
|
-
"patterns": [
|
|
46
|
-
"scripts/*"
|
|
47
|
-
],
|
|
48
|
-
"description": "Utility scripts for development and deployment"
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
|
|
52
|
-
"defaultDomain": "general",
|
|
53
|
-
|
|
54
|
-
"domainFilesPath": ".claude/skills/codebase-knowledge/domains/"
|
|
55
|
-
}
|