@slamb2k/mad-skills 2.0.6

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.
Files changed (52) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +129 -0
  3. package/package.json +42 -0
  4. package/skills/brace/SKILL.md +51 -0
  5. package/skills/brace/assets/gitignore-template +28 -0
  6. package/skills/brace/assets/global-preferences-template.md +53 -0
  7. package/skills/brace/instructions.md +229 -0
  8. package/skills/brace/references/brace-workflow.md +109 -0
  9. package/skills/brace/references/claude-md-template.md +91 -0
  10. package/skills/brace/references/gotcha-principles.md +113 -0
  11. package/skills/brace/references/phase-prompts.md +228 -0
  12. package/skills/brace/references/report-template.md +38 -0
  13. package/skills/brace/references/scaffold-manifest.md +68 -0
  14. package/skills/brace/tests/evals.json +29 -0
  15. package/skills/build/SKILL.md +48 -0
  16. package/skills/build/instructions.md +293 -0
  17. package/skills/build/references/architecture-notes.md +34 -0
  18. package/skills/build/references/project-detection.md +45 -0
  19. package/skills/build/references/report-contracts.md +21 -0
  20. package/skills/build/references/stage-prompts.md +405 -0
  21. package/skills/build/tests/evals.json +28 -0
  22. package/skills/distil/SKILL.md +38 -0
  23. package/skills/distil/assets/DesignNav.tsx +54 -0
  24. package/skills/distil/instructions.md +255 -0
  25. package/skills/distil/references/design-guide.md +118 -0
  26. package/skills/distil/references/iteration-mode.md +186 -0
  27. package/skills/distil/references/project-setup.md +92 -0
  28. package/skills/distil/tests/evals.json +28 -0
  29. package/skills/manifest.json +76 -0
  30. package/skills/prime/SKILL.md +39 -0
  31. package/skills/prime/instructions.md +73 -0
  32. package/skills/prime/references/domains.md +38 -0
  33. package/skills/prime/tests/evals.json +28 -0
  34. package/skills/rig/SKILL.md +38 -0
  35. package/skills/rig/assets/azure-pipelines.yml +91 -0
  36. package/skills/rig/assets/ci.yml +104 -0
  37. package/skills/rig/assets/gitmessage +38 -0
  38. package/skills/rig/assets/lefthook.yml +29 -0
  39. package/skills/rig/assets/pull_request_template.md +24 -0
  40. package/skills/rig/instructions.md +162 -0
  41. package/skills/rig/references/configuration-steps.md +124 -0
  42. package/skills/rig/references/phase-prompts.md +180 -0
  43. package/skills/rig/references/report-template.md +28 -0
  44. package/skills/rig/tests/evals.json +29 -0
  45. package/skills/ship/SKILL.md +55 -0
  46. package/skills/ship/instructions.md +192 -0
  47. package/skills/ship/references/stage-prompts.md +322 -0
  48. package/skills/ship/tests/evals.json +30 -0
  49. package/skills/sync/SKILL.md +54 -0
  50. package/skills/sync/instructions.md +178 -0
  51. package/skills/sync/tests/evals.json +29 -0
  52. package/src/cli.js +419 -0
