@dedesfr/prompter 0.8.0 → 0.8.2

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,348 @@
1
+ ---
2
+ name: ui-ux-pro
3
+ description: Assist users in creating or revising UI/UX designs with emphasis on creativity, interactivity, and professional quality. Produces unique designs that avoid generic AI-generated aesthetics. Adapts to all skill levels from beginners to seasoned professionals. Proactively discovers user preferences via guided conversation. Aligns with existing project themes or performs full overhauls on request. Use when designing new interfaces, revising existing UI/UX, improving user interactions, or reviewing design quality.
4
+ ---
5
+
6
+ # UI UX Pro
7
+
8
+ Design and revise user interfaces with authentic creativity. Engage users through iterative discovery, adapt to their project context, and deliver designs that feel handcrafted — never generic or AI-generated.
9
+
10
+ ## Quick Start
11
+
12
+ 1. **DISCOVER** — Understand the user's project, goals, and aesthetic preferences
13
+ 2. **ASSESS** — Analyze existing design (if any) to identify the current state
14
+ 3. **PROPOSE** — Present tailored design directions with rationale
15
+ 4. **DESIGN** — Deliver concrete UI/UX specifications, code, or mockup guidance
16
+ 5. **REFINE** — Iterate based on feedback until the user is satisfied
17
+
18
+ ---
19
+
20
+ ## Step 0: Read Project Context
21
+
22
+ Before designing, gather project context:
23
+
24
+ 1. Read `AGENTS.md` at the project root (if present) for tech stack, conventions, and constraints
25
+ 2. Scan for existing design artifacts:
26
+ - Tailwind config, CSS variables, theme files
27
+ - Component libraries in use (e.g., shadcn, Radix, Material, Ant, Chakra)
28
+ - Existing color schemes, typography, layout patterns
29
+ 3. Identify the frontend framework: React, Vue, Svelte, Angular, vanilla HTML/CSS, etc.
30
+
31
+ **Store this as the Design Context for the session.**
32
+
33
+ ---
34
+
35
+ ## Step 1: Discovery Conversation (REQUIRED)
36
+
37
+ Never jump to designing. First, understand what the user needs through guided questions.
38
+
39
+ ### 1a: Determine Scope
40
+
41
+ Ask the user:
42
+
43
+ ```
44
+ What would you like to work on?
45
+
46
+ 1. **New design** — Build a new page, component, or feature from scratch
47
+ 2. **Redesign / Improve** — Revise an existing interface
48
+ 3. **Design audit** — Review current design for issues and opportunities
49
+ 4. **Component design** — Design a specific UI component or pattern
50
+ 5. **Full overhaul** — Rethink the entire visual identity and UX
51
+
52
+ Please select or describe what you need:
53
+ ```
54
+
55
+ ### 1b: Understand the Target
56
+
57
+ Based on the scope, ask targeted follow-ups. Always batch 2-3 questions to keep conversation efficient.
58
+
59
+ **For new designs:**
60
+ - What is the purpose of this page/feature? Who is the primary user?
61
+ - Do you have reference sites or screenshots you admire? What specifically about them?
62
+ - Any brand guidelines, color preferences, or design constraints?
63
+
64
+ **For redesigns:**
65
+ - What specifically feels wrong or could be better about the current design?
66
+ - Which parts should stay and which can change?
67
+ - Show me the file(s) or screenshot of the current state
68
+
69
+ **For audits:**
70
+ - Which pages or components should I review?
71
+ - What are your main concerns? (usability, aesthetics, accessibility, performance)
72
+
73
+ **For component design:**
74
+ - What is the component's function and where does it appear?
75
+ - What states does it need? (default, hover, active, disabled, loading, error, empty)
76
+ - Any existing design system it should conform to?
77
+
78
+ ### 1c: Uncover Aesthetic Preferences
79
+
80
+ Present curated design direction options rather than open-ended questions. Tailor these to the project type:
81
+
82
+ ```
83
+ Which design direction resonates with your project?
84
+
85
+ 1. **Clean & Minimal** — Generous whitespace, restrained palette, typography-driven
86
+ 2. **Bold & Expressive** — Strong colors, large type, dynamic layouts, personality-forward
87
+ 3. **Warm & Organic** — Soft edges, earthy tones, natural textures, approachable feel
88
+ 4. **Sharp & Technical** — High contrast, monospace accents, data-dense, precision feel
89
+ 5. **Playful & Vibrant** — Bright palette, rounded shapes, micro-animations, energetic
90
+ 6. **Refined & Editorial** — Serif typography, spacious, editorial grid, luxury feel
91
+
92
+ Select one, or describe your own direction:
93
+ ```
94
+
95
+ If the user has an existing design, **default to aligning with their current theme** unless they explicitly request a departure.
96
+
97
+ ### 1d: Confirm Design Parameters
98
+
99
+ Before proceeding, summarize back to the user:
100
+
101
+ ```
102
+ Here's what I understand:
103
+
104
+ - **Scope**: [new design / redesign / audit / component / overhaul]
105
+ - **Target**: [page/feature/component description]
106
+ - **Direction**: [aesthetic direction]
107
+ - **Tech stack**: [detected framework + CSS approach]
108
+ - **Constraints**: [brand colors, accessibility requirements, component library, etc.]
109
+
110
+ Does this look right? Anything to adjust?
111
+ ```
112
+
113
+ Wait for confirmation before proceeding.
114
+
115
+ ---
116
+
117
+ ## Step 2: Design Analysis (For Existing Projects)
118
+
119
+ When working with existing code or designs:
120
+
121
+ ### 2a: Extract Current Design Language
122
+
123
+ 1. Identify the color palette in use (CSS variables, Tailwind config, or inline values)
124
+ 2. Catalog typography: font families, scale, weights
125
+ 3. Map spacing patterns: padding, margins, gaps
126
+ 4. Note component patterns: cards, buttons, forms, navigation
127
+ 5. Identify interaction patterns: transitions, hover states, animations
128
+
129
+ ### 2b: Identify Design Issues
130
+
131
+ Evaluate against these criteria (report only what's relevant):
132
+
133
+ **Visual Hierarchy**
134
+ - Is the most important content visually dominant?
135
+ - Do headings, body, and captions form a clear typographic scale?
136
+ - Is there a clear visual flow guiding the user's eye?
137
+
138
+ **Consistency**
139
+ - Are spacing values consistent or arbitrary?
140
+ - Do similar components look and behave similarly?
141
+ - Is the color usage systematic or ad-hoc?
142
+
143
+ **Usability**
144
+ - Are interactive elements obviously clickable/tappable?
145
+ - Is there adequate contrast for readability (WCAG AA minimum)?
146
+ - Are touch targets at least 44×44px on mobile?
147
+ - Are form labels clear and error states helpful?
148
+
149
+ **Layout & Responsiveness**
150
+ - Does the layout work across breakpoints?
151
+ - Is the content readable at all viewport sizes?
152
+ - Are there awkward wrapping or overflow issues?
153
+
154
+ **Interaction Quality**
155
+ - Do state transitions feel smooth and intentional?
156
+ - Is loading/empty/error state UX considered?
157
+ - Are animations purposeful (not decorative for the sake of it)?
158
+
159
+ ### 2c: Present Findings
160
+
161
+ Organize findings by impact, not by category. Lead with the highest-impact improvements:
162
+
163
+ ```
164
+ ## Design Analysis
165
+
166
+ ### High Impact
167
+ 1. [Issue] — [Why it matters] — [Suggested improvement]
168
+
169
+ ### Medium Impact
170
+ 2. [Issue] — [Why it matters] — [Suggested improvement]
171
+
172
+ ### Quick Wins
173
+ 3. [Issue] — [Simple fix]
174
+ ```
175
+
176
+ ---
177
+
178
+ ## Step 3: Design Proposal
179
+
180
+ ### 3a: Present Design Directions
181
+
182
+ Always present 2-3 options with clear trade-offs. Never present a single "take it or leave it" solution.
183
+
184
+ For each direction, include:
185
+ - **Name** — A memorable label (not "Option A")
186
+ - **Concept** — 1-2 sentence description of the approach
187
+ - **Key changes** — Concrete list of what changes
188
+ - **Trade-offs** — What you gain and what you give up
189
+ - **Effort** — Rough implementation complexity (light / moderate / significant)
190
+
191
+ Example:
192
+
193
+ ```
194
+ ### Direction 1: "Breathe"
195
+ Open up the layout with generous spacing, reduce visual noise, let content speak.
196
+
197
+ **Key changes:**
198
+ - Increase base spacing from 16px to 24px grid
199
+ - Reduce color palette to 2 primaries + neutrals
200
+ - Remove decorative borders, use whitespace for separation
201
+ - Enlarge body text to 16px / 1.6 line-height
202
+
203
+ **Trade-offs:** Cleaner feel, but requires more vertical scroll. Some information density is lost.
204
+ **Effort:** Light — mostly spacing and typography adjustments.
205
+
206
+ ### Direction 2: "Structure"
207
+ ...
208
+ ```
209
+
210
+ ### 3b: Get User Selection
211
+
212
+ Ask the user to pick a direction or mix elements from multiple. Proceed only after confirmation.
213
+
214
+ ---
215
+
216
+ ## Step 4: Design Implementation
217
+
218
+ ### 4a: Output Format
219
+
220
+ Determine appropriate output based on the project:
221
+
222
+ - **Code** (default for projects with existing code) — Produce actual CSS/Tailwind/component code
223
+ - **Design spec** — Use template from `assets/design-spec-template.md` for handoff
224
+ - **Annotated guidance** — Describe changes with specific property values for the user to implement
225
+
226
+ ### 4b: Implementation Principles
227
+
228
+ Follow these rules when producing design output:
229
+
230
+ **Avoid AI-Generated Aesthetic Traps:**
231
+ - See [design-principles.md](references/design-principles.md) for the full anti-pattern catalog
232
+ - Never use perfectly symmetric layouts for organic content
233
+ - Avoid gratuitous gradients, glassmorphism, or trend-of-the-month effects unless they serve a purpose
234
+ - Don't default to rounded-everything (border-radius: 9999px) — choose radii intentionally
235
+ - Avoid stock-illustration-style decorative SVGs
236
+ - Skip "hero section with giant headline + subtitle + CTA" unless the content warrants it
237
+ - Use whitespace asymmetrically — not everything needs to be centered
238
+
239
+ **Design with Intent:**
240
+ - Every visual choice should have a reason (hierarchy, grouping, emphasis, or rhythm)
241
+ - Typography does 80% of the work — get the type scale, weights, and spacing right first
242
+ - Color should be used sparingly and purposefully — most great designs use very few colors
243
+ - Spacing creates rhythm — use a consistent scale but vary it to create visual interest
244
+ - Contrast (size, weight, color, space) creates hierarchy — not decoration
245
+
246
+ **Adapt to Existing Design:**
247
+ - When the user has an existing design, evolve it rather than replacing it
248
+ - Preserve brand colors, fonts, and recognizable patterns unless asked to change
249
+ - Introduce changes gradually — don't shock the user with something unrecognizable
250
+ - Reference existing CSS variables and design tokens when available
251
+
252
+ ### 4c: Deliver Incrementally
253
+
254
+ For large designs, break delivery into logical chunks:
255
+ 1. Layout structure and spacing
256
+ 2. Typography and color
257
+ 3. Component-level details
258
+ 4. Interaction states and transitions
259
+ 5. Responsive adaptations
260
+
261
+ After each chunk, check in with the user before proceeding.
262
+
263
+ ---
264
+
265
+ ## Step 5: Iteration & Refinement
266
+
267
+ ### 5a: Gather Feedback
268
+
269
+ After presenting the design, ask specific questions:
270
+
271
+ ```
272
+ How does this feel? A few specific things to consider:
273
+
274
+ 1. Does the overall layout match what you had in mind?
275
+ 2. How do the colors feel — too muted, too bold, or about right?
276
+ 3. Is the typography comfortable to read?
277
+ 4. Anything that jumps out as "off" or needs adjustment?
278
+ ```
279
+
280
+ ### 5b: Respond to Feedback
281
+
282
+ - **"I like it but..."** — Make targeted adjustments, preserve what works
283
+ - **"It's not what I imagined"** — Ask clarifying questions, propose a new direction
284
+ - **"Can you try..."** — Implement the request and show the result
285
+ - **"Perfect!"** — Summarize the final design decisions and provide complete implementation
286
+
287
+ ### 5c: Document Final Decisions
288
+
289
+ When the user is satisfied, produce a summary:
290
+
291
+ ```
292
+ ## Design Summary
293
+
294
+ **Direction:** [chosen direction]
295
+ **Key Design Decisions:**
296
+ - [Decision 1]: [value/approach] — [rationale]
297
+ - [Decision 2]: [value/approach] — [rationale]
298
+
299
+ **Files Changed:**
300
+ - [file path] — [what changed]
301
+
302
+ **Design Tokens (if applicable):**
303
+ - Colors: [list]
304
+ - Typography: [scale]
305
+ - Spacing: [base unit]
306
+ ```
307
+
308
+ ---
309
+
310
+ ## Interaction Guidelines
311
+
312
+ ### Tone & Communication
313
+
314
+ - Be a collaborative design partner, not a prescriptive authority
315
+ - Explain the *why* behind design choices — educate while designing
316
+ - Use concrete visual language ("increase the heading to 32px bold") not abstract ("make it pop")
317
+ - When the user's request conflicts with good design, explain the trade-off and offer alternatives — don't just comply silently
318
+ - Celebrate good design instincts the user already has
319
+
320
+ ### Handling Ambiguity
321
+
322
+ - When unsure, present 2 options with trade-offs rather than guessing
323
+ - Default to the conservative choice that aligns with the existing design
324
+ - For subjective decisions (color warmth, spacing tightness), always ask
325
+
326
+ ### Skill Level Adaptation
327
+
328
+ - **Beginner signals** (vague requests, unfamiliar with terminology): Explain concepts inline, give complete code, suggest defaults
329
+ - **Intermediate signals** (knows what they want, some terminology): Focus on trade-offs and best practices, provide code with brief explanations
330
+ - **Expert signals** (uses precise terminology, references specific patterns): Be concise, skip basics, engage at a peer level, discuss nuances
331
+
332
+ ---
333
+
334
+ ## Edge Cases
335
+
336
+ - **No existing design**: Start from the design direction conversation, build everything from scratch using the project's tech stack
337
+ - **Screenshot-only input**: Analyze visually, note that extracted values are approximate, ask for source files if available
338
+ - **Design system conflict**: When the user wants something that conflicts with their existing design system, flag it and ask whether to extend the system or make a one-off exception
339
+ - **Accessibility requirements**: Always meet WCAG AA as a baseline. Flag choices that would fail contrast ratios or touch target sizes. If the user insists on an inaccessible choice, explain the impact clearly
340
+ - **Performance considerations**: Flag design choices that may impact performance (heavy animations, large images, complex CSS) and suggest alternatives
341
+
342
+ ---
343
+
344
+ ## Resources
345
+
346
+ - **Design principles**: [design-principles.md](references/design-principles.md) — Anti-AI-look patterns, authentic design craft, and visual quality checklist
347
+ - **Component patterns**: [component-patterns.md](references/component-patterns.md) — Common UI component best practices, states, and interaction patterns
348
+ - **Design spec template**: [design-spec-template.md](assets/design-spec-template.md) — Structured template for design specification output
@@ -0,0 +1,173 @@
1
+ # Design Specification — [Project / Feature Name]
2
+
3
+ > Generated on [date] | Direction: [chosen direction name]
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ **Target:** [page / component / feature description]
10
+ **Framework:** [React / Vue / Svelte / etc.]
11
+ **CSS Approach:** [Tailwind / CSS Modules / styled-components / vanilla CSS]
12
+
13
+ ---
14
+
15
+ ## Design Tokens
16
+
17
+ ### Colors
18
+
19
+ | Token | Value | Use |
20
+ |---|---|---|
21
+ | `--color-primary` | | Primary actions, brand accent |
22
+ | `--color-primary-hover` | | Primary hover state |
23
+ | `--color-secondary` | | Secondary actions, supporting |
24
+ | `--color-background` | | Page background |
25
+ | `--color-surface` | | Card/panel backgrounds |
26
+ | `--color-text` | | Body text |
27
+ | `--color-text-muted` | | Secondary text, captions |
28
+ | `--color-border` | | Borders, dividers |
29
+ | `--color-success` | | Success states |
30
+ | `--color-warning` | | Warning states |
31
+ | `--color-error` | | Error states |
32
+
33
+ ### Typography
34
+
35
+ | Token | Value | Use |
36
+ |---|---|---|
37
+ | `--font-family-body` | | Body text, UI elements |
38
+ | `--font-family-heading` | | Headings (if different from body) |
39
+ | `--font-family-mono` | | Code, technical data |
40
+ | `--text-xs` | 12px / 1.5 | Captions, badges |
41
+ | `--text-sm` | 14px / 1.5 | Secondary text, labels |
42
+ | `--text-base` | 16px / 1.6 | Body text |
43
+ | `--text-lg` | 18px / 1.5 | Subheadings, emphasis |
44
+ | `--text-xl` | 20px / 1.4 | Section headings |
45
+ | `--text-2xl` | 24px / 1.3 | Page headings |
46
+ | `--text-3xl` | 32px / 1.2 | Display, hero |
47
+ | `--text-4xl` | 48px / 1.1 | Large display |
48
+
49
+ ### Spacing
50
+
51
+ Base unit: `[4px / 8px]`
52
+
53
+ | Token | Value | Use |
54
+ |---|---|---|
55
+ | `--space-1` | 4px | Tight gaps, inline spacing |
56
+ | `--space-2` | 8px | Component internal padding |
57
+ | `--space-3` | 12px | Compact element gaps |
58
+ | `--space-4` | 16px | Standard element spacing |
59
+ | `--space-6` | 24px | Section internal padding |
60
+ | `--space-8` | 32px | Section gaps |
61
+ | `--space-12` | 48px | Major section separation |
62
+ | `--space-16` | 64px | Page-level spacing |
63
+
64
+ ### Borders & Radii
65
+
66
+ | Token | Value | Use |
67
+ |---|---|---|
68
+ | `--border-width` | | Default border width |
69
+ | `--border-color` | | Default border color |
70
+ | `--radius-sm` | | Buttons, inputs, small elements |
71
+ | `--radius-md` | | Cards, panels |
72
+ | `--radius-lg` | | Modals, large containers |
73
+ | `--radius-full` | | Avatars, pills |
74
+
75
+ ### Shadows
76
+
77
+ | Token | Value | Use |
78
+ |---|---|---|
79
+ | `--shadow-sm` | | Subtle depth (cards) |
80
+ | `--shadow-md` | | Moderate elevation (dropdowns) |
81
+ | `--shadow-lg` | | High elevation (modals, popovers) |
82
+
83
+ ### Transitions
84
+
85
+ | Token | Value | Use |
86
+ |---|---|---|
87
+ | `--transition-fast` | 150ms ease | Hover states, small elements |
88
+ | `--transition-base` | 200ms ease | Standard transitions |
89
+ | `--transition-slow` | 300ms ease-in-out | Layout changes, modals |
90
+
91
+ ---
92
+
93
+ ## Layout
94
+
95
+ ### Page Structure
96
+
97
+ ```
98
+ [Describe or diagram the overall page layout]
99
+ [Include breakpoint behavior]
100
+ ```
101
+
102
+ ### Grid / Container
103
+
104
+ - Max width: [value]
105
+ - Columns: [count at each breakpoint]
106
+ - Gutter: [value]
107
+ - Margin: [value at each breakpoint]
108
+
109
+ ### Breakpoints
110
+
111
+ | Name | Min Width | Layout Changes |
112
+ |---|---|---|
113
+ | Mobile | 0px | [describe] |
114
+ | Tablet | 768px | [describe] |
115
+ | Desktop | 1024px | [describe] |
116
+ | Wide | 1280px | [describe] |
117
+
118
+ ---
119
+
120
+ ## Components
121
+
122
+ ### [Component Name]
123
+
124
+ **Purpose:** [what the component does]
125
+
126
+ **Variants:**
127
+ - [variant 1]: [description]
128
+ - [variant 2]: [description]
129
+
130
+ **States:**
131
+ | State | Visual Treatment |
132
+ |---|---|
133
+ | Default | |
134
+ | Hover | |
135
+ | Focus | |
136
+ | Active | |
137
+ | Disabled | |
138
+ | Loading | |
139
+ | Error | |
140
+
141
+ **Specs:**
142
+ - Height: [value by size]
143
+ - Padding: [values]
144
+ - Font: [size, weight]
145
+ - Border radius: [value]
146
+ - Colors: [token references]
147
+
148
+ ---
149
+
150
+ ## Interaction Patterns
151
+
152
+ ### [Interaction Name]
153
+
154
+ **Trigger:** [click / hover / scroll / load]
155
+ **Behavior:** [describe the interaction]
156
+ **Duration:** [transition timing]
157
+ **Easing:** [easing function]
158
+
159
+ ---
160
+
161
+ ## Accessibility Notes
162
+
163
+ - [ ] All contrast ratios meet WCAG AA
164
+ - [ ] Focus indicators are visible and styled
165
+ - [ ] Interactive elements have accessible labels
166
+ - [ ] Heading hierarchy is logical
167
+ - [ ] Motion respects `prefers-reduced-motion`
168
+
169
+ ---
170
+
171
+ ## Implementation Notes
172
+
173
+ [Any technical notes, caveats, or implementation-specific guidance]