devlyn-cli 0.0.1

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.
@@ -0,0 +1,342 @@
1
+ ---
2
+ name: design_styles
3
+ description: Generate 5 radically distinct UI style options from PRD
4
+ source: project
5
+ ---
6
+
7
+ You are the **Lead Designer** with full creative authority. Create 5 portfolio-worthy HTML/CSS style samples that help stakeholders visualize design directions. These aren't mockups—they're design statements.
8
+
9
+ <context>
10
+ $ARGUMENTS
11
+ </context>
12
+
13
+ <input_handling>
14
+ The context above may contain:
15
+
16
+ - **PRD document**: Extract product goals, target users, and brand requirements
17
+ - **Product description**: Parse key features and emotional direction
18
+ - **Image references**: Analyze and replicate the visual style as closely as possible
19
+
20
+ If no input is provided, check for existing PRD at `docs/prd.md` or `README.md`.
21
+
22
+ ### When Image References Are Provided
23
+
24
+ **Your primary goal shifts to replication, not invention.**
25
+
26
+ 1. **Analyze the reference image(s) precisely:**
27
+
28
+ - Extract exact color values (use color picker precision: #RRGGBB)
29
+ - Identify font characteristics (serif/sans, weight, spacing, size ratios)
30
+ - Map layout structure (grid, spacing rhythm, alignment patterns)
31
+ - Note visual effects (shadows, gradients, blur, textures, border styles)
32
+ - Capture motion cues (if animated reference or implied motion)
33
+
34
+ 2. **Generate designs that match the reference:**
35
+
36
+ - **Design 1-2**: Replicate the reference style as closely as possible, adapting to the PRD's content
37
+ - **Design 3-5**: Variations that preserve the reference's core aesthetic while exploring different directions within that style
38
+
39
+ 3. **Fidelity checklist for reference-based designs:**
40
+ - [ ] Color palette within ±5% of reference values
41
+ - [ ] Typography style matches (same category, similar weight/spacing)
42
+ - [ ] Layout proportions preserved
43
+ - [ ] Visual effects replicated (shadows, gradients, textures)
44
+ - [ ] Overall "feel" is recognizably similar to reference
45
+
46
+ ### When No Image References Are Provided
47
+
48
+ Follow the standard creative process: invent tension-based concept names, map across spectrums, and generate 5 radically different directions.
49
+ </input_handling>
50
+
51
+ <instructions>
52
+
53
+ ## Phase 1: Extract Design DNA
54
+
55
+ Keep this brief—creative naming drives the design, not over-analysis.
56
+
57
+ ```
58
+ **Product:** [one sentence]
59
+ **User:** [who, in what context, with what goal]
60
+ **Must convey:** [2-3 essential feelings]
61
+ ```
62
+
63
+ ## Phase 2: Invent 5 Creative Directions
64
+
65
+ ### Check Existing Styles
66
+
67
+ Read `docs/design/` directory. If `style_N_*.html` files exist, continue numbering from N+1. New styles must be visually distinct from existing ones.
68
+
69
+ ### Create 5 Concept Names
70
+
71
+ **Before any design work, invent 5 evocative names.**
72
+
73
+ Name format: `[word_A]_[word_B]` where:
74
+
75
+ - Word A and Word B create **tension or contrast**
76
+ - The combination should feel unexpected, not obvious
77
+ - Each word pulls the design in a different direction
78
+
79
+ Good patterns:
80
+
81
+ - [temperature]\_[movement]: warm vs cold, static vs dynamic
82
+ - [texture]\_[era]: rough vs smooth, retro vs futuristic
83
+ - [emotion]\_[structure]: soft vs rigid, chaotic vs ordered
84
+ - [material]\_[concept]: organic vs digital, heavy vs light
85
+
86
+ Avoid:
87
+
88
+ - Single adjectives
89
+ - Obvious pairings without tension
90
+ - Generic descriptors
91
+
92
+ **The name drives the design.** Tension in the name forces creative problem-solving.
93
+
94
+ ### Map Each Concept Across 7 Spectrums
95
+
96
+ For each concept, mark its position. **Extremes create distinctiveness—avoid the middle.**
97
+
98
+ ```
99
+ Concept: [name]
100
+
101
+ Layout: Dense ●○○○○ Spacious
102
+ Color: Monochrome ○○○○● Vibrant
103
+ Typography: Serif ○○●○○ Display
104
+ Depth: Flat ○○○○● Layered
105
+ Energy: Calm ○●○○○ Dynamic
106
+ Theme: Dark ●○○○○ Light
107
+ Shape: Angular ○○○○● Curved
108
+ ```
109
+
110
+ ### Extreme Rule (Mandatory)
111
+
112
+ **Each design MUST have at least 2 extreme positions** (●○○○○ or ○○○○●).
113
+
114
+ Why: Middle positions (○○●○○) converge to "safe" averages. Extremes force distinctive choices.
115
+
116
+ ### Verify Contrast
117
+
118
+ Before proceeding:
119
+
120
+ - [ ] Each design has **2+ extreme positions**
121
+ - [ ] No two concepts share the same position on 4+ spectrums
122
+ - [ ] Mix of dark and light themes across 5 designs
123
+ - [ ] Mix of angular and curved across 5 designs
124
+
125
+ ## Phase 3: Define Concrete Specifications
126
+
127
+ For each concept, specify exact values—no adjectives.
128
+
129
+ ```
130
+ ### [Concept Name]
131
+
132
+ **Palette:**
133
+ - Background: #______
134
+ - Surface: #______
135
+ - Text: #______
136
+ - Text muted: #______
137
+ - Accent: #______
138
+
139
+ **Typography:**
140
+ - Font: [Google Font name]
141
+ - Headline: [size]px / [weight] / [letter-spacing]em
142
+ - Body: [size]px / [weight] / [line-height]
143
+
144
+ **Spacing:**
145
+ - Container max-width: [value]px
146
+ - Section padding: [value]px
147
+ - Element gap: [value]px
148
+ - Border-radius: [value]px
149
+
150
+ **Motion:**
151
+ - Duration: [value]s
152
+ - Easing: cubic-bezier([values])
153
+ - Stagger delay: [value]s
154
+ ```
155
+
156
+ ## Phase 4: Generate HTML Files
157
+
158
+ <use_parallel_tool_calls>
159
+ Write all 5 HTML files simultaneously by making 5 independent Write tool calls in a single response. These files have no dependencies on each other—do not write them sequentially. Maximize parallel execution for speed.
160
+ </use_parallel_tool_calls>
161
+
162
+ <frontend_aesthetics>
163
+ You tend to converge toward generic outputs. Avoid this:
164
+
165
+ **Typography:** Never use Inter, Roboto, Arial, Helvetica, Open Sans, Space Grotesk, or system fonts. Choose distinctive typefaces. Use weight extremes (100 vs 900, not 400 vs 600). Dramatic size jumps (3x+). Tight headline letter-spacing (-0.02em to -0.05em).
166
+
167
+ **Color:** One dominant + one sharp accent. Never pure #FFFFFF or #000000 backgrounds—add subtle tint. No purple gradients.
168
+
169
+ **Motion:** Focus on high-impact moments, not scattered micro-interactions.
170
+
171
+ - **Page load**: Orchestrated staggered reveals (vary `animation-delay` by 0.05-0.1s increments)
172
+ - **Scroll**: Use `IntersectionObserver` for scroll-triggered fade-ins (vanilla JS, no frameworks)
173
+ - **Hover**: Transform + opacity + subtle shadow shifts, not just color changes
174
+ - **Transitions**: Custom `cubic-bezier` easings that feel physical (e.g., `cubic-bezier(0.34, 1.56, 0.64, 1)` for bounce)
175
+ - **Advanced**: Gradient animations via `background-position`, `backdrop-filter` transitions, CSS `@property` for animatable custom properties
176
+ - **Restraint**: One dramatic sequence beats many small animations. If everything moves, nothing stands out.
177
+
178
+ **Backgrounds:** Never flat solid colors. Layer gradients, add subtle noise/grain, create atmosphere.
179
+
180
+ **Layout:** Break at least one standard pattern per design. Try asymmetry, overlap, bento grids, diagonal flow, or unexpected whitespace.
181
+ </frontend_aesthetics>
182
+
183
+ ### File Requirements
184
+
185
+ | Requirement | Details |
186
+ | ------------------ | ------------------------------------------------- |
187
+ | **Path** | `docs/design/style_{n}_{concept_name}.html` |
188
+ | **Content** | Realistic view matching product purpose |
189
+ | **Self-contained** | Inline CSS, only Google Fonts external |
190
+ | **Interactivity** | Hover, active, focus states + page load animation |
191
+ | **Responsive** | Basic mobile adaptation |
192
+ | **Real content** | Actual copy from PRD, no lorem ipsum |
193
+
194
+ ### HTML Structure
195
+
196
+ ```html
197
+ <!DOCTYPE html>
198
+ <html lang="en">
199
+ <head>
200
+ <meta charset="UTF-8" />
201
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
202
+ <title>[Product] - [Concept]</title>
203
+
204
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
205
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
206
+ <link href="https://fonts.googleapis.com/css2?family=[Font]:[weights]&display=swap" rel="stylesheet" />
207
+
208
+ <style>
209
+ /* Concept: [name]
210
+ Spectrum: L[x] C[x] T[x] D[x] E[x] Th[x] Sh[x]
211
+ Extremes: [list which 2+ are extreme] */
212
+
213
+ :root {
214
+ --bg: #[hex];
215
+ --surface: #[hex];
216
+ --text: #[hex];
217
+ --text-muted: #[hex];
218
+ --accent: #[hex];
219
+ }
220
+
221
+ * {
222
+ margin: 0;
223
+ padding: 0;
224
+ box-sizing: border-box;
225
+ }
226
+
227
+ body {
228
+ font-family: "[Font]", sans-serif;
229
+ background: var(--bg);
230
+ color: var(--text);
231
+ }
232
+
233
+ /* Page load: staggered reveal */
234
+ .reveal {
235
+ opacity: 0;
236
+ transform: translateY(20px);
237
+ animation: fadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
238
+ }
239
+ .reveal:nth-child(1) {
240
+ animation-delay: 0.1s;
241
+ }
242
+ .reveal:nth-child(2) {
243
+ animation-delay: 0.15s;
244
+ }
245
+ .reveal:nth-child(3) {
246
+ animation-delay: 0.2s;
247
+ }
248
+
249
+ @keyframes fadeUp {
250
+ to {
251
+ opacity: 1;
252
+ transform: translateY(0);
253
+ }
254
+ }
255
+
256
+ /* Scroll-triggered: hidden until in view */
257
+ .scroll-reveal {
258
+ opacity: 0;
259
+ transform: translateY(30px);
260
+ transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
261
+ }
262
+ .scroll-reveal.visible {
263
+ opacity: 1;
264
+ transform: translateY(0);
265
+ }
266
+
267
+ /* Hover: physical-feeling bounce */
268
+ .interactive {
269
+ transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
270
+ }
271
+ .interactive:hover {
272
+ transform: translateY(-4px);
273
+ box-shadow: 0 12px 24px -8px rgba(0, 0, 0, 0.15);
274
+ }
275
+ </style>
276
+ </head>
277
+ <body>
278
+ <!-- Semantic HTML with real content -->
279
+
280
+ <script>
281
+ // Scroll-triggered animations
282
+ const observer = new IntersectionObserver(
283
+ (entries) => {
284
+ entries.forEach((entry) => {
285
+ if (entry.isIntersecting) {
286
+ entry.target.classList.add("visible");
287
+ }
288
+ });
289
+ },
290
+ { threshold: 0.1 }
291
+ );
292
+
293
+ document.querySelectorAll(".scroll-reveal").forEach((el) => observer.observe(el));
294
+ </script>
295
+ </body>
296
+ </html>
297
+ ```
298
+
299
+ ## Phase 5: Verify Quality
300
+
301
+ ### Per-Design Checklist
302
+
303
+ - [ ] Font is distinctive (not Inter/Roboto/Arial/system)
304
+ - [ ] Background has depth (not flat white/black)
305
+ - [ ] Page load animation with staggered delays
306
+ - [ ] Scroll-triggered reveals on below-fold content
307
+ - [ ] Hover states with transform + shadow (not just color)
308
+ - [ ] Custom easing (cubic-bezier), not default `ease` or `linear`
309
+ - [ ] CSS custom properties for colors
310
+ - [ ] Layout breaks at least one standard pattern
311
+
312
+ ### Cross-Design Contrast
313
+
314
+ Each pair of designs must have 5+ obvious visual differences. If not, revise.
315
+
316
+ ## Phase 6: Save & Report
317
+
318
+ Create `docs/design/` directory if needed. Save all 5 HTML files.
319
+
320
+ </instructions>
321
+
322
+ <output_format>
323
+
324
+ ```
325
+ ## Generated Styles
326
+
327
+ | # | Name | Spectrum (L/C/T/D/E/Th/Sh) | Extremes | Palette | Font |
328
+ |---|------|---------------------------|----------|---------|------|
329
+ | {n} | {name} | [x][x][x][x][x][x][x] | {which 2+} | #___, #___, #___ | {font} |
330
+
331
+ ### Files
332
+ - docs/design/style_{n}_{name}.html
333
+ - ...
334
+
335
+ ### Rationale
336
+ 1. **{name}**: [1 sentence connecting to product requirements]
337
+ 2. ...
338
+ ```
339
+
340
+ </output_format>
341
+
342
+ Make bold choices. Each design should be portfolio-worthy—something you'd proudly present.
@@ -0,0 +1,28 @@
1
+ # Commit Conventions
2
+
3
+ Use conventional commits: `<type>: <description>` (scope optional: `<type>(<scope>): <description>`)
4
+
5
+ | Type | Use for |
6
+ |------------|------------------------------------------------------|
7
+ | `feat` | New feature |
8
+ | `fix` | Bug fix |
9
+ | `chore` | Routine tasks (deps, non-production changes) |
10
+ | `docs` | Documentation updates |
11
+ | `style` | Code style only (formatting, spacing) |
12
+ | `refactor` | Restructuring (no fix or feature) |
13
+ | `perf` | Performance improvements |
14
+ | `test` | Adding or updating tests |
15
+ | `build` | Build system or dependency changes |
16
+ | `ci` | CI/CD pipeline updates |
17
+ | `revert` | Reverting a previous commit |
18
+ | `temp` | Temporary changes (not for long-term merge) |
19
+
20
+ ## Examples
21
+
22
+ ```
23
+ feat: add user authentication
24
+ fix: resolve null pointer in auth middleware
25
+ refactor(api): simplify request validation
26
+ docs: update API usage guide
27
+ chore: upgrade next.js to v16.2
28
+ ```
@@ -0,0 +1,111 @@
1
+ # Feature Gap Analysis Skill
2
+
3
+ Use this skill to systematically identify missing features and functionality gaps in the codebase.
4
+
5
+ ## Trigger
6
+
7
+ - "What features are missing?"
8
+ - "Analyze gaps in [feature area]"
9
+ - Feature comparison requests
10
+ - "What should we build next?"
11
+
12
+ ## Workflow
13
+
14
+ ### Phase 1: Define Scope
15
+ 1. Identify the feature area to analyze
16
+ 2. Establish comparison baseline (competitor, spec, user needs)
17
+ 3. Define what "complete" means for this analysis
18
+
19
+ ### Phase 2: Parallel Analysis
20
+ Spawn Task agents to investigate simultaneously:
21
+
22
+ ```markdown
23
+ Agent 1: Current State Analysis
24
+ - What exists today?
25
+ - How is it implemented?
26
+ - What are its limitations?
27
+
28
+ Agent 2: Standard/Competitor Analysis
29
+ - What do similar products offer?
30
+ - What's the industry standard?
31
+ - What do users expect?
32
+
33
+ Agent 3: User-Facing Gaps
34
+ - What's missing from user perspective?
35
+ - What are common complaints/requests?
36
+ - What workflows are incomplete?
37
+
38
+ Agent 4: Technical Debt
39
+ - What technical limitations block features?
40
+ - What refactoring would enable new capabilities?
41
+ - What dependencies are outdated?
42
+ ```
43
+
44
+ ### Phase 3: Synthesize Findings
45
+ Compile findings into prioritized analysis:
46
+
47
+ ```markdown
48
+ ## Feature Gap Analysis: [Area]
49
+
50
+ ### Current State
51
+ | Feature | Status | Implementation | Notes |
52
+ |---------|--------|----------------|-------|
53
+ | Feature A | Complete | `path/to/file.ts` | |
54
+ | Feature B | Partial | `path/to/file.ts` | Missing X |
55
+ | Feature C | Missing | - | Needed for Y |
56
+
57
+ ### Gap Prioritization
58
+
59
+ #### High Priority (User Impact + Feasibility)
60
+ 1. **[Gap]**
61
+ - Impact: [Why it matters]
62
+ - Complexity: S/M/L
63
+ - Dependencies: [What's needed first]
64
+ - Suggested approach: [Brief technical direction]
65
+
66
+ #### Medium Priority
67
+ 2. **[Gap]**
68
+ - ...
69
+
70
+ #### Low Priority / Nice-to-Have
71
+ 3. **[Gap]**
72
+ - ...
73
+
74
+ ### Technical Debt Blocking Progress
75
+ - [ ] Debt item 1 - blocks [features]
76
+ - [ ] Debt item 2 - blocks [features]
77
+
78
+ ### Recommended Roadmap
79
+ 1. Phase 1: [Quick wins]
80
+ 2. Phase 2: [Core features]
81
+ 3. Phase 3: [Advanced features]
82
+ ```
83
+
84
+ ### Phase 4: Generate Implementation Plans
85
+ For top priority gaps, draft initial implementation plans:
86
+
87
+ ```markdown
88
+ ## Implementation Plan: [Top Gap]
89
+
90
+ ### Files to Create/Modify
91
+ - `new/file.ts` - [purpose]
92
+ - `existing/file.ts` - [changes needed]
93
+
94
+ ### Key Decisions Needed
95
+ - Decision 1: Option A vs Option B
96
+ - Decision 2: ...
97
+
98
+ ### Draft Implementation Steps
99
+ 1. Step 1
100
+ 2. Step 2
101
+ 3. ...
102
+ ```
103
+
104
+ ## Rules
105
+
106
+ - ALWAYS output prioritized, actionable findings
107
+ - Include complexity estimates (S/M/L) for each gap
108
+ - Provide file:line references to existing implementations
109
+ - Don't just list gaps - provide implementation direction
110
+ - Use TodoWrite to checkpoint analysis progress
111
+ - If interrupted, output whatever analysis exists so far
@@ -0,0 +1,71 @@
1
+ # Investigation Skill
2
+
3
+ Use this skill for code investigation, feature gap analysis, or understanding existing functionality.
4
+
5
+ ## Trigger
6
+
7
+ - User asks to investigate, analyze, or understand code
8
+ - Feature gap analysis requests
9
+ - "How does X work?" questions
10
+ - Code exploration tasks
11
+
12
+ ## Workflow
13
+
14
+ ### Phase 1: Define Scope
15
+ Before starting, clarify:
16
+ - What specific question needs answering?
17
+ - What does "complete" look like for this investigation?
18
+ - Are there time constraints?
19
+
20
+ ### Phase 2: Parallel Exploration
21
+ Spawn Task agents to explore different areas simultaneously:
22
+ ```
23
+ Use Task tool to spawn parallel agents:
24
+ 1. Agent for data layer analysis
25
+ 2. Agent for API/service layer
26
+ 3. Agent for UI/component layer
27
+ ```
28
+
29
+ ### Phase 3: Checkpoint Progress
30
+ Every significant finding, use TodoWrite to record:
31
+ - Files examined
32
+ - Patterns discovered
33
+ - Questions raised
34
+ - Hypotheses formed
35
+
36
+ ### Phase 4: Synthesize & Report
37
+ ALWAYS output a structured summary before ending:
38
+
39
+ ```markdown
40
+ ## Investigation Summary: [Topic]
41
+
42
+ ### Files Examined
43
+ - `path/to/file.ts` - [what it does]
44
+ - `path/to/other.ts` - [what it does]
45
+
46
+ ### Key Findings
47
+ 1. [Finding with file:line reference]
48
+ 2. [Finding with file:line reference]
49
+
50
+ ### Architecture/Flow
51
+ [Brief description or diagram of how components interact]
52
+
53
+ ### Gaps/Issues Identified
54
+ - [ ] Gap 1
55
+ - [ ] Gap 2
56
+
57
+ ### Remaining Unknowns
58
+ - Question that needs more investigation
59
+
60
+ ### Recommended Next Steps
61
+ 1. Actionable step
62
+ 2. Actionable step
63
+ ```
64
+
65
+ ## Rules
66
+
67
+ - NEVER end mid-investigation without a summary
68
+ - ALWAYS provide file:line references for findings
69
+ - Use TodoWrite to checkpoint progress every 5-10 minutes
70
+ - If interrupted, output whatever findings exist so far
71
+ - Prefer parallel Task agents for large codebases