@@ -0,0 +1,255 @@
1
+ # Distil Instructions
2
+
3
+ Generate multiple unique, creative web interface designs for any website or
4
+ web application. The primary agent acts as a thin orchestrator — all heavy
5
+ reading and file creation is delegated to subagents to protect the primary
6
+ context window.
7
+
8
+ ## Arguments
9
+
10
+ Parse the following from the skill invocation:
11
+ - **count** (required): Number of designs to create (e.g., 5)
12
+ - **--spec** (optional): Path to a file containing site specification
13
+ - **--url** (optional): URL to existing site to review for context
14
+ - **--port** (required): Port for the Vite dev server
15
+ - **--favorites** (optional): Comma-separated list of design numbers for iteration mode
16
+
17
+ ### Examples
18
+ ```
19
+ /distil 5 --spec ./site-spec.md --port 5173
20
+ /distil 3 --favorites 2,4 --port 5173
21
+ ```
22
+
23
+ If `--favorites` is provided, follow `references/iteration-mode.md` instead
24
+ of the steps below.
25
+
26
+ ---
27
+
28
+ ## Pre-flight
29
+
30
+ Before starting, check all dependencies in this table:
31
+
32
+ | Dependency | Type | Check | Required | Resolution | Detail |
33
+ |-----------|------|-------|----------|------------|--------|
34
+ | npm | cli | `npm --version` | yes | stop | https://bun.sh or use npm |
35
+ | bencium-innovative-ux-designer | skill | `~/.claude/skills/bencium-innovative-ux-designer/SKILL.md` | no | ask | `npx skills add bencium/bencium-claude-code-design-skill@bencium-innovative-ux-designer -g -y` |
36
+ | web-animation-design | skill | `~/.claude/skills/web-animation-design/SKILL.md` | no | ask | `npx skills add connorads/dotfiles@web-animation-design -g -y` |
37
+ | design-system | skill | `~/.claude/skills/design-system/SKILL.md` | no | ask | `npx skills add lobbi-docs/claude@design-system -g -y` |
38
+
39
+ For each row, in order:
40
+ 1. Run the Check command (for cli/npm) or test file existence (for agent/skill)
41
+ 2. If found: continue silently
42
+ 3. If missing: apply Resolution strategy
43
+ - **stop**: notify user with Detail, halt execution
44
+ - **url**: notify user with Detail (install link), halt execution
45
+ - **install**: notify user, run the command in Detail, continue if successful
46
+ - **ask**: notify user, offer to run command in Detail, continue either way (or halt if required)
47
+ - **fallback**: notify user with Detail, continue with degraded behavior
48
+ 4. After all checks: summarize what's available and what's degraded
49
+
50
+ ---
51
+
52
+ ## Site Specification
53
+
54
+ The specification can be provided via:
55
+
56
+ 1. **--spec flag**: Read the file at the provided path
57
+ 2. **Pasted text**: Check conversation for a description of the site
58
+ 3. **--url flag**: Use WebFetch to analyze an existing site
59
+
60
+ **If no specification is found, ask the user before proceeding.**
61
+
62
+ ---
63
+
64
+ ## Step 1: Load Site Specification
65
+
66
+ Parse and store the site context for use when generating each design.
67
+ This is the only file the primary agent reads directly (specs are typically small).
68
+
69
+ ## Step 2: Reconnaissance (launch in parallel)
70
+
71
+ Launch two subagents **in parallel** to gather context without bloating
72
+ the primary agent.
73
+
74
+ ### 2a: Verify Design Skills
75
+
76
+ Design skill availability is checked in the Pre-flight section above.
77
+ Use the results from pre-flight to populate SKILL_REPORT:
78
+ - For each design skill: name, installed (yes/no)
79
+ - If any skill was missing and the user declined to install, note it as unavailable
80
+
81
+ ### 2b: Scan Existing Project
82
+
83
+ ```
84
+ Task(
85
+ subagent_type: "Explore",
86
+ model: "haiku",
87
+ description: "Scan existing design project",
88
+ prompt: "Check if src/designs/ directory exists. If it does:
89
+ 1. List all DesignN.tsx files (glob for src/designs/Design*.tsx)
90
+ 2. For each file, read ONLY the first 10 lines to extract the
91
+ metadata comment (style name, key traits)
92
+ 3. Determine the highest design number
93
+ Return PROJECT_REPORT (max 20 lines):
94
+ - project_exists: true/false
95
+ - package_manager: detected from lockfile (bun.lockb/pnpm-lock/yarn.lock/package-lock)
96
+ - design_count: N
97
+ - highest_number: N
98
+ - designs: list of (number, style_name) pairs
99
+ If no src/designs/ directory, return project_exists: false."
100
+ )
101
+ ```
102
+
103
+ ### Parse Recon Results
104
+
105
+ From SKILL_REPORT: Gate on missing skills before proceeding.
106
+ From PROJECT_REPORT:
107
+ - If `project_exists`: set `START_INDEX = highest_number + 1`, skip Step 3
108
+ - If not: set `START_INDEX = 1`, proceed to Step 3
109
+
110
+ ## Step 3: Initialize Project
111
+
112
+ **Skip this step if an existing project was detected in Step 2b.**
113
+
114
+ Launch **Bash subagent** (haiku) to set up the project:
115
+
116
+ ```
117
+ Task(
118
+ subagent_type: "Bash",
119
+ model: "haiku",
120
+ description: "Initialize distil project",
121
+ prompt: "Follow the project setup instructions:
122
+ 1. Detect package manager (bun -> pnpm -> yarn -> npm)
123
+ 2. Create Vite React-TS project
124
+ 3. Install dependencies: tailwindcss, postcss, autoprefixer,
125
+ react-router-dom, lucide-react
126
+ 4. Configure Tailwind (content paths, index.css directives)
127
+ 5. Copy {skill_dir}/assets/DesignNav.tsx to src/components/DesignNav.tsx
128
+ Return SETUP_REPORT (max 10 lines): status, package_manager, errors."
129
+ )
130
+ ```
131
+
132
+ Parse SETUP_REPORT. If setup fails, fall back through the package manager
133
+ chain (bun -> pnpm -> yarn -> npm).
134
+
135
+ ## Step 4: Create Designs via Subagent
136
+
137
+ Launch a **general-purpose subagent** to create all new designs.
138
+
139
+ **CRITICAL**: The subagent reads skill files and design guides directly.
140
+ Do NOT read them in the primary agent — pass file paths only.
141
+
142
+ ```
143
+ Task(
144
+ subagent_type: "general-purpose",
145
+ description: "Create design variations",
146
+ prompt: "
147
+ You are creating {COUNT} new web design variations for a distil project.
148
+
149
+ ## Site Specification
150
+ {SITE_SPEC from Step 1}
151
+
152
+ ## Design Knowledge — Read These Files
153
+ Load design principles and the 50+ style catalog from these skill files:
154
+ - ~/.claude/skills/bencium-innovative-ux-designer/SKILL.md
155
+ - ~/.claude/skills/bencium-innovative-ux-designer/MOTION-SPEC.md
156
+ - ~/.claude/skills/web-animation-design/SKILL.md
157
+ - ~/.claude/skills/design-system/SKILL.md
158
+ - ~/.claude/skills/design-system/references/style-guide.md
159
+
160
+ Also read the project design guide:
161
+ - {skill_dir}/references/design-guide.md
162
+
163
+ ## Existing Designs (avoid these styles)
164
+ {Compact list from PROJECT_REPORT: number + style_name pairs,
165
+ or 'None — fresh project'}
166
+
167
+ ## Task
168
+ Create designs numbered {START_INDEX} through {START_INDEX + COUNT - 1}.
169
+
170
+ For each design, create `src/designs/Design{N}.tsx`:
171
+ - Pick a DISTINCT style from the 50+ style catalog in the design-system skill
172
+ - Do NOT reuse styles already used by existing designs
173
+ - Apply the site specification to all content and sections
174
+ - Follow anti-AI-slop rules strictly (no Inter, no default blue, no cookie-cutter layouts)
175
+ - Include purposeful animations with proper easing
176
+ - Each design must be self-contained in a single file
177
+ - Import and render DesignNav from '../components/DesignNav'
178
+
179
+ After creating all designs, update:
180
+ 1. `src/App.tsx` — Add import and route for EVERY design (existing + new)
181
+ 2. Each design file's DesignNav `designs` array — Include ALL designs (existing + new)
182
+
183
+ ## Design File Requirements
184
+ Each design file must have:
185
+ - A metadata comment at the top: style name, key visual traits, color palette
186
+ - Import DesignNav from '../components/DesignNav'
187
+ - A `designs` array listing ALL designs (existing + new) with id and name
188
+ - ALL sections from the site specification with realistic content
189
+ - Custom color palette (not default Tailwind)
190
+ - Animations with proper easing (ease-out for entrances, ease-in-out for movement)
191
+ - Responsive layout (mobile-first)
192
+ - Lucide React icons for iconography
193
+
194
+ ## App.tsx Requirements
195
+ The App.tsx must:
196
+ - Import ALL design components (existing + new)
197
+ - Have a route for each: <Route path='/{N}' element={<DesignN />} />
198
+ - Default route redirects to /1
199
+
200
+ Return DESIGN_REPORT (max 30 lines):
201
+ - List each design created: number, style name, key visual traits
202
+ - Total design count (existing + new)
203
+ - Files created and modified
204
+ - Any issues encountered
205
+ "
206
+ )
207
+ ```
208
+
209
+ Parse DESIGN_REPORT. If any design failed, report the error and offer retry.
210
+
211
+ ## Step 5: Start Dev Server
212
+
213
+ Launch as a **background Bash** to avoid blocking the primary agent:
214
+
215
+ ```
216
+ Task(
217
+ subagent_type: "Bash",
218
+ run_in_background: true,
219
+ description: "Start Vite dev server",
220
+ prompt: "{package_manager} run dev --port {PORT}"
221
+ )
222
+ ```
223
+
224
+ If the dev server is already running, HMR should pick up the new files
225
+ automatically — skip this step.
226
+
227
+ ## Step 6: Present Designs
228
+
229
+ Inform the user:
230
+ - Dev server is running at `http://localhost:{PORT}`
231
+ - Each design is available at `/1`, `/2`, `/3`, etc.
232
+ - Briefly describe each design's unique approach (from DESIGN_REPORT)
233
+ - Note which designs are new vs existing (if appending)
234
+ - Remind they can iterate with `--favorites` to refine preferred designs
235
+
236
+ ## Context Protection Summary
237
+
238
+ | Step | Agent | Model | Why |
239
+ |---|---|---|---|
240
+ | 1: Load spec | Primary | — | Small file, needed for subagent prompt |
241
+ | 2a: Skill check | Explore | haiku | Avoids reading 2000+ lines of skill content |
242
+ | 2b: Project scan | Explore | haiku | Avoids reading existing design files |
243
+ | 3: Init project | Bash | haiku | Shell commands only |
244
+ | 4: Create designs | general-purpose | default | Heavy lifting: reads skills, writes files |
245
+ | 5: Dev server | Bash (background) | — | Non-blocking, no output in primary |
246
+ | 6: Present | Primary | — | User-facing, uses compact DESIGN_REPORT |
247
+
248
+ ## Troubleshooting
249
+
250
+ - If package manager commands fail, try the next in the fallback chain
251
+ - If port is in use, suggest killing the process or using a different port
252
+ - If design imports fail, check file naming consistency
253
+ - If no site spec is found, always ask the user before proceeding
254
+ - If a design skill is missing, offer to install it before proceeding
255
+ - If the subagent fails, check error details and retry with adjusted parameters
@@ -0,0 +1,118 @@
1
+ # Design Quality Standards & Directions
2
+
3
+ ## Quality Standards
4
+
5
+ Each design should:
6
+ - Use custom color palettes (not default Tailwind)
7
+ - Include purposeful animations with proper easing
8
+ - Have responsive layouts (mobile-first)
9
+ - Feature micro-interactions (hover states, focus states, active states)
10
+ - Use thoughtful typography hierarchy with characterful fonts
11
+ - Include iconography (use Lucide React icons)
12
+ - Feel like a premium, polished product
13
+ - Accurately reflect the site specification context
14
+ - Avoid generic "AI slop" patterns (no Inter, no default blue, no cookie-cutter layouts)
15
+
16
+ ## Design Directions
17
+
18
+ ### Expanded Style Catalog (50+ styles)
19
+
20
+ Draw from the full style catalog in:
21
+ `~/.claude/skills/design-system/SKILL.md`
22
+
23
+ Categories include:
24
+
25
+ 1. **Minimalist & Modern** — minimalist, brutalist, scandinavian, japandi, swiss
26
+ 2. **Historical & Classical** — art-deco, art-nouveau, baroque, victorian, renaissance
27
+ 3. **Retro & Nostalgic** — retro-80s, retro-90s, vaporwave, y2k, mid-century
28
+ 4. **Digital UI** — glassmorphism, neumorphism, material-design, fluent-design, skeuomorphic
29
+ 5. **Futuristic & Sci-Fi** — cyberpunk, cybernetic, space-age, dystopian, solarpunk
30
+ 6. **Nature-Inspired** — organic, botanical, coastal, desert, forest
31
+ 7. **Bold & Expressive** — maximalist, pop-art, psychedelic, graffiti, punk
32
+ 8. **Illustration & Artistic** — hand-drawn, watercolor, flat-illustration, isometric, line-art
33
+ 9. **Cultural & Regional** — mediterranean, nordic, asian-zen, tribal, moroccan
34
+ 10. **Special Purpose** — dark-mode, high-contrast, print-inspired, terminal, low-fi
35
+
36
+ ### Style Blending
37
+
38
+ Designs can blend two styles using weighted ratios:
39
+ - **Dominant style (70-80%)**: Core colors, primary typography, main spacing
40
+ - **Accent style (20-30%)**: Secondary colors, accent fonts, decorative elements
41
+
42
+ Example: "art-deco with cyberpunk 70/30" = Art Deco base with neon accent highlights.
43
+
44
+ ## Anti-Generic Rules
45
+
46
+ Read and apply principles from:
47
+ - `~/.claude/skills/bencium-innovative-ux-designer/SKILL.md`
48
+ - `~/.claude/skills/design-system/references/style-guide.md`
49
+
50
+ ### NEVER use:
51
+ - **Fonts**: Inter, Roboto, Arial, Space Grotesk as primary fonts
52
+ - **Colors**: Generic SaaS blue (#3B82F6), purple gradients on white backgrounds
53
+ - **Patterns**: Cookie-cutter layouts, predictable component arrangements
54
+ - **Effects**: Apple design mimicry, liquid/blob backgrounds without purpose
55
+ - **Overall**: Anything that looks "AI-generated" or machine-made
56
+
57
+ ### ALWAYS:
58
+ - Commit FULLY to the chosen aesthetic direction — no half measures
59
+ - Use unexpected, characterful typography choices (dig deep in Google Fonts)
60
+ - Create atmosphere: textures, grain, dramatic shadows, gradient meshes
61
+ - Use dominant colors with SHARP accents (not timid, evenly-distributed palettes)
62
+ - Pick unique color pairs that aren't typical
63
+ - Vary everything across designs — no two should share fonts, palettes, or layouts
64
+
65
+ ## Animation Standards
66
+
67
+ Read and apply principles from:
68
+ - `~/.claude/skills/web-animation-design/SKILL.md`
69
+ - `~/.claude/skills/bencium-innovative-ux-designer/MOTION-SPEC.md`
70
+
71
+ ### Easing Blueprint
72
+ - **ease-out**: Element entrances (dropdowns, modals, tooltips) — fast start, slow settle
73
+ - **ease-in-out**: On-screen movement and morphing — natural acceleration/deceleration
74
+ - **ease**: Hover states and color transitions — elegant, asymmetrical
75
+ - **linear**: Only for constant-speed animations (spinners, marquees)
76
+ - **Never ease-in for UI**: Makes interfaces feel sluggish
77
+
78
+ ### Duration Guidelines
79
+ | Element Type | Duration |
80
+ |---|---|
81
+ | Micro-interactions (button hover) | 100-150ms |
82
+ | Standard UI (tooltips, dropdowns) | 150-250ms |
83
+ | Modals, drawers | 200-300ms |
84
+ | Page transitions | 300-400ms |
85
+
86
+ ### Performance Rules
87
+ - Only animate `transform` and `opacity` (GPU-accelerated)
88
+ - Avoid animating `width`, `height`, `margin`, `padding`
89
+ - Add `will-change: transform` for elements with shaky animations
90
+ - Always respect `prefers-reduced-motion`
91
+ - Include button press feedback: `transform: scale(0.97)` on `:active`
92
+
93
+ ## Typography Standards
94
+
95
+ - Use 2-3 typefaces maximum, but make them CHARACTERFUL
96
+ - **Headlines**: Emotional, personality-driven, attention-grabbing
97
+ - **Body/UI**: Functional, highly legible, clarity over expression
98
+ - Use a mathematical scale (1.25x major third or 1.333x perfect fourth)
99
+ - Pair fonts with contrast: Serif + Sans, Geometric + Humanist, Display + System
100
+ - Responsive typography: use `clamp()` for fluid scaling
101
+
102
+ ## Color Standards
103
+
104
+ - **Neutral palette (4-5 colors)**: Backgrounds, surfaces, borders, text
105
+ - **Accent palette (1-3 colors)**: CTAs, status indicators, emphasis
106
+ - Choose warm or cool neutrals intentionally based on brand feel
107
+ - Saturated accents should contrast clearly with both light and dark backgrounds
108
+ - Every color must serve a purpose: hierarchy, function, status, or action
109
+
110
+ ## Technical Notes
111
+
112
+ - All designs should be self-contained in their own file
113
+ - Use Tailwind for all styling (no external CSS frameworks)
114
+ - Each design should be fully functional (routing, state)
115
+ - Avoid placeholder content — use realistic content from the site spec
116
+ - Include all features and sections from the specification
117
+ - Ensure WCAG AA contrast minimums (4.5:1 normal text, 3:1 large text)
118
+ - Touch targets minimum 44x44px for interactive elements
@@ -0,0 +1,186 @@
1
+ # Distil Iteration Mode
2
+
3
+ When `--favorites` is provided, generate new designs inspired by existing
4
+ favorites. This allows iterative refinement over multiple sessions.
5
+
6
+ The primary agent acts as a thin orchestrator — all heavy file reading
7
+ and design creation is delegated to subagents.
8
+
9
+ ## Workflow
10
+
11
+ ### Step I1: Reconnaissance via Subagent
12
+
13
+ Launch a single **Explore subagent** to gather all needed context:
14
+
15
+ ```
16
+ Task(
17
+ subagent_type: "Explore",
18
+ model: "haiku",
19
+ description: "Scan project and favorites",
20
+ prompt: "Gather context for design iteration mode.
21
+
22
+ 1. Check src/designs/ exists. If not, report project_exists: false and stop.
23
+ 2. List all DesignN.tsx files (glob src/designs/Design*.tsx)
24
+ 3. For each design, read ONLY the first 10 lines to extract the
25
+ metadata comment (style name, key traits)
26
+ 4. Determine the highest design number
27
+ 5. For favorites {FAVORITES_LIST}, read the FULL content of each
28
+ favorite design file and extract:
29
+ - Color palette, design style/theme, typography choices
30
+ - Layout patterns, animation styles, component patterns
31
+ 6. Check package manager from lockfile (bun.lockb/pnpm-lock/yarn.lock/package-lock)
32
+ 7. Check skill availability:
33
+ - ~/.claude/skills/bencium-innovative-ux-designer/SKILL.md
34
+ - ~/.claude/skills/web-animation-design/SKILL.md
35
+ - ~/.claude/skills/design-system/SKILL.md
36
+
37
+ Return RECON_REPORT (max 40 lines):
38
+ - project_exists: true/false
39
+ - package_manager: detected
40
+ - design_count: N
41
+ - highest_number: N
42
+ - all_designs: list of (number, style_name) pairs
43
+ - favorite_summaries: for each favorite, a 3-5 line summary of its
44
+ visual characteristics (palette, style, typography, layout, animations)
45
+ - skills_installed: list of (name, yes/no)
46
+ "
47
+ )
48
+ ```
49
+
50
+ If `project_exists` is false, inform user they need an initial generation first.
51
+ If any skill is missing, inform user and offer to install.
52
+
53
+ ### Step I2: Generate New Designs via Subagent
54
+
55
+ Set `START_INDEX = highest_number + 1`.
56
+
57
+ Launch a **general-purpose subagent** to create the new variations:
58
+
59
+ ```
60
+ Task(
61
+ subagent_type: "general-purpose",
62
+ description: "Create design iterations",
63
+ prompt: "
64
+ You are creating {COUNT} new design variations inspired by existing favorites.
65
+
66
+ ## Site Specification
67
+ {SITE_SPEC}
68
+
69
+ ## Design Knowledge — Read These Files
70
+ Load design principles and the 50+ style catalog from these skill files:
71
+ - ~/.claude/skills/bencium-innovative-ux-designer/SKILL.md
72
+ - ~/.claude/skills/bencium-innovative-ux-designer/MOTION-SPEC.md
73
+ - ~/.claude/skills/web-animation-design/SKILL.md
74
+ - ~/.claude/skills/design-system/SKILL.md
75
+ - ~/.claude/skills/design-system/references/style-guide.md
76
+
77
+ Also read the project design guide:
78
+ - {skill_dir}/references/design-guide.md
79
+
80
+ ## Favorite Designs (Inspiration Sources)
81
+ {favorite_summaries from RECON_REPORT}
82
+
83
+ Also read the full source of each favorite for detailed inspiration:
84
+ {List favorite file paths: src/designs/Design{N}.tsx}
85
+
86
+ ## All Existing Designs (avoid duplicating styles)
87
+ {all_designs from RECON_REPORT}
88
+
89
+ ## Task
90
+ Create designs numbered {START_INDEX} through {START_INDEX + COUNT - 1}.
91
+ Each new design should be a VARIATION inspired by the favorites.
92
+
93
+ For each design, create `src/designs/Design{N}.tsx`:
94
+ - Pick 1-2 favorites as primary inspiration
95
+ - Create a NEW variation using one of these strategies:
96
+ - Color shift: Keep structure, change palette
97
+ - Style blend: Combine elements from multiple favorites
98
+ - Intensity variation: More/less bold, more/less minimal
99
+ - Animation evolution: Add or modify motion design
100
+ - Layout remix: Keep aesthetic, reorganize layout
101
+ - Detail enhancement: Add micro-interactions and polish
102
+ - Theme variation: Same colors, different visual style
103
+ - Apply anti-AI-slop rules from the loaded skills
104
+ - Include purposeful animations with proper easing
105
+ - Each design must be self-contained in a single file
106
+ - Import and render DesignNav from '../components/DesignNav'
107
+
108
+ After creating all designs, update:
109
+ 1. `src/App.tsx` — Add routes for ALL designs (existing + new)
110
+ 2. Each design file's DesignNav `designs` array — Include ALL designs
111
+
112
+ ## Design File Requirements
113
+ Each design file must have a metadata comment:
114
+ - Style name (hint at inspiration, e.g. 'Neo Dark', 'Glass Aurora')
115
+ - Which favorites inspired it
116
+ - Key visual traits and variation strategy used
117
+
118
+ ## DesignNav Names
119
+ Use descriptive names hinting at inspiration:
120
+ - Inspired by 'Dark Premium' (#2): 'Neo Dark', 'Midnight Gold', 'Dark Luxe'
121
+ - Inspired by 'Glassmorphism' (#1): 'Glass Aurora', 'Frost Bloom', 'Crystal'
122
+ - Blending multiple: 'Cyber Glass', 'Warm Noir'
123
+
124
+ ## App.tsx Requirements
125
+ Import ALL design components (existing + new).
126
+ Route each: <Route path='/{N}' element={<DesignN />} />
127
+ Default route redirects to /1.
128
+
129
+ Return DESIGN_REPORT (max 30 lines):
130
+ - Each design: number, name, inspiration source(s), variation strategy
131
+ - Total count (existing + new)
132
+ - Files created and modified
133
+ "
134
+ )
135
+ ```
136
+
137
+ ### Step I3: Restart Dev Server
138
+
139
+ If running, HMR should pick up changes — skip this step.
140
+ Otherwise launch as background Bash:
141
+
142
+ ```
143
+ Task(
144
+ subagent_type: "Bash",
145
+ run_in_background: true,
146
+ description: "Start Vite dev server",
147
+ prompt: "{package_manager} run dev --port {PORT}"
148
+ )
149
+ ```
150
+
151
+ ### Step I4: Present New Designs
152
+
153
+ Report to user (from DESIGN_REPORT):
154
+ - How many new designs were created
155
+ - Which favorites inspired each
156
+ - New design numbers and names
157
+ - Remind they can iterate again with new favorites
158
+
159
+ ## Context Protection Summary
160
+
161
+ | Step | Agent | Model | Why |
162
+ |---|---|---|---|
163
+ | I1: Recon | Explore | haiku | Reads all files, returns compact summary |
164
+ | I2: Create | general-purpose | default | Reads skills + favorites, writes designs |
165
+ | I3: Dev server | Bash (background) | — | Non-blocking |
166
+ | I4: Present | Primary | — | User-facing, uses compact DESIGN_REPORT |
167
+
168
+ Primary agent context: site spec + RECON_REPORT (~40 lines) + DESIGN_REPORT (~30 lines).
169
+
170
+ ## Scalability (50+ designs)
171
+
172
+ - Consider pagination or grouping in DesignNav
173
+ - Move designList to a separate `src/data/designs.ts`
174
+ - Consider lazy loading design components
175
+
176
+ ## Design Metadata
177
+
178
+ For large collections, add lineage comments:
179
+ ```tsx
180
+ /**
181
+ * Design 8: Midnight Aurora
182
+ * Inspired by: #2 (Dark Premium), #5 (Organic Curves)
183
+ * Strategy: Style blend — dark theme with flowing organic shapes
184
+ * Created: Iteration 2
185
+ */
186
+ ```
@@ -0,0 +1,92 @@
1
+ # Distil Project Setup
2
+
3
+ Steps 2-4 of initial project creation.
4
+
5
+ ## Package Manager Detection
6
+
7
+ Detect available package manager (fallback chain):
8
+ 1. `bun` -> use bun commands
9
+ 2. `pnpm` -> use pnpm commands
10
+ 3. `yarn` -> use yarn commands
11
+ 4. `npm` -> use npm commands (always available)
12
+
13
+ ## Step 2: Initialize Project
14
+
15
+ ```bash
16
+ # Using detected package manager (example: bun)
17
+ bun create vite . --template react-ts
18
+ bun install
19
+ bun add -d tailwindcss postcss autoprefixer
20
+ bunx tailwindcss init -p
21
+ bun add react-router-dom
22
+ bun add lucide-react
23
+ ```
24
+
25
+ ## Step 3: Configure Tailwind
26
+
27
+ Update `tailwind.config.js`:
28
+ ```javascript
29
+ /** @type {import('tailwindcss').Config} */
30
+ export default {
31
+ content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"],
32
+ theme: { extend: {} },
33
+ plugins: [],
34
+ }
35
+ ```
36
+
37
+ Update `src/index.css`:
38
+ ```css
39
+ @tailwind base;
40
+ @tailwind components;
41
+ @tailwind utilities;
42
+ ```
43
+
44
+ ## Step 4: Set Up Routing
45
+
46
+ Copy `assets/DesignNav.tsx` to `src/components/DesignNav.tsx`.
47
+
48
+ Create `src/App.tsx` with routes for each design:
49
+ ```tsx
50
+ import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'
51
+ import Design1 from './designs/Design1'
52
+ // ... import each design
53
+
54
+ function App() {
55
+ return (
56
+ <BrowserRouter>
57
+ <Routes>
58
+ <Route path="/" element={<Navigate to="/1" replace />} />
59
+ <Route path="/1" element={<Design1 />} />
60
+ {/* ... route per design */}
61
+ </Routes>
62
+ </BrowserRouter>
63
+ )
64
+ }
65
+ ```
66
+
67
+ ## DesignNav Usage
68
+
69
+ Each design file imports and renders the shared nav:
70
+ ```tsx
71
+ import DesignNav from '../components/DesignNav'
72
+
73
+ const designs = [
74
+ { id: 1, name: 'Glassmorphism' },
75
+ { id: 2, name: 'Dark Premium' },
76
+ // ... all designs
77
+ ]
78
+
79
+ export default function Design1() {
80
+ return (
81
+ <div>
82
+ {/* Design content */}
83
+ <DesignNav designs={designs} variant="glass" />
84
+ </div>
85
+ )
86
+ }
87
+ ```
88
+
89
+ Variant selection:
90
+ - `variant="light"` for light-themed designs
91
+ - `variant="dark"` for dark-themed designs
92
+ - `variant="glass"` for glassmorphism or translucent designs
@@ -0,0 +1,28 @@
1
+ [
2
+ {
3
+ "name": "banner-and-tagline",
4
+ "prompt": "Generate 3 design variations for my SaaS landing page",
5
+ "assertions": [
6
+ { "type": "contains", "value": "██" },
7
+ { "type": "regex", "value": "(Heating up|Fractioning the|Condensing pure|Separating signal|Extracting the|Refining through|variations of brilliance|crude concept to pure)" },
8
+ { "type": "semantic", "value": "The response begins with an ASCII art banner displayed BEFORE any explanation or workflow steps" }
9
+ ]
10
+ },
11
+ {
12
+ "name": "tech-stack",
13
+ "prompt": "Create 5 different designs for a portfolio website --port 5173",
14
+ "assertions": [
15
+ { "type": "contains", "value": "██" },
16
+ { "type": "regex", "value": "(Vite|React|Tailwind)", "flags": "i" },
17
+ { "type": "semantic", "value": "Describes creating a project with Vite, React, TypeScript, and Tailwind CSS, producing multiple distinct design variations accessible at numbered routes like /1, /2, /3" }
18
+ ]
19
+ },
20
+ {
21
+ "name": "spec-handling",
22
+ "prompt": "Distil 4 --spec ./site-brief.md --port 3000",
23
+ "assertions": [
24
+ { "type": "contains", "value": "██" },
25
+ { "type": "semantic", "value": "Describes reading a site specification from the provided file path and creating 4 unique design variations, with a dev server running on the specified port" }
26
+ ]
27
+ }
28
+ ]