@localtech/claude-code-toolkit 1.0.3 → 1.0.5
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/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +8 -7
- package/dist/commands/install.js.map +1 -1
- package/package.json +1 -1
- package/templates/.claude/hooks/README.md +342 -0
- package/templates/.claude/hooks/custom/intelligent-workflows.sh +336 -0
- package/templates/.claude/hooks/hook-manager.sh +300 -0
- package/templates/.claude/hooks/post-commit/smart-automations.sh +249 -0
- package/templates/.claude/hooks/pre-commit/code-quality-guardian.sh +257 -0
- package/templates/.claude/hooks/pre-push/deployment-guardian.sh +334 -0
- package/templates/.claude/memory/context.md +39 -0
- package/templates/.claude/memory/decisions.md +29 -0
- package/templates/.claude/memory/learnings.md +31 -0
- package/templates/.claude/memory/patterns.md +72 -0
- package/templates/.claude/memory/preferences.md +23 -0
- package/templates/.claude/skills/claude-code-hooks-master/SKILL.md +358 -0
- package/templates/.claude/skills/mobile-ui-ux-master/MobileCardGrid.tsx +270 -0
- package/templates/.claude/skills/mobile-ui-ux-master/SKILL.md +172 -0
- package/templates/.claude/skills/mobile-ui-ux-master/card-grid-template.html +260 -0
- package/templates/.claude/skills/mobile-ui-ux-master/mobile-ux-checklist.md +140 -0
- package/templates/.claude/skills/professional-documentation-writer/SKILL.md +42 -0
- package/templates/AGENTS.md +127 -0
- package/templates/CLAUDE.md +101 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Claude Code Skill: Mobile UI/UX Master
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
name: mobile-ui-ux-master
|
|
5
|
+
description: Ensures professional, consistent, and mobile-optimized UI/UX across all screens and components. Eliminates common layout issues like uneven card heights, text overflow, padding inconsistencies, and responsive design problems.
|
|
6
|
+
author: Carlos Fadhel
|
|
7
|
+
version: 1.0.0
|
|
8
|
+
tags: mobile, ui, ux, responsive, design-system, layout, consistency
|
|
9
|
+
|
|
10
|
+
## When to Use This Skill
|
|
11
|
+
Use this skill when creating or modifying:
|
|
12
|
+
- Mobile applications or responsive web apps
|
|
13
|
+
- Component libraries or design systems
|
|
14
|
+
- Screen layouts and navigation
|
|
15
|
+
- Card-based interfaces
|
|
16
|
+
- Grid systems and layouts
|
|
17
|
+
- Any UI that needs to be mobile-optimized
|
|
18
|
+
|
|
19
|
+
## Instructions for Claude
|
|
20
|
+
|
|
21
|
+
### CORE PRINCIPLES - NEVER BREAK THESE
|
|
22
|
+
1. **Mobile-First**: Always design for mobile first (320px minimum), then enhance for larger screens
|
|
23
|
+
2. **Consistent Heights**: Cards in the same row/section MUST have identical heights
|
|
24
|
+
3. **Text Containment**: Text must never break into unwanted line breaks that distort layouts
|
|
25
|
+
4. **Proportional Scaling**: All spacing, fonts, and components scale proportionally
|
|
26
|
+
5. **Touch Targets**: Minimum 44px touch targets, optimal 48-56px
|
|
27
|
+
6. **Safe Areas**: Account for notches, navigation bars, and screen edges
|
|
28
|
+
|
|
29
|
+
### CARD LAYOUT RULES (Your Biggest Pain Point)
|
|
30
|
+
```
|
|
31
|
+
CARD REQUIREMENTS:
|
|
32
|
+
- Fixed height for cards in horizontal grids (same row = same height)
|
|
33
|
+
- Content overflow: ellipsis or scroll, NEVER expand card height
|
|
34
|
+
- Text truncation: max 2 lines, then ellipsis
|
|
35
|
+
- Icons: Fixed container sizes, NEVER distort parent containers
|
|
36
|
+
- Padding: Consistent 16px internal, 8px between cards
|
|
37
|
+
- Border radius: 12px for cards, 8px for buttons
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### COMMON PROBLEM SOLUTIONS
|
|
41
|
+
|
|
42
|
+
#### Problem: Cards with different heights in same row
|
|
43
|
+
**Solution**: Use CSS Grid with `grid-auto-rows: 1fr` or Flexbox with fixed heights
|
|
44
|
+
|
|
45
|
+
#### Problem: Text breaking causing card expansion
|
|
46
|
+
**Solution**: Use `line-clamp: 2`, `overflow: hidden`, `text-overflow: ellipsis`
|
|
47
|
+
|
|
48
|
+
#### Problem: Icon containers distorting layouts
|
|
49
|
+
**Solution**: Fixed aspect ratios, `object-fit: contain`, proper container sizing
|
|
50
|
+
|
|
51
|
+
#### Problem: Inconsistent padding/margins
|
|
52
|
+
**Solution**: Use design tokens, never arbitrary values
|
|
53
|
+
|
|
54
|
+
#### Problem: Mobile layout breaking on different screens
|
|
55
|
+
**Solution**: Container queries or responsive breakpoints at logical points
|
|
56
|
+
|
|
57
|
+
### MOBILE OPTIMIZATION CHECKLIST
|
|
58
|
+
- [ ] Screen width ≥320px, height ≥568px (iPhone SE minimum)
|
|
59
|
+
- [ ] Touch targets ≥44px (ideally 48px)
|
|
60
|
+
- [ ] Text readable at 14px minimum on mobile
|
|
61
|
+
- [ ] No horizontal scrolling on mobile
|
|
62
|
+
- [ ] Images have proper aspect ratios and loading states
|
|
63
|
+
- [ ] Forms work with mobile keyboards
|
|
64
|
+
- [ ] Navigation accessible with thumb zone
|
|
65
|
+
|
|
66
|
+
### COMPONENT PATTERNS
|
|
67
|
+
|
|
68
|
+
#### Card Grid Layout
|
|
69
|
+
```css
|
|
70
|
+
.card-grid {
|
|
71
|
+
display: grid;
|
|
72
|
+
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
73
|
+
gap: 16px;
|
|
74
|
+
grid-auto-rows: 1fr; /* EQUAL HEIGHTS */
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.card {
|
|
78
|
+
height: 100%; /* FILL AVAILABLE SPACE */
|
|
79
|
+
padding: 16px;
|
|
80
|
+
border-radius: 12px;
|
|
81
|
+
display: flex;
|
|
82
|
+
flex-direction: column;
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
#### Card Content Structure
|
|
87
|
+
```css
|
|
88
|
+
.card-content {
|
|
89
|
+
flex: 1; /* TAKE REMAINING SPACE */
|
|
90
|
+
display: flex;
|
|
91
|
+
flex-direction: column;
|
|
92
|
+
gap: 12px;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.card-title {
|
|
96
|
+
font-size: 16px;
|
|
97
|
+
font-weight: 600;
|
|
98
|
+
line-height: 1.4;
|
|
99
|
+
display: -webkit-box;
|
|
100
|
+
-webkit-line-clamp: 2;
|
|
101
|
+
-webkit-box-orient: vertical;
|
|
102
|
+
overflow: hidden;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.card-description {
|
|
106
|
+
flex: 1; /* FILL SPACE TO MAINTAIN HEIGHT */
|
|
107
|
+
font-size: 14px;
|
|
108
|
+
line-height: 1.5;
|
|
109
|
+
color: var(--text-secondary);
|
|
110
|
+
display: -webkit-box;
|
|
111
|
+
-webkit-line-clamp: 3;
|
|
112
|
+
-webkit-box-orient: vertical;
|
|
113
|
+
overflow: hidden;
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### RESPONSIVE BREAKPOINTS
|
|
118
|
+
- Mobile: 320px - 768px
|
|
119
|
+
- Tablet: 768px - 1024px
|
|
120
|
+
- Desktop: 1024px+
|
|
121
|
+
|
|
122
|
+
### DESIGN TOKENS (Use These Instead of Random Values)
|
|
123
|
+
```css
|
|
124
|
+
:root {
|
|
125
|
+
/* Spacing */
|
|
126
|
+
--space-xs: 4px;
|
|
127
|
+
--space-sm: 8px;
|
|
128
|
+
--space-md: 16px;
|
|
129
|
+
--space-lg: 24px;
|
|
130
|
+
--space-xl: 32px;
|
|
131
|
+
|
|
132
|
+
/* Typography */
|
|
133
|
+
--font-size-xs: 12px;
|
|
134
|
+
--font-size-sm: 14px;
|
|
135
|
+
--font-size-base: 16px;
|
|
136
|
+
--font-size-lg: 18px;
|
|
137
|
+
--font-size-xl: 20px;
|
|
138
|
+
|
|
139
|
+
/* Layout */
|
|
140
|
+
--border-radius-sm: 8px;
|
|
141
|
+
--border-radius-md: 12px;
|
|
142
|
+
--border-radius-lg: 16px;
|
|
143
|
+
|
|
144
|
+
/* Touch targets */
|
|
145
|
+
--touch-target-min: 44px;
|
|
146
|
+
--touch-target-optimal: 48px;
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### QUALITY ASSURANCE STEPS
|
|
151
|
+
1. Test on actual devices (not just browser dev tools)
|
|
152
|
+
2. Check all screen sizes from 320px to 4K
|
|
153
|
+
3. Verify touch targets with actual fingers
|
|
154
|
+
4. Test with real content (not lorem ipsum)
|
|
155
|
+
5. Check contrast ratios for accessibility
|
|
156
|
+
6. Validate performance on slower connections
|
|
157
|
+
|
|
158
|
+
## Input Requirements
|
|
159
|
+
- Target platform (iOS, Android, Web, React Native, Flutter)
|
|
160
|
+
- Primary screen size range
|
|
161
|
+
- Component types needed
|
|
162
|
+
- Design system constraints (if any)
|
|
163
|
+
- Specific pain points to address
|
|
164
|
+
|
|
165
|
+
## Output Format
|
|
166
|
+
Return complete, production-ready code with:
|
|
167
|
+
- Mobile-first CSS with proper breakpoints
|
|
168
|
+
- Accessible markup with ARIA labels
|
|
169
|
+
- Performance-optimized components
|
|
170
|
+
- Consistent design token usage
|
|
171
|
+
- Mobile-specific considerations documented
|
|
172
|
+
- Cross-platform compatibility notes
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
<!-- MOBILE-OPTIMIZED CARD GRID TEMPLATE -->
|
|
2
|
+
<!-- Solves: Uneven card heights, text overflow, layout distortion -->
|
|
3
|
+
|
|
4
|
+
<div class="card-grid">
|
|
5
|
+
<div class="card">
|
|
6
|
+
<div class="card-header">
|
|
7
|
+
<div class="icon-container">
|
|
8
|
+
<svg class="card-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor">
|
|
9
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"/>
|
|
10
|
+
</svg>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
<div class="card-content">
|
|
15
|
+
<h3 class="card-title">Professional Card Title That Won't Break Layout</h3>
|
|
16
|
+
<p class="card-description">
|
|
17
|
+
This description text is properly contained and will never cause the card to expand.
|
|
18
|
+
It uses line clamping to maintain consistent heights across all cards in the grid.
|
|
19
|
+
</p>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<div class="card-footer">
|
|
23
|
+
<button class="card-action">Action Button</button>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
<div class="card">
|
|
28
|
+
<div class="card-header">
|
|
29
|
+
<div class="icon-container">
|
|
30
|
+
<svg class="card-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor">
|
|
31
|
+
<circle cx="12" cy="12" r="10"/>
|
|
32
|
+
<path d="m9 12 2 2 4-4"/>
|
|
33
|
+
</svg>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
<div class="card-content">
|
|
38
|
+
<h3 class="card-title">Another Card Title</h3>
|
|
39
|
+
<p class="card-description">
|
|
40
|
+
Short description that demonstrates consistent card heights.
|
|
41
|
+
All cards maintain the same dimensions regardless of content length.
|
|
42
|
+
</p>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<div class="card-footer">
|
|
46
|
+
<button class="card-action">Action Button</button>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
|
|
50
|
+
<div class="card">
|
|
51
|
+
<div class="card-header">
|
|
52
|
+
<div class="icon-container">
|
|
53
|
+
<svg class="card-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor">
|
|
54
|
+
<path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"/>
|
|
55
|
+
</svg>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<div class="card-content">
|
|
60
|
+
<h3 class="card-title">Third Card with Longer Title That Still Fits</h3>
|
|
61
|
+
<p class="card-description">
|
|
62
|
+
This card has more content but maintains perfect alignment with its siblings.
|
|
63
|
+
The layout system prevents any height discrepancies or visual inconsistencies.
|
|
64
|
+
</p>
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
<div class="card-footer">
|
|
68
|
+
<button class="card-action">Action Button</button>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
|
|
73
|
+
<style>
|
|
74
|
+
/* MOBILE-FIRST CARD GRID SYSTEM */
|
|
75
|
+
.card-grid {
|
|
76
|
+
display: grid;
|
|
77
|
+
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
78
|
+
gap: 16px;
|
|
79
|
+
grid-auto-rows: 1fr; /* CRITICAL: EQUAL HEIGHTS FOR ALL CARDS */
|
|
80
|
+
padding: 16px;
|
|
81
|
+
max-width: 1200px;
|
|
82
|
+
margin: 0 auto;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/* RESPONSIVE BREAKPOINTS */
|
|
86
|
+
@media (max-width: 480px) {
|
|
87
|
+
.card-grid {
|
|
88
|
+
grid-template-columns: 1fr;
|
|
89
|
+
gap: 12px;
|
|
90
|
+
padding: 12px;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
@media (min-width: 768px) {
|
|
95
|
+
.card-grid {
|
|
96
|
+
grid-template-columns: repeat(2, 1fr);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
@media (min-width: 1024px) {
|
|
101
|
+
.card-grid {
|
|
102
|
+
grid-template-columns: repeat(3, 1fr);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/* CARD STRUCTURE */
|
|
107
|
+
.card {
|
|
108
|
+
height: 100%; /* FILL GRID ROW HEIGHT */
|
|
109
|
+
background: white;
|
|
110
|
+
border-radius: 12px;
|
|
111
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
112
|
+
display: flex;
|
|
113
|
+
flex-direction: column;
|
|
114
|
+
overflow: hidden; /* PREVENT CONTENT OVERFLOW */
|
|
115
|
+
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.card:hover {
|
|
119
|
+
transform: translateY(-2px);
|
|
120
|
+
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/* CARD HEADER WITH ICON */
|
|
124
|
+
.card-header {
|
|
125
|
+
padding: 16px 16px 0 16px;
|
|
126
|
+
display: flex;
|
|
127
|
+
justify-content: flex-start;
|
|
128
|
+
align-items: center;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.icon-container {
|
|
132
|
+
width: 48px;
|
|
133
|
+
height: 48px;
|
|
134
|
+
border-radius: 8px;
|
|
135
|
+
background: #f3f4f6;
|
|
136
|
+
display: flex;
|
|
137
|
+
align-items: center;
|
|
138
|
+
justify-content: center;
|
|
139
|
+
flex-shrink: 0; /* PREVENT ICON DISTORTION */
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.card-icon {
|
|
143
|
+
width: 24px;
|
|
144
|
+
height: 24px;
|
|
145
|
+
color: #6b7280;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/* CARD CONTENT - FLEXIBLE AND CONTAINED */
|
|
149
|
+
.card-content {
|
|
150
|
+
flex: 1; /* TAKE REMAINING SPACE */
|
|
151
|
+
padding: 12px 16px;
|
|
152
|
+
display: flex;
|
|
153
|
+
flex-direction: column;
|
|
154
|
+
gap: 8px;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.card-title {
|
|
158
|
+
font-size: 16px;
|
|
159
|
+
font-weight: 600;
|
|
160
|
+
line-height: 1.4;
|
|
161
|
+
color: #111827;
|
|
162
|
+
margin: 0;
|
|
163
|
+
|
|
164
|
+
/* TEXT CONTAINMENT - PREVENTS LAYOUT BREAKAGE */
|
|
165
|
+
display: -webkit-box;
|
|
166
|
+
-webkit-line-clamp: 2;
|
|
167
|
+
-webkit-box-orient: vertical;
|
|
168
|
+
overflow: hidden;
|
|
169
|
+
word-break: break-word;
|
|
170
|
+
hyphens: auto;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.card-description {
|
|
174
|
+
flex: 1; /* FILL AVAILABLE SPACE TO MAINTAIN HEIGHT */
|
|
175
|
+
font-size: 14px;
|
|
176
|
+
line-height: 1.5;
|
|
177
|
+
color: #6b7280;
|
|
178
|
+
margin: 0;
|
|
179
|
+
|
|
180
|
+
/* TEXT CONTAINMENT */
|
|
181
|
+
display: -webkit-box;
|
|
182
|
+
-webkit-line-clamp: 3;
|
|
183
|
+
-webkit-box-orient: vertical;
|
|
184
|
+
overflow: hidden;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/* CARD FOOTER */
|
|
188
|
+
.card-footer {
|
|
189
|
+
padding: 0 16px 16px 16px;
|
|
190
|
+
margin-top: auto; /* PUSH TO BOTTOM */
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.card-action {
|
|
194
|
+
width: 100%;
|
|
195
|
+
padding: 12px 16px;
|
|
196
|
+
background: #3b82f6;
|
|
197
|
+
color: white;
|
|
198
|
+
border: none;
|
|
199
|
+
border-radius: 8px;
|
|
200
|
+
font-size: 14px;
|
|
201
|
+
font-weight: 500;
|
|
202
|
+
cursor: pointer;
|
|
203
|
+
transition: background-color 0.2s ease;
|
|
204
|
+
min-height: 44px; /* TOUCH TARGET MINIMUM */
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.card-action:hover {
|
|
208
|
+
background: #2563eb;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.card-action:active {
|
|
212
|
+
background: #1d4ed8;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/* DARK MODE SUPPORT */
|
|
216
|
+
@media (prefers-color-scheme: dark) {
|
|
217
|
+
.card {
|
|
218
|
+
background: #1f2937;
|
|
219
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
.card-title {
|
|
223
|
+
color: #f9fafb;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.card-description {
|
|
227
|
+
color: #d1d5db;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.icon-container {
|
|
231
|
+
background: #374151;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.card-icon {
|
|
235
|
+
color: #9ca3af;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/* HIGH CONTRAST MODE */
|
|
240
|
+
@media (prefers-contrast: high) {
|
|
241
|
+
.card {
|
|
242
|
+
border: 2px solid #000;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.card-action {
|
|
246
|
+
border: 2px solid #000;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/* REDUCED MOTION */
|
|
251
|
+
@media (prefers-reduced-motion: reduce) {
|
|
252
|
+
.card {
|
|
253
|
+
transition: none;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.card-action {
|
|
257
|
+
transition: none;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
</style>
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# MOBILE UI/UX QUALITY ASSURANCE CHECKLIST
|
|
2
|
+
|
|
3
|
+
## 🎯 CRITICAL ISSUES (Your Main Pain Points)
|
|
4
|
+
|
|
5
|
+
### ✅ Card Layout Consistency
|
|
6
|
+
- [ ] **Equal Heights**: All cards in same row have identical heights
|
|
7
|
+
- [ ] **No Expansion**: Cards never grow taller due to content overflow
|
|
8
|
+
- [ ] **Grid Alignment**: Cards align perfectly in horizontal grids
|
|
9
|
+
- [ ] **Responsive Scaling**: Cards maintain proportions across screen sizes
|
|
10
|
+
|
|
11
|
+
### ✅ Text Management
|
|
12
|
+
- [ ] **No Unwanted Breaks**: Text doesn't break into multiple lines unexpectedly
|
|
13
|
+
- [ ] **Proper Truncation**: Long text uses ellipsis, never breaks layout
|
|
14
|
+
- [ ] **Line Limits**: Titles max 2 lines, descriptions max 3 lines
|
|
15
|
+
- [ ] **Readable Fonts**: Minimum 14px on mobile, proper line heights
|
|
16
|
+
|
|
17
|
+
### ✅ Icon & Container Issues
|
|
18
|
+
- [ ] **Fixed Containers**: Icon containers have consistent dimensions
|
|
19
|
+
- [ ] **No Distortion**: Parent containers never distort from icon content
|
|
20
|
+
- [ ] **Aspect Ratios**: Icons maintain proper proportions
|
|
21
|
+
- [ ] **Proper Scaling**: Icons scale appropriately across devices
|
|
22
|
+
|
|
23
|
+
### ✅ Spacing & Padding
|
|
24
|
+
- [ ] **Consistent Padding**: 16px internal, 8px between elements
|
|
25
|
+
- [ ] **Touch Targets**: Minimum 44px, optimal 48-56px
|
|
26
|
+
- [ ] **Safe Areas**: Content avoids notches, navigation bars
|
|
27
|
+
- [ ] **Proportional Scaling**: Spacing scales with screen size
|
|
28
|
+
|
|
29
|
+
## 📱 MOBILE OPTIMIZATION CHECKLIST
|
|
30
|
+
|
|
31
|
+
### Screen Size Coverage
|
|
32
|
+
- [ ] **Minimum Support**: 320px width (iPhone SE)
|
|
33
|
+
- [ ] **Content Scaling**: Works from 320px to 4K displays
|
|
34
|
+
- [ ] **Orientation**: Works in both portrait and landscape
|
|
35
|
+
- [ ] **Device Testing**: Tested on actual devices, not just emulators
|
|
36
|
+
|
|
37
|
+
### Touch & Interaction
|
|
38
|
+
- [ ] **Touch Targets**: All interactive elements ≥44px
|
|
39
|
+
- [ ] **Thumb Zone**: Important actions in easy reach
|
|
40
|
+
- [ ] **Gesture Support**: Swipe, pinch, long-press where appropriate
|
|
41
|
+
- [ ] **Feedback**: Visual feedback for all interactions
|
|
42
|
+
|
|
43
|
+
### Performance & Loading
|
|
44
|
+
- [ ] **Fast Loading**: Images optimized, lazy loading implemented
|
|
45
|
+
- [ ] **Smooth Scrolling**: No janky animations or transitions
|
|
46
|
+
- [ ] **Memory Efficient**: No memory leaks, proper cleanup
|
|
47
|
+
- [ ] **Offline Support**: Graceful degradation without network
|
|
48
|
+
|
|
49
|
+
### Accessibility
|
|
50
|
+
- [ ] **Screen Readers**: Proper ARIA labels and semantic HTML
|
|
51
|
+
- [ ] **Keyboard Navigation**: Full keyboard accessibility
|
|
52
|
+
- [ ] **Color Contrast**: WCAG AA compliance (4.5:1 ratio)
|
|
53
|
+
- [ ] **Focus Indicators**: Clear focus states for all elements
|
|
54
|
+
|
|
55
|
+
## 🛠️ DEVELOPMENT STANDARDS
|
|
56
|
+
|
|
57
|
+
### Code Quality
|
|
58
|
+
- [ ] **Mobile-First CSS**: Mobile styles first, then enhancements
|
|
59
|
+
- [ ] **Flexbox/Grid**: Modern layout systems, no floats
|
|
60
|
+
- [ ] **CSS Custom Properties**: Design tokens for consistency
|
|
61
|
+
- [ ] **Component Libraries**: Reusable, tested components
|
|
62
|
+
|
|
63
|
+
### Responsive Design
|
|
64
|
+
- [ ] **Breakpoint Strategy**: Logical breakpoints, not device-specific
|
|
65
|
+
- [ ] **Content Priority**: Most important content visible first
|
|
66
|
+
- [ ] **Progressive Enhancement**: Works without JavaScript
|
|
67
|
+
- [ ] **Cross-Browser**: Consistent across WebKit, Gecko, etc.
|
|
68
|
+
|
|
69
|
+
### Quality Assurance
|
|
70
|
+
- [ ] **Cross-Device Testing**: iOS Safari, Chrome Mobile, Samsung Internet
|
|
71
|
+
- [ ] **Real Device Testing**: Not just browser dev tools
|
|
72
|
+
- [ ] **Performance Monitoring**: Core Web Vitals tracking
|
|
73
|
+
- [ ] **User Testing**: Real user feedback incorporated
|
|
74
|
+
|
|
75
|
+
## 🚫 COMMON MISTAKES TO AVOID
|
|
76
|
+
|
|
77
|
+
### Layout Issues
|
|
78
|
+
- ❌ Cards with different heights in same row
|
|
79
|
+
- ❌ Text overflow breaking card layouts
|
|
80
|
+
- ❌ Fixed pixel values instead of relative units
|
|
81
|
+
- ❌ Not accounting for different screen densities
|
|
82
|
+
|
|
83
|
+
### Mobile-Specific Problems
|
|
84
|
+
- ❌ Touch targets smaller than 44px
|
|
85
|
+
- ❌ Horizontal scrolling on mobile
|
|
86
|
+
- ❌ Content hidden behind navigation bars
|
|
87
|
+
- ❌ Forms not optimized for mobile keyboards
|
|
88
|
+
|
|
89
|
+
### Performance Issues
|
|
90
|
+
- ❌ Large images without optimization
|
|
91
|
+
- ❌ Heavy JavaScript blocking rendering
|
|
92
|
+
- ❌ No loading states for slow connections
|
|
93
|
+
- ❌ Memory leaks in single-page applications
|
|
94
|
+
|
|
95
|
+
### Accessibility Failures
|
|
96
|
+
- ❌ Missing alt text on images
|
|
97
|
+
- ❌ Poor color contrast ratios
|
|
98
|
+
- ❌ No keyboard navigation support
|
|
99
|
+
- ❌ Missing focus indicators
|
|
100
|
+
|
|
101
|
+
## 📊 MEASUREMENT METRICS
|
|
102
|
+
|
|
103
|
+
### Performance Metrics
|
|
104
|
+
- **First Contentful Paint**: < 1.5 seconds
|
|
105
|
+
- **Largest Contentful Paint**: < 2.5 seconds
|
|
106
|
+
- **Cumulative Layout Shift**: < 0.1
|
|
107
|
+
- **First Input Delay**: < 100ms
|
|
108
|
+
|
|
109
|
+
### Quality Metrics
|
|
110
|
+
- **Accessibility Score**: > 90 (Lighthouse)
|
|
111
|
+
- **Performance Score**: > 90 (Lighthouse)
|
|
112
|
+
- **Best Practices Score**: > 90 (Lighthouse)
|
|
113
|
+
- **SEO Score**: > 90 (Lighthouse)
|
|
114
|
+
|
|
115
|
+
### User Experience Metrics
|
|
116
|
+
- **Task Completion Rate**: > 95%
|
|
117
|
+
- **Error Rate**: < 5%
|
|
118
|
+
- **Time to Complete Tasks**: Within acceptable ranges
|
|
119
|
+
- **User Satisfaction Score**: > 4/5
|
|
120
|
+
|
|
121
|
+
## 🧪 TESTING PROTOCOL
|
|
122
|
+
|
|
123
|
+
### Automated Testing
|
|
124
|
+
1. **Visual Regression**: Screenshot comparison across devices
|
|
125
|
+
2. **Accessibility Audit**: Automated WCAG compliance checking
|
|
126
|
+
3. **Performance Testing**: Core Web Vitals monitoring
|
|
127
|
+
4. **Cross-Browser Testing**: Automated browser compatibility
|
|
128
|
+
|
|
129
|
+
### Manual Testing
|
|
130
|
+
1. **Device Testing**: Physical devices of various sizes
|
|
131
|
+
2. **User Flow Testing**: Complete user journeys
|
|
132
|
+
3. **Edge Case Testing**: Error states, slow connections
|
|
133
|
+
4. **Accessibility Testing**: Screen readers, keyboard navigation
|
|
134
|
+
|
|
135
|
+
### Quality Gates
|
|
136
|
+
- [ ] All automated tests passing
|
|
137
|
+
- [ ] Manual testing checklist complete
|
|
138
|
+
- [ ] Performance metrics within acceptable ranges
|
|
139
|
+
- [ ] Accessibility audit passing
|
|
140
|
+
- [ ] Cross-browser compatibility verified
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Claude Code Skill: Professional Documentation Writer
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
name: professional-documentation-writer
|
|
5
|
+
description: Creates comprehensive, well-structured documentation for codebases, APIs, and projects with consistent formatting and professional tone
|
|
6
|
+
author: Your Name
|
|
7
|
+
version: 1.0.0
|
|
8
|
+
tags: documentation, writing, markdown, professional
|
|
9
|
+
|
|
10
|
+
## When to Use This Skill
|
|
11
|
+
Use this skill when you need to:
|
|
12
|
+
- Generate README files for new projects
|
|
13
|
+
- Create API documentation
|
|
14
|
+
- Write user guides and tutorials
|
|
15
|
+
- Document code functions and classes
|
|
16
|
+
- Create project documentation
|
|
17
|
+
|
|
18
|
+
## Instructions for Claude
|
|
19
|
+
When using this skill, follow these guidelines:
|
|
20
|
+
|
|
21
|
+
1. **Structure**: Always use clear headings, subheadings, and proper markdown formatting
|
|
22
|
+
2. **Tone**: Professional yet approachable - avoid overly technical jargon unless explaining technical concepts
|
|
23
|
+
3. **Completeness**: Include all necessary sections (installation, usage, examples, API reference, etc.)
|
|
24
|
+
4. **Consistency**: Use consistent formatting throughout the document
|
|
25
|
+
5. **Examples**: Provide practical code examples where relevant
|
|
26
|
+
6. **Navigation**: Include a table of contents for longer documents
|
|
27
|
+
|
|
28
|
+
## Input Requirements
|
|
29
|
+
- Project type (library, API, web app, CLI tool, etc.)
|
|
30
|
+
- Key features/functionality to document
|
|
31
|
+
- Target audience (developers, end users, administrators)
|
|
32
|
+
- Any specific sections to include or exclude
|
|
33
|
+
|
|
34
|
+
## Output Format
|
|
35
|
+
Return the documentation in clean markdown format with:
|
|
36
|
+
- Header with title and description
|
|
37
|
+
- Table of contents (for documents > 500 words)
|
|
38
|
+
- Installation/Setup section
|
|
39
|
+
- Usage examples
|
|
40
|
+
- API reference (if applicable)
|
|
41
|
+
- Contributing guidelines
|
|
42
|
+
- License information
|