claude-code-orchestrator-kit 1.1.0 → 1.2.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/.claude/agents/frontend/workers/fullstack-nextjs-specialist.md +4 -0
- package/.claude/agents/frontend/workers/nextjs-ui-designer.md +652 -0
- package/.claude/agents/frontend/workers/visual-effects-creator.md +4 -0
- package/.claude/agents/health/workers/dependency-auditor.md +43 -13
- package/.claude/agents/health/workers/dependency-updater.md +9 -0
- package/.claude/commands/speckit.implement.md +15 -9
- package/.claude/commands/speckit.tasks.md +4 -3
- package/.claude/scripts/release.sh +260 -40
- package/.claude/skills/frontend-aesthetics/SKILL.md +440 -0
- package/.github/workflows/publish.yml +33 -0
- package/.gitignore +7 -1
- package/docs/Agents Ecosystem/spec-kit-comprehensive-updates.md +17 -27
- package/mcp/.mcp.base.json +3 -9
- package/mcp/.mcp.frontend.json +3 -9
- package/mcp/.mcp.full.json +3 -9
- package/mcp/.mcp.n8n.json +3 -9
- package/mcp/.mcp.supabase-full.json +3 -9
- package/mcp/.mcp.supabase-only.json +3 -9
- package/package.json +78 -78
- package/.claude/settings.local.json +0 -21
- package/mcp/.mcp.local.json +0 -7
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: frontend-aesthetics
|
|
3
|
+
description: Guide frontend design decisions to create distinctive, creative UIs that avoid generic AI-generated aesthetics. Use when building UI components, designing layouts, selecting colors/fonts, or implementing animations.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Frontend Aesthetics
|
|
7
|
+
|
|
8
|
+
Create distinctive, creative frontend designs that avoid generic AI-generated aesthetics and cookie-cutter patterns.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- Designing new UI components or layouts
|
|
13
|
+
- Selecting typography and font pairings
|
|
14
|
+
- Choosing color schemes and themes
|
|
15
|
+
- Implementing animations and micro-interactions
|
|
16
|
+
- Reviewing frontend designs for generic patterns
|
|
17
|
+
- Making design decisions for landing pages, dashboards, or web applications
|
|
18
|
+
- Providing design guidance to frontend-focused agents
|
|
19
|
+
|
|
20
|
+
## Instructions
|
|
21
|
+
|
|
22
|
+
### Step 1: Assess Design Context
|
|
23
|
+
|
|
24
|
+
Understand the project's brand identity, purpose, and target aesthetic before making design decisions.
|
|
25
|
+
|
|
26
|
+
**Key Questions**:
|
|
27
|
+
- What is the project's brand personality? (playful, professional, technical, editorial, etc.)
|
|
28
|
+
- Who is the target audience?
|
|
29
|
+
- What emotional response should the design evoke?
|
|
30
|
+
- What makes this project unique?
|
|
31
|
+
|
|
32
|
+
### Step 2: Typography Selection
|
|
33
|
+
|
|
34
|
+
Choose beautiful, unique, and interesting fonts that match the project's character.
|
|
35
|
+
|
|
36
|
+
**AVOID These Generic Fonts**:
|
|
37
|
+
- Inter (massively overused in AI-generated UIs)
|
|
38
|
+
- Roboto
|
|
39
|
+
- Arial
|
|
40
|
+
- System fonts (-apple-system, BlinkMacSystemFont)
|
|
41
|
+
|
|
42
|
+
**Recommended Font Categories**:
|
|
43
|
+
|
|
44
|
+
**Code/Technical Aesthetics**:
|
|
45
|
+
- JetBrains Mono
|
|
46
|
+
- Fira Code
|
|
47
|
+
- Cascadia Code
|
|
48
|
+
- Victor Mono
|
|
49
|
+
|
|
50
|
+
**Editorial/Sophisticated**:
|
|
51
|
+
- Playfair Display
|
|
52
|
+
- Crimson Pro
|
|
53
|
+
- Spectral
|
|
54
|
+
- Lora
|
|
55
|
+
|
|
56
|
+
**Modern/Clean**:
|
|
57
|
+
- Space Grotesk (use sparingly - increasingly common)
|
|
58
|
+
- DM Sans
|
|
59
|
+
- Outfit
|
|
60
|
+
- Plus Jakarta Sans
|
|
61
|
+
|
|
62
|
+
**Critical**: Vary font choices across different projects. Don't converge on the same selections (like Space Grotesk) across all generations.
|
|
63
|
+
|
|
64
|
+
### Step 3: Color & Theme Design
|
|
65
|
+
|
|
66
|
+
Create cohesive color systems using CSS variables with dominant colors and sharp accents.
|
|
67
|
+
|
|
68
|
+
**Principles**:
|
|
69
|
+
- Dominant colors with sharp accents > timid, evenly-distributed palettes
|
|
70
|
+
- Commit to a cohesive aesthetic using CSS variables
|
|
71
|
+
- Draw inspiration from IDE themes (Dracula, Nord, Tokyo Night, Monokai, etc.)
|
|
72
|
+
- Consider cultural aesthetics relevant to project context
|
|
73
|
+
|
|
74
|
+
**AVOID**:
|
|
75
|
+
- Purple gradients on white backgrounds (clichéd AI aesthetic)
|
|
76
|
+
- Generic blue/gray combinations
|
|
77
|
+
- Predictable rainbow palettes with equal weight
|
|
78
|
+
- Safe, corporate color schemes when inappropriate for context
|
|
79
|
+
|
|
80
|
+
**Approach**:
|
|
81
|
+
- Choose 1-2 dominant colors that define the brand
|
|
82
|
+
- Add 1-2 sharp accent colors for calls-to-action and highlights
|
|
83
|
+
- Use CSS custom properties for theming
|
|
84
|
+
- Consider both light and dark mode variations
|
|
85
|
+
|
|
86
|
+
### Step 4: Motion & Animation
|
|
87
|
+
|
|
88
|
+
Use animations strategically for high-impact moments and delightful micro-interactions.
|
|
89
|
+
|
|
90
|
+
**Animation Priorities**:
|
|
91
|
+
1. **High-impact moments**: Orchestrated page loads with staggered reveals
|
|
92
|
+
2. **Micro-interactions**: Button hovers, transitions, state changes
|
|
93
|
+
3. **Contextual effects**: Scroll-triggered animations, parallax
|
|
94
|
+
|
|
95
|
+
**Implementation Guidelines**:
|
|
96
|
+
- **For HTML/Vanilla JS**: Prioritize CSS-only solutions (transitions, animations, @keyframes)
|
|
97
|
+
- **For React**: Use Motion library (Framer Motion) when available
|
|
98
|
+
- **Focus on orchestration**: One well-orchestrated sequence > scattered micro-interactions
|
|
99
|
+
- **Use animation-delay**: Create staggered reveals for related elements
|
|
100
|
+
|
|
101
|
+
**Example Pattern**:
|
|
102
|
+
```css
|
|
103
|
+
.stagger-item {
|
|
104
|
+
animation: fadeInUp 0.6s ease-out forwards;
|
|
105
|
+
opacity: 0;
|
|
106
|
+
}
|
|
107
|
+
.stagger-item:nth-child(1) { animation-delay: 0.1s; }
|
|
108
|
+
.stagger-item:nth-child(2) { animation-delay: 0.2s; }
|
|
109
|
+
.stagger-item:nth-child(3) { animation-delay: 0.3s; }
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Step 5: Background & Atmosphere
|
|
113
|
+
|
|
114
|
+
Create depth and atmosphere through layered backgrounds and contextual effects.
|
|
115
|
+
|
|
116
|
+
**AVOID**:
|
|
117
|
+
- Defaulting to solid colors
|
|
118
|
+
- Plain white or gray backgrounds
|
|
119
|
+
- Flat, lifeless surfaces
|
|
120
|
+
|
|
121
|
+
**Recommended Approaches**:
|
|
122
|
+
- Layer CSS gradients for depth
|
|
123
|
+
- Use geometric patterns (stripes, grids, dots)
|
|
124
|
+
- Add subtle noise textures
|
|
125
|
+
- Implement contextual effects (glow, blur, shadows)
|
|
126
|
+
- Match background complexity to overall aesthetic
|
|
127
|
+
|
|
128
|
+
**Example Patterns**:
|
|
129
|
+
```css
|
|
130
|
+
/* Layered gradient */
|
|
131
|
+
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
132
|
+
|
|
133
|
+
/* Geometric pattern */
|
|
134
|
+
background-image:
|
|
135
|
+
repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(0,0,0,.05) 10px, rgba(0,0,0,.05) 20px);
|
|
136
|
+
|
|
137
|
+
/* Subtle noise texture */
|
|
138
|
+
background-image: url('data:image/svg+xml,...'), linear-gradient(...);
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Step 6: Validate Against Anti-Patterns
|
|
142
|
+
|
|
143
|
+
Review the design against common AI-generated UI pitfalls.
|
|
144
|
+
|
|
145
|
+
**Anti-Pattern Checklist**:
|
|
146
|
+
- [ ] Not using Inter, Roboto, Arial, or system fonts
|
|
147
|
+
- [ ] No purple gradients on white backgrounds
|
|
148
|
+
- [ ] Color palette has clear hierarchy (dominant + accent, not even distribution)
|
|
149
|
+
- [ ] Animations are orchestrated and purposeful (not scattered)
|
|
150
|
+
- [ ] Backgrounds have depth and atmosphere (not solid colors)
|
|
151
|
+
- [ ] Layout is creative and context-appropriate (not cookie-cutter)
|
|
152
|
+
- [ ] Typography is distinctive and matches brand personality
|
|
153
|
+
- [ ] Design choices vary from previous projects (not repetitive)
|
|
154
|
+
|
|
155
|
+
### Step 7: Return Design Guidance
|
|
156
|
+
|
|
157
|
+
Provide specific, actionable design recommendations.
|
|
158
|
+
|
|
159
|
+
**Expected Output**:
|
|
160
|
+
```json
|
|
161
|
+
{
|
|
162
|
+
"typography": {
|
|
163
|
+
"primary": "Font name and reasoning",
|
|
164
|
+
"secondary": "Font name and reasoning",
|
|
165
|
+
"code": "Monospace font (if applicable)"
|
|
166
|
+
},
|
|
167
|
+
"colors": {
|
|
168
|
+
"dominant": ["#hex1", "#hex2"],
|
|
169
|
+
"accent": ["#hex3"],
|
|
170
|
+
"theme_inspiration": "IDE theme or cultural aesthetic reference"
|
|
171
|
+
},
|
|
172
|
+
"animations": {
|
|
173
|
+
"approach": "CSS-only or Framer Motion",
|
|
174
|
+
"focus": "Page load orchestration or micro-interactions",
|
|
175
|
+
"key_moments": ["List of high-impact animation opportunities"]
|
|
176
|
+
},
|
|
177
|
+
"backgrounds": {
|
|
178
|
+
"technique": "Layered gradients, geometric patterns, etc.",
|
|
179
|
+
"atmosphere": "Description of desired depth/mood"
|
|
180
|
+
},
|
|
181
|
+
"anti_pattern_validation": {
|
|
182
|
+
"passed": true,
|
|
183
|
+
"warnings": []
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## Error Handling
|
|
189
|
+
|
|
190
|
+
- **Missing Context**: Ask clarifying questions about brand identity and project purpose
|
|
191
|
+
- **Generic Choices Detected**: Explicitly warn and suggest distinctive alternatives
|
|
192
|
+
- **Repetitive Patterns**: Flag convergence on previously used aesthetics
|
|
193
|
+
- **Unclear Requirements**: Request specific design goals or constraints
|
|
194
|
+
|
|
195
|
+
## Examples
|
|
196
|
+
|
|
197
|
+
### Example 1: Technical Documentation Site
|
|
198
|
+
|
|
199
|
+
**Input**:
|
|
200
|
+
```json
|
|
201
|
+
{
|
|
202
|
+
"project": "Developer documentation platform",
|
|
203
|
+
"brand": "Technical, clean, code-focused",
|
|
204
|
+
"audience": "Software engineers"
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**Output**:
|
|
209
|
+
```json
|
|
210
|
+
{
|
|
211
|
+
"typography": {
|
|
212
|
+
"primary": "DM Sans - modern, readable, technical feel without being generic",
|
|
213
|
+
"secondary": "Crimson Pro - for editorial content and longer reads",
|
|
214
|
+
"code": "JetBrains Mono - excellent code aesthetics with ligatures"
|
|
215
|
+
},
|
|
216
|
+
"colors": {
|
|
217
|
+
"dominant": ["#0f172a", "#1e293b"],
|
|
218
|
+
"accent": ["#38bdf8", "#f97316"],
|
|
219
|
+
"theme_inspiration": "Tokyo Night - dark blues with bright cyan and orange accents"
|
|
220
|
+
},
|
|
221
|
+
"animations": {
|
|
222
|
+
"approach": "CSS-only for performance",
|
|
223
|
+
"focus": "Staggered page load for documentation sections",
|
|
224
|
+
"key_moments": ["Code block reveal", "Navigation transitions", "Search result appearance"]
|
|
225
|
+
},
|
|
226
|
+
"backgrounds": {
|
|
227
|
+
"technique": "Dark gradient with subtle grid pattern overlay",
|
|
228
|
+
"atmosphere": "Technical depth with code editor vibe"
|
|
229
|
+
},
|
|
230
|
+
"anti_pattern_validation": {
|
|
231
|
+
"passed": true,
|
|
232
|
+
"warnings": []
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### Example 2: Creative Agency Landing Page
|
|
238
|
+
|
|
239
|
+
**Input**:
|
|
240
|
+
```json
|
|
241
|
+
{
|
|
242
|
+
"project": "Design agency portfolio",
|
|
243
|
+
"brand": "Bold, creative, experimental",
|
|
244
|
+
"audience": "Potential clients seeking innovative design"
|
|
245
|
+
}
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
**Output**:
|
|
249
|
+
```json
|
|
250
|
+
{
|
|
251
|
+
"typography": {
|
|
252
|
+
"primary": "Playfair Display - elegant, sophisticated, makes a statement",
|
|
253
|
+
"secondary": "Outfit - modern contrast for body text",
|
|
254
|
+
"code": "Not applicable"
|
|
255
|
+
},
|
|
256
|
+
"colors": {
|
|
257
|
+
"dominant": ["#000000", "#fffef7"],
|
|
258
|
+
"accent": ["#ff6b35", "#00d9ff"],
|
|
259
|
+
"theme_inspiration": "High-contrast editorial with vibrant accent pops"
|
|
260
|
+
},
|
|
261
|
+
"animations": {
|
|
262
|
+
"approach": "Framer Motion for complex orchestration",
|
|
263
|
+
"focus": "Full-page orchestrated entry sequence",
|
|
264
|
+
"key_moments": ["Hero text reveal with stagger", "Project thumbnails parallax", "Section transitions"]
|
|
265
|
+
},
|
|
266
|
+
"backgrounds": {
|
|
267
|
+
"technique": "Animated gradient mesh with organic shapes",
|
|
268
|
+
"atmosphere": "Dynamic, bold, artistic depth"
|
|
269
|
+
},
|
|
270
|
+
"anti_pattern_validation": {
|
|
271
|
+
"passed": true,
|
|
272
|
+
"warnings": []
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
### Example 3: Anti-Pattern Detection
|
|
278
|
+
|
|
279
|
+
**Input**:
|
|
280
|
+
```json
|
|
281
|
+
{
|
|
282
|
+
"project": "SaaS dashboard",
|
|
283
|
+
"proposed_design": {
|
|
284
|
+
"font": "Inter",
|
|
285
|
+
"colors": ["#6366f1", "#8b5cf6", "#ffffff"],
|
|
286
|
+
"background": "solid white",
|
|
287
|
+
"animations": "minimal button hovers"
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
**Output**:
|
|
293
|
+
```json
|
|
294
|
+
{
|
|
295
|
+
"typography": {
|
|
296
|
+
"primary": "REJECTED: Inter is overused. Recommend: Plus Jakarta Sans - similar readability, more distinctive",
|
|
297
|
+
"secondary": "Consider Spectral for data-heavy sections to add visual interest"
|
|
298
|
+
},
|
|
299
|
+
"colors": {
|
|
300
|
+
"dominant": ["#0c4a6e", "#082f49"],
|
|
301
|
+
"accent": ["#06b6d4", "#fbbf24"],
|
|
302
|
+
"theme_inspiration": "REJECTED: Purple gradient is clichéd. Recommend: Deep ocean blues with cyan/amber accents (Dracula-inspired)"
|
|
303
|
+
},
|
|
304
|
+
"animations": {
|
|
305
|
+
"approach": "Framer Motion",
|
|
306
|
+
"focus": "UPGRADE: Add orchestrated dashboard load sequence",
|
|
307
|
+
"key_moments": ["Staggered card reveals", "Chart animations", "Data transitions"]
|
|
308
|
+
},
|
|
309
|
+
"backgrounds": {
|
|
310
|
+
"technique": "REJECTED: Solid white is flat. Recommend: Subtle gradient with noise texture",
|
|
311
|
+
"atmosphere": "Add depth with layered backgrounds and geometric patterns"
|
|
312
|
+
},
|
|
313
|
+
"anti_pattern_validation": {
|
|
314
|
+
"passed": false,
|
|
315
|
+
"warnings": [
|
|
316
|
+
"Using Inter font (generic AI aesthetic)",
|
|
317
|
+
"Purple gradient color scheme (overused)",
|
|
318
|
+
"Solid white background (no atmosphere)",
|
|
319
|
+
"Minimal animations (missed opportunities for delight)"
|
|
320
|
+
]
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
### Example 4: E-commerce Product Page
|
|
326
|
+
|
|
327
|
+
**Input**:
|
|
328
|
+
```json
|
|
329
|
+
{
|
|
330
|
+
"project": "Premium fashion e-commerce",
|
|
331
|
+
"brand": "Luxury, minimalist, editorial",
|
|
332
|
+
"audience": "High-end fashion consumers"
|
|
333
|
+
}
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
**Output**:
|
|
337
|
+
```json
|
|
338
|
+
{
|
|
339
|
+
"typography": {
|
|
340
|
+
"primary": "Lora - sophisticated serif for luxury feel",
|
|
341
|
+
"secondary": "DM Sans - clean sans-serif for product details and UI",
|
|
342
|
+
"code": "Not applicable"
|
|
343
|
+
},
|
|
344
|
+
"colors": {
|
|
345
|
+
"dominant": ["#1a1a1a", "#f5f5f0"],
|
|
346
|
+
"accent": ["#c4a57b"],
|
|
347
|
+
"theme_inspiration": "Luxury editorial - black, cream, gold accent"
|
|
348
|
+
},
|
|
349
|
+
"animations": {
|
|
350
|
+
"approach": "CSS-only for lightweight performance",
|
|
351
|
+
"focus": "Smooth product image transitions and subtle reveals",
|
|
352
|
+
"key_moments": ["Product image crossfade", "Size selector micro-interaction", "Add to cart confirmation"]
|
|
353
|
+
},
|
|
354
|
+
"backgrounds": {
|
|
355
|
+
"technique": "Soft gradient from cream to off-white with subtle texture",
|
|
356
|
+
"atmosphere": "Luxurious, tactile, premium feel"
|
|
357
|
+
},
|
|
358
|
+
"anti_pattern_validation": {
|
|
359
|
+
"passed": true,
|
|
360
|
+
"warnings": []
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
## Validation
|
|
366
|
+
|
|
367
|
+
- [ ] Recommends distinctive fonts that match project character
|
|
368
|
+
- [ ] Explicitly warns against generic fonts (Inter, Roboto, Arial, system)
|
|
369
|
+
- [ ] Creates color palettes with clear hierarchy (dominant + accent)
|
|
370
|
+
- [ ] Avoids clichéd color schemes (purple gradients)
|
|
371
|
+
- [ ] Suggests orchestrated animations for high-impact moments
|
|
372
|
+
- [ ] Recommends backgrounds with depth and atmosphere
|
|
373
|
+
- [ ] Validates against anti-patterns
|
|
374
|
+
- [ ] Varies aesthetic recommendations across different contexts
|
|
375
|
+
- [ ] Provides context-specific reasoning for each choice
|
|
376
|
+
|
|
377
|
+
## Integration with Agents
|
|
378
|
+
|
|
379
|
+
### Frontend-Focused Agents
|
|
380
|
+
|
|
381
|
+
Before implementing UI components, invoke frontend-aesthetics Skill to receive design guidance:
|
|
382
|
+
|
|
383
|
+
```markdown
|
|
384
|
+
## Step 1: Design Guidance
|
|
385
|
+
|
|
386
|
+
Use frontend-aesthetics Skill to get typography, color, animation, and background recommendations.
|
|
387
|
+
|
|
388
|
+
Input: Project context, brand identity, target aesthetic
|
|
389
|
+
Output: Comprehensive design guidance with specific recommendations
|
|
390
|
+
|
|
391
|
+
Validate output against anti-patterns before proceeding.
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
### Code Review Agents
|
|
395
|
+
|
|
396
|
+
Use frontend-aesthetics Skill to evaluate existing frontend code for generic patterns:
|
|
397
|
+
|
|
398
|
+
```markdown
|
|
399
|
+
## Step 3: Frontend Aesthetics Review
|
|
400
|
+
|
|
401
|
+
Use frontend-aesthetics Skill in validation mode:
|
|
402
|
+
- Extract current font choices from CSS
|
|
403
|
+
- Identify color palette from CSS variables
|
|
404
|
+
- Review animation implementation
|
|
405
|
+
- Check background complexity
|
|
406
|
+
|
|
407
|
+
Flag any anti-patterns detected.
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
### Orchestrator Integration
|
|
411
|
+
|
|
412
|
+
Include frontend-aesthetics validation in quality gates:
|
|
413
|
+
|
|
414
|
+
```markdown
|
|
415
|
+
## Phase 2: Design Review
|
|
416
|
+
|
|
417
|
+
Use frontend-aesthetics Skill to validate design choices:
|
|
418
|
+
1. Check typography selection
|
|
419
|
+
2. Validate color scheme
|
|
420
|
+
3. Review animation approach
|
|
421
|
+
4. Assess background depth
|
|
422
|
+
|
|
423
|
+
If anti_pattern_validation.passed == false:
|
|
424
|
+
Delegate design improvements to frontend worker
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
## Notes
|
|
428
|
+
|
|
429
|
+
- **Token Budget**: This skill is intentionally focused (~500 tokens) for use as a design reference without overwhelming agent context
|
|
430
|
+
- **Variation is Critical**: Agents should avoid converging on the same design choices (like Space Grotesk) across all projects
|
|
431
|
+
- **Context Matters**: Design recommendations should always match the project's brand identity and purpose
|
|
432
|
+
- **Creativity Over Templates**: Encourage unexpected, distinctive choices rather than safe, predictable patterns
|
|
433
|
+
- **Performance Considerations**: CSS-only animations are preferred for HTML; Framer Motion is appropriate for React when available
|
|
434
|
+
- **Font Licensing**: Ensure recommended fonts are available via Google Fonts or other accessible sources
|
|
435
|
+
- **Accessibility**: Distinctive aesthetics should not compromise readability or WCAG compliance
|
|
436
|
+
- **Iteration**: Design choices can be refined based on user feedback and testing
|
|
437
|
+
|
|
438
|
+
## References
|
|
439
|
+
|
|
440
|
+
Based on official Anthropic guidance: "Improving Claude's front-end aesthetic sense" (2025-01-15)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
name: Publish to npm
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
publish:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
permissions:
|
|
12
|
+
contents: read
|
|
13
|
+
id-token: write
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- name: Checkout code
|
|
17
|
+
uses: actions/checkout@v4
|
|
18
|
+
|
|
19
|
+
- name: Setup Node.js
|
|
20
|
+
uses: actions/setup-node@v4
|
|
21
|
+
with:
|
|
22
|
+
node-version: '20'
|
|
23
|
+
registry-url: 'https://registry.npmjs.org'
|
|
24
|
+
|
|
25
|
+
- name: Verify package.json
|
|
26
|
+
run: |
|
|
27
|
+
echo "Package: $(node -p "require('./package.json').name")"
|
|
28
|
+
echo "Version: $(node -p "require('./package.json').version")"
|
|
29
|
+
|
|
30
|
+
- name: Publish to npm
|
|
31
|
+
run: npm publish --provenance --access public
|
|
32
|
+
env:
|
|
33
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
package/.gitignore
CHANGED
|
@@ -10,8 +10,11 @@
|
|
|
10
10
|
.env.*.local
|
|
11
11
|
*.env.local
|
|
12
12
|
|
|
13
|
-
# MCP
|
|
13
|
+
# MCP configuration (may contain secrets)
|
|
14
|
+
.mcp.json
|
|
14
15
|
.mcp.local.json
|
|
16
|
+
.mcp.*.json
|
|
17
|
+
!.mcp.example.json
|
|
15
18
|
|
|
16
19
|
# Local settings
|
|
17
20
|
.claude/settings.local.json
|
|
@@ -120,3 +123,6 @@ $RECYCLE.BIN/
|
|
|
120
123
|
# ===================================================================
|
|
121
124
|
# Article drafts and master prompts (not for publication)
|
|
122
125
|
articles/
|
|
126
|
+
|
|
127
|
+
# Content agents (temporary/helper agents for writing)
|
|
128
|
+
.claude/agents/content/
|
|
@@ -256,33 +256,23 @@
|
|
|
256
256
|
```markdown
|
|
257
257
|
## Phase 0: Planning
|
|
258
258
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
**
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
**
|
|
271
|
-
|
|
272
|
-
**
|
|
273
|
-
|
|
274
|
-
-
|
|
275
|
-
-
|
|
276
|
-
**Artifacts**: research/*.md (if complex research needed)
|
|
277
|
-
|
|
278
|
-
### P003: Meta-Agent Subagent Creation (if needed)
|
|
279
|
-
**Description**: Create FUTURE agents using meta-agent-v3, then ask user to restart claude-code
|
|
280
|
-
**Executor**: meta-agent-v3
|
|
281
|
-
**Dependencies**: P001
|
|
282
|
-
**Execution**: Launch N meta-agent-v3 calls in single message (1 FUTURE agent = 1 call)
|
|
283
|
-
**Tasks**: [List FUTURE agents from P001]
|
|
284
|
-
**Post-Creation**: Ask user to restart claude-code
|
|
285
|
-
**Artifacts**: .claude/agents/{domain}/{type}/{name}.md
|
|
259
|
+
**Purpose**: Prepare for implementation by analyzing requirements, creating necessary agents, and assigning executors.
|
|
260
|
+
|
|
261
|
+
- [ ] P001 Analyze all tasks and identify required agent types and capabilities
|
|
262
|
+
- [ ] P002 Create missing agents using meta-agent-v3 (launch N calls in single message, 1 per agent), then ask user restart
|
|
263
|
+
- [ ] P003 Assign executors to all tasks: MAIN (trivial only), existing agents (100% match), or specific agent names
|
|
264
|
+
- [ ] P004 Resolve research tasks: simple (solve with tools now), complex (create prompts in research/)
|
|
265
|
+
|
|
266
|
+
**Rules**:
|
|
267
|
+
- **MAIN executor**: ONLY for trivial tasks (1-2 line fixes, simple imports, single npm install)
|
|
268
|
+
- **Existing agents**: ONLY if 100% capability match after thorough examination
|
|
269
|
+
- **Agent creation**: Launch all meta-agent-v3 calls in single message for parallel execution
|
|
270
|
+
- **After P002**: Must restart claude-code before proceeding to P003
|
|
271
|
+
|
|
272
|
+
**Artifacts**:
|
|
273
|
+
- Updated tasks.md with [EXECUTOR: name], [SEQUENTIAL]/[PARALLEL-GROUP-X] annotations
|
|
274
|
+
- .claude/agents/{domain}/{type}/{name}.md (if new agents created)
|
|
275
|
+
- research/*.md (if complex research identified)
|
|
286
276
|
|
|
287
277
|
---
|
|
288
278
|
```
|
package/mcp/.mcp.base.json
CHANGED
|
@@ -4,18 +4,12 @@
|
|
|
4
4
|
"command": "npx",
|
|
5
5
|
"args": ["-y", "@upstash/context7-mcp@latest"]
|
|
6
6
|
},
|
|
7
|
-
"
|
|
7
|
+
"sequential-thinking": {
|
|
8
8
|
"command": "npx",
|
|
9
9
|
"args": [
|
|
10
10
|
"-y",
|
|
11
|
-
"@
|
|
12
|
-
|
|
13
|
-
"@smithery-ai/server-sequential-thinking"
|
|
14
|
-
],
|
|
15
|
-
"env": {
|
|
16
|
-
"SMITHERY_API_KEY": "${SEQUENTIAL_THINKING_KEY}",
|
|
17
|
-
"SMITHERY_PROFILE": "${SEQUENTIAL_THINKING_PROFILE}"
|
|
18
|
-
}
|
|
11
|
+
"@modelcontextprotocol/server-sequential-thinking"
|
|
12
|
+
]
|
|
19
13
|
}
|
|
20
14
|
}
|
|
21
15
|
}
|
package/mcp/.mcp.frontend.json
CHANGED
|
@@ -4,18 +4,12 @@
|
|
|
4
4
|
"command": "npx",
|
|
5
5
|
"args": ["-y", "@upstash/context7-mcp@latest"]
|
|
6
6
|
},
|
|
7
|
-
"
|
|
7
|
+
"sequential-thinking": {
|
|
8
8
|
"command": "npx",
|
|
9
9
|
"args": [
|
|
10
10
|
"-y",
|
|
11
|
-
"@
|
|
12
|
-
|
|
13
|
-
"@smithery-ai/server-sequential-thinking"
|
|
14
|
-
],
|
|
15
|
-
"env": {
|
|
16
|
-
"SMITHERY_API_KEY": "${SEQUENTIAL_THINKING_KEY}",
|
|
17
|
-
"SMITHERY_PROFILE": "${SEQUENTIAL_THINKING_PROFILE}"
|
|
18
|
-
}
|
|
11
|
+
"@modelcontextprotocol/server-sequential-thinking"
|
|
12
|
+
]
|
|
19
13
|
},
|
|
20
14
|
"playwright": {
|
|
21
15
|
"command": "npx",
|
package/mcp/.mcp.full.json
CHANGED
|
@@ -4,18 +4,12 @@
|
|
|
4
4
|
"command": "npx",
|
|
5
5
|
"args": ["-y", "@upstash/context7-mcp@latest"]
|
|
6
6
|
},
|
|
7
|
-
"
|
|
7
|
+
"sequential-thinking": {
|
|
8
8
|
"command": "npx",
|
|
9
9
|
"args": [
|
|
10
10
|
"-y",
|
|
11
|
-
"@
|
|
12
|
-
|
|
13
|
-
"@smithery-ai/server-sequential-thinking"
|
|
14
|
-
],
|
|
15
|
-
"env": {
|
|
16
|
-
"SMITHERY_API_KEY": "${SEQUENTIAL_THINKING_KEY}",
|
|
17
|
-
"SMITHERY_PROFILE": "${SEQUENTIAL_THINKING_PROFILE}"
|
|
18
|
-
}
|
|
11
|
+
"@modelcontextprotocol/server-sequential-thinking"
|
|
12
|
+
]
|
|
19
13
|
},
|
|
20
14
|
"supabase": {
|
|
21
15
|
"command": "npx",
|
package/mcp/.mcp.n8n.json
CHANGED
|
@@ -4,18 +4,12 @@
|
|
|
4
4
|
"command": "npx",
|
|
5
5
|
"args": ["-y", "@upstash/context7-mcp@latest"]
|
|
6
6
|
},
|
|
7
|
-
"
|
|
7
|
+
"sequential-thinking": {
|
|
8
8
|
"command": "npx",
|
|
9
9
|
"args": [
|
|
10
10
|
"-y",
|
|
11
|
-
"@
|
|
12
|
-
|
|
13
|
-
"@smithery-ai/server-sequential-thinking"
|
|
14
|
-
],
|
|
15
|
-
"env": {
|
|
16
|
-
"SMITHERY_API_KEY": "${SEQUENTIAL_THINKING_KEY}",
|
|
17
|
-
"SMITHERY_PROFILE": "${SEQUENTIAL_THINKING_PROFILE}"
|
|
18
|
-
}
|
|
11
|
+
"@modelcontextprotocol/server-sequential-thinking"
|
|
12
|
+
]
|
|
19
13
|
},
|
|
20
14
|
"n8n-workflows": {
|
|
21
15
|
"command": "npx",
|
|
@@ -4,18 +4,12 @@
|
|
|
4
4
|
"command": "npx",
|
|
5
5
|
"args": ["-y", "@upstash/context7-mcp@latest"]
|
|
6
6
|
},
|
|
7
|
-
"
|
|
7
|
+
"sequential-thinking": {
|
|
8
8
|
"command": "npx",
|
|
9
9
|
"args": [
|
|
10
10
|
"-y",
|
|
11
|
-
"@
|
|
12
|
-
|
|
13
|
-
"@smithery-ai/server-sequential-thinking"
|
|
14
|
-
],
|
|
15
|
-
"env": {
|
|
16
|
-
"SMITHERY_API_KEY": "${SEQUENTIAL_THINKING_KEY}",
|
|
17
|
-
"SMITHERY_PROFILE": "${SEQUENTIAL_THINKING_PROFILE}"
|
|
18
|
-
}
|
|
11
|
+
"@modelcontextprotocol/server-sequential-thinking"
|
|
12
|
+
]
|
|
19
13
|
},
|
|
20
14
|
"supabase": {
|
|
21
15
|
"command": "npx",
|
|
@@ -4,18 +4,12 @@
|
|
|
4
4
|
"command": "npx",
|
|
5
5
|
"args": ["-y", "@upstash/context7-mcp@latest"]
|
|
6
6
|
},
|
|
7
|
-
"
|
|
7
|
+
"sequential-thinking": {
|
|
8
8
|
"command": "npx",
|
|
9
9
|
"args": [
|
|
10
10
|
"-y",
|
|
11
|
-
"@
|
|
12
|
-
|
|
13
|
-
"@smithery-ai/server-sequential-thinking"
|
|
14
|
-
],
|
|
15
|
-
"env": {
|
|
16
|
-
"SMITHERY_API_KEY": "${SEQUENTIAL_THINKING_KEY}",
|
|
17
|
-
"SMITHERY_PROFILE": "${SEQUENTIAL_THINKING_PROFILE}"
|
|
18
|
-
}
|
|
11
|
+
"@modelcontextprotocol/server-sequential-thinking"
|
|
12
|
+
]
|
|
19
13
|
},
|
|
20
14
|
"supabase": {
|
|
21
15
|
"command": "npx",
|