learnship 1.9.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.
Files changed (171) hide show
  1. package/.claude-plugin/plugin.json +26 -0
  2. package/.cursor-plugin/plugin.json +26 -0
  3. package/LICENSE +21 -0
  4. package/README.md +791 -0
  5. package/SKILL.md +86 -0
  6. package/agents/debugger.md +102 -0
  7. package/agents/executor.md +115 -0
  8. package/agents/learnship-debugger.md +146 -0
  9. package/agents/learnship-executor.md +155 -0
  10. package/agents/learnship-phase-researcher.md +128 -0
  11. package/agents/learnship-plan-checker.md +119 -0
  12. package/agents/learnship-planner.md +146 -0
  13. package/agents/learnship-verifier.md +157 -0
  14. package/agents/planner.md +109 -0
  15. package/agents/researcher.md +80 -0
  16. package/agents/verifier.md +114 -0
  17. package/bin/install.js +1242 -0
  18. package/bin/learnship.js +56 -0
  19. package/commands/learnship/add-phase.md +22 -0
  20. package/commands/learnship/add-tests.md +24 -0
  21. package/commands/learnship/add-todo.md +21 -0
  22. package/commands/learnship/audit-milestone.md +21 -0
  23. package/commands/learnship/check-todos.md +22 -0
  24. package/commands/learnship/cleanup.md +22 -0
  25. package/commands/learnship/complete-milestone.md +22 -0
  26. package/commands/learnship/debug.md +27 -0
  27. package/commands/learnship/decision-log.md +22 -0
  28. package/commands/learnship/diagnose-issues.md +23 -0
  29. package/commands/learnship/discovery-phase.md +24 -0
  30. package/commands/learnship/discuss-milestone.md +23 -0
  31. package/commands/learnship/discuss-phase.md +23 -0
  32. package/commands/learnship/execute-phase.md +27 -0
  33. package/commands/learnship/execute-plan.md +26 -0
  34. package/commands/learnship/health.md +20 -0
  35. package/commands/learnship/help.md +19 -0
  36. package/commands/learnship/insert-phase.md +22 -0
  37. package/commands/learnship/knowledge-base.md +21 -0
  38. package/commands/learnship/list-phase-assumptions.md +21 -0
  39. package/commands/learnship/ls.md +20 -0
  40. package/commands/learnship/map-codebase.md +23 -0
  41. package/commands/learnship/milestone-retrospective.md +21 -0
  42. package/commands/learnship/new-milestone.md +23 -0
  43. package/commands/learnship/new-project.md +24 -0
  44. package/commands/learnship/next.md +22 -0
  45. package/commands/learnship/pause-work.md +21 -0
  46. package/commands/learnship/plan-milestone-gaps.md +22 -0
  47. package/commands/learnship/plan-phase.md +24 -0
  48. package/commands/learnship/progress.md +20 -0
  49. package/commands/learnship/quick.md +27 -0
  50. package/commands/learnship/reapply-patches.md +21 -0
  51. package/commands/learnship/release.md +21 -0
  52. package/commands/learnship/remove-phase.md +23 -0
  53. package/commands/learnship/research-phase.md +23 -0
  54. package/commands/learnship/resume-work.md +21 -0
  55. package/commands/learnship/set-profile.md +21 -0
  56. package/commands/learnship/settings.md +21 -0
  57. package/commands/learnship/transition.md +21 -0
  58. package/commands/learnship/update.md +21 -0
  59. package/commands/learnship/validate-phase.md +22 -0
  60. package/commands/learnship/verify-work.md +23 -0
  61. package/cursor-rules/learnship.mdc +60 -0
  62. package/gemini-extension.json +10 -0
  63. package/hooks/hooks-claude.json +15 -0
  64. package/hooks/hooks-cursor.json +10 -0
  65. package/hooks/session-start +43 -0
  66. package/install.sh +254 -0
  67. package/learnship/references/design-commands.md +119 -0
  68. package/learnship/references/git-integration.md +249 -0
  69. package/learnship/references/learning-design.md +142 -0
  70. package/learnship/references/model-profiles.md +90 -0
  71. package/learnship/references/planning-config.md +184 -0
  72. package/learnship/references/questioning.md +162 -0
  73. package/learnship/references/ui-brand.md +160 -0
  74. package/learnship/references/verification-patterns.md +608 -0
  75. package/learnship/templates/agents.md +166 -0
  76. package/learnship/templates/context.md +72 -0
  77. package/learnship/templates/plan.md +202 -0
  78. package/learnship/templates/project.md +184 -0
  79. package/learnship/templates/requirements.md +231 -0
  80. package/learnship/templates/state.md +176 -0
  81. package/learnship/templates/uat.md +80 -0
  82. package/learnship/workflows/add-phase.md +84 -0
  83. package/learnship/workflows/add-tests.md +191 -0
  84. package/learnship/workflows/add-todo.md +108 -0
  85. package/learnship/workflows/audit-milestone.md +178 -0
  86. package/learnship/workflows/check-todos.md +138 -0
  87. package/learnship/workflows/cleanup.md +107 -0
  88. package/learnship/workflows/complete-milestone.md +191 -0
  89. package/learnship/workflows/debug.md +245 -0
  90. package/learnship/workflows/decision-log.md +131 -0
  91. package/learnship/workflows/diagnose-issues.md +145 -0
  92. package/learnship/workflows/discovery-phase.md +183 -0
  93. package/learnship/workflows/discuss-milestone.md +136 -0
  94. package/learnship/workflows/discuss-phase.md +244 -0
  95. package/learnship/workflows/execute-phase.md +345 -0
  96. package/learnship/workflows/execute-plan.md +149 -0
  97. package/learnship/workflows/health.md +171 -0
  98. package/learnship/workflows/help.md +153 -0
  99. package/learnship/workflows/insert-phase.md +106 -0
  100. package/learnship/workflows/knowledge-base.md +168 -0
  101. package/learnship/workflows/list-phase-assumptions.md +129 -0
  102. package/learnship/workflows/ls.md +145 -0
  103. package/learnship/workflows/map-codebase.md +142 -0
  104. package/learnship/workflows/milestone-retrospective.md +178 -0
  105. package/learnship/workflows/new-milestone.md +200 -0
  106. package/learnship/workflows/new-project.md +340 -0
  107. package/learnship/workflows/next.md +100 -0
  108. package/learnship/workflows/pause-work.md +122 -0
  109. package/learnship/workflows/plan-milestone-gaps.md +160 -0
  110. package/learnship/workflows/plan-phase.md +288 -0
  111. package/learnship/workflows/progress.md +118 -0
  112. package/learnship/workflows/quick.md +256 -0
  113. package/learnship/workflows/reapply-patches.md +130 -0
  114. package/learnship/workflows/release.md +217 -0
  115. package/learnship/workflows/remove-phase.md +128 -0
  116. package/learnship/workflows/research-phase.md +137 -0
  117. package/learnship/workflows/resume-work.md +162 -0
  118. package/learnship/workflows/set-profile.md +78 -0
  119. package/learnship/workflows/settings.md +204 -0
  120. package/learnship/workflows/sync-upstream-skills.md +269 -0
  121. package/learnship/workflows/transition.md +165 -0
  122. package/learnship/workflows/update.md +166 -0
  123. package/learnship/workflows/validate-phase.md +174 -0
  124. package/learnship/workflows/verify-work.md +264 -0
  125. package/package.json +62 -0
  126. package/references/design-commands.md +119 -0
  127. package/references/git-integration.md +249 -0
  128. package/references/learning-design.md +142 -0
  129. package/references/model-profiles.md +90 -0
  130. package/references/planning-config.md +184 -0
  131. package/references/questioning.md +162 -0
  132. package/references/ui-brand.md +160 -0
  133. package/references/verification-patterns.md +608 -0
  134. package/skills/agentic-learning/SKILL.md +373 -0
  135. package/skills/agentic-learning/references/either-or-format.md +161 -0
  136. package/skills/agentic-learning/references/learning-science.md +190 -0
  137. package/skills/agentic-learning/references/struggle-ladder.md +140 -0
  138. package/skills/impeccable/SKILL.md +125 -0
  139. package/skills/impeccable/adapt/SKILL.md +199 -0
  140. package/skills/impeccable/animate/SKILL.md +190 -0
  141. package/skills/impeccable/audit/SKILL.md +129 -0
  142. package/skills/impeccable/bolder/SKILL.md +132 -0
  143. package/skills/impeccable/clarify/SKILL.md +180 -0
  144. package/skills/impeccable/colorize/SKILL.md +158 -0
  145. package/skills/impeccable/critique/SKILL.md +118 -0
  146. package/skills/impeccable/delight/SKILL.md +317 -0
  147. package/skills/impeccable/distill/SKILL.md +137 -0
  148. package/skills/impeccable/extract/SKILL.md +95 -0
  149. package/skills/impeccable/frontend-design/SKILL.md +127 -0
  150. package/skills/impeccable/frontend-design/reference/color-and-contrast.md +132 -0
  151. package/skills/impeccable/frontend-design/reference/interaction-design.md +123 -0
  152. package/skills/impeccable/frontend-design/reference/motion-design.md +99 -0
  153. package/skills/impeccable/frontend-design/reference/responsive-design.md +114 -0
  154. package/skills/impeccable/frontend-design/reference/spatial-design.md +100 -0
  155. package/skills/impeccable/frontend-design/reference/typography.md +131 -0
  156. package/skills/impeccable/frontend-design/reference/ux-writing.md +107 -0
  157. package/skills/impeccable/harden/SKILL.md +358 -0
  158. package/skills/impeccable/normalize/SKILL.md +67 -0
  159. package/skills/impeccable/onboard/SKILL.md +243 -0
  160. package/skills/impeccable/optimize/SKILL.md +269 -0
  161. package/skills/impeccable/polish/SKILL.md +202 -0
  162. package/skills/impeccable/quieter/SKILL.md +118 -0
  163. package/skills/impeccable/teach-impeccable/SKILL.md +69 -0
  164. package/templates/agents.md +166 -0
  165. package/templates/config.json +22 -0
  166. package/templates/context.md +72 -0
  167. package/templates/plan.md +202 -0
  168. package/templates/project.md +184 -0
  169. package/templates/requirements.md +231 -0
  170. package/templates/state.md +176 -0
  171. package/templates/uat.md +80 -0
@@ -0,0 +1,158 @@
1
+ ---
2
+ name: colorize
3
+ description: Add strategic color to features that are too monochromatic or lack visual interest. Makes interfaces more engaging and expressive.
4
+ args:
5
+ - name: target
6
+ description: The feature or component to colorize (optional)
7
+ required: false
8
+ user-invokable: true
9
+ ---
10
+
11
+ Strategically introduce color to designs that are too monochromatic, gray, or lacking in visual warmth and personality.
12
+
13
+ ## MANDATORY PREPARATION
14
+
15
+ ### Context Gathering (Do This First)
16
+
17
+ You cannot do a great job without having necessary context, such as target audience (critical), desired use-cases (critical), brand personality/tone, and especially existing brand colors.
18
+
19
+ Attempt to gather these from the current thread or codebase.
20
+
21
+ 1. If you don't find *exact* information and have to infer from existing design and functionality, you MUST STOP and Ask the user: whether you got it right.
22
+ 2. Otherwise, if you can't fully infer or your level of confidence is medium or lower, you MUST Ask the user: clarifying questions first to complete your context.
23
+
24
+ Do NOT proceed until you have answers. Guessing leads to generic AI slop colors.
25
+
26
+ ### Use frontend-design skill
27
+
28
+ Use the frontend-design skill for design principles and anti-patterns. Do NOT proceed until it has executed and you know all DO's and DON'Ts.
29
+
30
+ ---
31
+
32
+ ## Assess Color Opportunity
33
+
34
+ Analyze the current state and identify opportunities:
35
+
36
+ 1. **Understand current state**:
37
+ - **Color absence**: Pure grayscale? Limited neutrals? One timid accent?
38
+ - **Missed opportunities**: Where could color add meaning, hierarchy, or delight?
39
+ - **Context**: What's appropriate for this domain and audience?
40
+ - **Brand**: Are there existing brand colors we should use?
41
+
42
+ 2. **Identify where color adds value**:
43
+ - **Semantic meaning**: Success (green), error (red), warning (yellow/orange), info (blue)
44
+ - **Hierarchy**: Drawing attention to important elements
45
+ - **Categorization**: Different sections, types, or states
46
+ - **Emotional tone**: Warmth, energy, trust, creativity
47
+ - **Wayfinding**: Helping users navigate and understand structure
48
+ - **Delight**: Moments of visual interest and personality
49
+
50
+ If any of these are unclear from the codebase, Ask the user:
51
+
52
+ **CRITICAL**: More color ≠ better. Strategic color beats rainbow vomit every time. Every color should have a purpose.
53
+
54
+ ## Plan Color Strategy
55
+
56
+ Create a purposeful color introduction plan:
57
+
58
+ - **Color palette**: What colors match the brand/context? (Choose 2-4 colors max beyond neutrals)
59
+ - **Dominant color**: Which color owns 60% of colored elements?
60
+ - **Accent colors**: Which colors provide contrast and highlights? (30% and 10%)
61
+ - **Application strategy**: Where does each color appear and why?
62
+
63
+ **IMPORTANT**: Color should enhance hierarchy and meaning, not create chaos. Less is more when it matters more.
64
+
65
+ ## Introduce Color Strategically
66
+
67
+ Add color systematically across these dimensions:
68
+
69
+ ### Semantic Color
70
+ - **State indicators**:
71
+ - Success: Green tones (emerald, forest, mint)
72
+ - Error: Red/pink tones (rose, crimson, coral)
73
+ - Warning: Orange/amber tones
74
+ - Info: Blue tones (sky, ocean, indigo)
75
+ - Neutral: Gray/slate for inactive states
76
+
77
+ - **Status badges**: Colored backgrounds or borders for states (active, pending, completed, etc.)
78
+ - **Progress indicators**: Colored bars, rings, or charts showing completion or health
79
+
80
+ ### Accent Color Application
81
+ - **Primary actions**: Color the most important buttons/CTAs
82
+ - **Links**: Add color to clickable text (maintain accessibility)
83
+ - **Icons**: Colorize key icons for recognition and personality
84
+ - **Headers/titles**: Add color to section headers or key labels
85
+ - **Hover states**: Introduce color on interaction
86
+
87
+ ### Background & Surfaces
88
+ - **Tinted backgrounds**: Replace pure gray (`#f5f5f5`) with warm neutrals (`oklch(97% 0.01 60)`) or cool tints (`oklch(97% 0.01 250)`)
89
+ - **Colored sections**: Use subtle background colors to separate areas
90
+ - **Gradient backgrounds**: Add depth with subtle, intentional gradients (not generic purple-blue)
91
+ - **Cards & surfaces**: Tint cards or surfaces slightly for warmth
92
+
93
+ **Use OKLCH for color**: It's perceptually uniform, meaning equal steps in lightness *look* equal. Great for generating harmonious scales.
94
+
95
+ ### Data Visualization
96
+ - **Charts & graphs**: Use color to encode categories or values
97
+ - **Heatmaps**: Color intensity shows density or importance
98
+ - **Comparison**: Color coding for different datasets or timeframes
99
+
100
+ ### Borders & Accents
101
+ - **Accent borders**: Add colored left/top borders to cards or sections
102
+ - **Underlines**: Color underlines for emphasis or active states
103
+ - **Dividers**: Subtle colored dividers instead of gray lines
104
+ - **Focus rings**: Colored focus indicators matching brand
105
+
106
+ ### Typography Color
107
+ - **Colored headings**: Use brand colors for section headings (maintain contrast)
108
+ - **Highlight text**: Color for emphasis or categories
109
+ - **Labels & tags**: Small colored labels for metadata or categories
110
+
111
+ ### Decorative Elements
112
+ - **Illustrations**: Add colored illustrations or icons
113
+ - **Shapes**: Geometric shapes in brand colors as background elements
114
+ - **Gradients**: Colorful gradient overlays or mesh backgrounds
115
+ - **Blobs/organic shapes**: Soft colored shapes for visual interest
116
+
117
+ ## Balance & Refinement
118
+
119
+ Ensure color addition improves rather than overwhelms:
120
+
121
+ ### Maintain Hierarchy
122
+ - **Dominant color** (60%): Primary brand color or most used accent
123
+ - **Secondary color** (30%): Supporting color for variety
124
+ - **Accent color** (10%): High contrast for key moments
125
+ - **Neutrals** (remaining): Gray/black/white for structure
126
+
127
+ ### Accessibility
128
+ - **Contrast ratios**: Ensure WCAG compliance (4.5:1 for text, 3:1 for UI components)
129
+ - **Don't rely on color alone**: Use icons, labels, or patterns alongside color
130
+ - **Test for color blindness**: Verify red/green combinations work for all users
131
+
132
+ ### Cohesion
133
+ - **Consistent palette**: Use colors from defined palette, not arbitrary choices
134
+ - **Systematic application**: Same color meanings throughout (green always = success)
135
+ - **Temperature consistency**: Warm palette stays warm, cool stays cool
136
+
137
+ **NEVER**:
138
+ - Use every color in the rainbow (choose 2-4 colors beyond neutrals)
139
+ - Apply color randomly without semantic meaning
140
+ - Put gray text on colored backgrounds—it looks washed out; use a darker shade of the background color or transparency instead
141
+ - Use pure gray for neutrals—add subtle color tint (warm or cool) for sophistication
142
+ - Use pure black (`#000`) or pure white (`#fff`) for large areas
143
+ - Violate WCAG contrast requirements
144
+ - Use color as the only indicator (accessibility issue)
145
+ - Make everything colorful (defeats the purpose)
146
+ - Default to purple-blue gradients (AI slop aesthetic)
147
+
148
+ ## Verify Color Addition
149
+
150
+ Test that colorization improves the experience:
151
+
152
+ - **Better hierarchy**: Does color guide attention appropriately?
153
+ - **Clearer meaning**: Does color help users understand states/categories?
154
+ - **More engaging**: Does the interface feel warmer and more inviting?
155
+ - **Still accessible**: Do all color combinations meet WCAG standards?
156
+ - **Not overwhelming**: Is color balanced and purposeful?
157
+
158
+ Remember: Color is emotional and powerful. Use it to create warmth, guide attention, communicate meaning, and express personality. But restraint and strategy matter more than saturation and variety. Be colorful, but be intentional.
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: critique
3
+ description: Evaluate design effectiveness from a UX perspective. Assesses visual hierarchy, information architecture, emotional resonance, and overall design quality with actionable feedback.
4
+ args:
5
+ - name: area
6
+ description: The feature or area to critique (optional)
7
+ required: false
8
+ user-invokable: true
9
+ ---
10
+
11
+ Conduct a holistic design critique, evaluating whether the interface actually works—not just technically, but as a designed experience. Think like a design director giving feedback.
12
+
13
+ **First**: Use the frontend-design skill for design principles and anti-patterns.
14
+
15
+ ## Design Critique
16
+
17
+ Evaluate the interface across these dimensions:
18
+
19
+ ### 1. AI Slop Detection (CRITICAL)
20
+
21
+ **This is the most important check.** Does this look like every other AI-generated interface from 2024-2025?
22
+
23
+ Review the design against ALL the **DON'T** guidelines in the frontend-design skill—they are the fingerprints of AI-generated work. Check for the AI color palette, gradient text, dark mode with glowing accents, glassmorphism, hero metric layouts, identical card grids, generic fonts, and all other tells.
24
+
25
+ **The test**: If you showed this to someone and said "AI made this," would they believe you immediately? If yes, that's the problem.
26
+
27
+ ### 2. Visual Hierarchy
28
+ - Does the eye flow to the most important element first?
29
+ - Is there a clear primary action? Can you spot it in 2 seconds?
30
+ - Do size, color, and position communicate importance correctly?
31
+ - Is there visual competition between elements that should have different weights?
32
+
33
+ ### 3. Information Architecture
34
+ - Is the structure intuitive? Would a new user understand the organization?
35
+ - Is related content grouped logically?
36
+ - Are there too many choices at once? (cognitive overload)
37
+ - Is the navigation clear and predictable?
38
+
39
+ ### 4. Emotional Resonance
40
+ - What emotion does this interface evoke? Is that intentional?
41
+ - Does it match the brand personality?
42
+ - Does it feel trustworthy, approachable, premium, playful—whatever it should feel?
43
+ - Would the target user feel "this is for me"?
44
+
45
+ ### 5. Discoverability & Affordance
46
+ - Are interactive elements obviously interactive?
47
+ - Would a user know what to do without instructions?
48
+ - Are hover/focus states providing useful feedback?
49
+ - Are there hidden features that should be more visible?
50
+
51
+ ### 6. Composition & Balance
52
+ - Does the layout feel balanced or uncomfortably weighted?
53
+ - Is whitespace used intentionally or just leftover?
54
+ - Is there visual rhythm in spacing and repetition?
55
+ - Does asymmetry feel designed or accidental?
56
+
57
+ ### 7. Typography as Communication
58
+ - Does the type hierarchy clearly signal what to read first, second, third?
59
+ - Is body text comfortable to read? (line length, spacing, size)
60
+ - Do font choices reinforce the brand/tone?
61
+ - Is there enough contrast between heading levels?
62
+
63
+ ### 8. Color with Purpose
64
+ - Is color used to communicate, not just decorate?
65
+ - Does the palette feel cohesive?
66
+ - Are accent colors drawing attention to the right things?
67
+ - Does it work for colorblind users? (not just technically—does meaning still come through?)
68
+
69
+ ### 9. States & Edge Cases
70
+ - Empty states: Do they guide users toward action, or just say "nothing here"?
71
+ - Loading states: Do they reduce perceived wait time?
72
+ - Error states: Are they helpful and non-blaming?
73
+ - Success states: Do they confirm and guide next steps?
74
+
75
+ ### 10. Microcopy & Voice
76
+ - Is the writing clear and concise?
77
+ - Does it sound like a human (the right human for this brand)?
78
+ - Are labels and buttons unambiguous?
79
+ - Does error copy help users fix the problem?
80
+
81
+ ## Generate Critique Report
82
+
83
+ Structure your feedback as a design director would:
84
+
85
+ ### Anti-Patterns Verdict
86
+ **Start here.** Pass/fail: Does this look AI-generated? List specific tells from the skill's Anti-Patterns section. Be brutally honest.
87
+
88
+ ### Overall Impression
89
+ A brief gut reaction—what works, what doesn't, and the single biggest opportunity.
90
+
91
+ ### What's Working
92
+ Highlight 2-3 things done well. Be specific about why they work.
93
+
94
+ ### Priority Issues
95
+ The 3-5 most impactful design problems, ordered by importance:
96
+
97
+ For each issue:
98
+ - **What**: Name the problem clearly
99
+ - **Why it matters**: How this hurts users or undermines goals
100
+ - **Fix**: What to do about it (be concrete)
101
+ - **Command**: Which command to use (prefer: /polish, /audit, /critique, /normalize, /colorize, /animate, /bolder, /quieter, /distill, /clarify, /optimize, /harden, /delight, /extract, /adapt, /onboard, /teach-impeccable — or other installed skills you're sure exist)
102
+
103
+ ### Minor Observations
104
+ Quick notes on smaller issues worth addressing.
105
+
106
+ ### Questions to Consider
107
+ Provocative questions that might unlock better solutions:
108
+ - "What if the primary action were more prominent?"
109
+ - "Does this need to feel this complex?"
110
+ - "What would a confident version of this look like?"
111
+
112
+ **Remember**:
113
+ - Be direct—vague feedback wastes everyone's time
114
+ - Be specific—"the submit button" not "some elements"
115
+ - Say what's wrong AND why it matters to users
116
+ - Give concrete suggestions, not just "consider exploring..."
117
+ - Prioritize ruthlessly—if everything is important, nothing is
118
+ - Don't soften criticism—developers need honest feedback to ship great design
@@ -0,0 +1,317 @@
1
+ ---
2
+ name: delight
3
+ description: Add moments of joy, personality, and unexpected touches that make interfaces memorable and enjoyable to use. Elevates functional to delightful.
4
+ args:
5
+ - name: target
6
+ description: The feature or area to add delight to (optional)
7
+ required: false
8
+ user-invokable: true
9
+ ---
10
+
11
+ Identify opportunities to add moments of joy, personality, and unexpected polish that transform functional interfaces into delightful experiences.
12
+
13
+ ## MANDATORY PREPARATION
14
+
15
+ ### Context Gathering (Do This First)
16
+
17
+ You cannot do a great job without having necessary context, such as target audience (critical), desired use-cases (critical), brand personality (playful vs professional vs quirky vs elegant), and what's appropriate for the domain.
18
+
19
+ Attempt to gather these from the current thread or codebase.
20
+
21
+ 1. If you don't find *exact* information and have to infer from existing design and functionality, you MUST STOP and Ask the user: whether you got it right.
22
+ 2. Otherwise, if you can't fully infer or your level of confidence is medium or lower, you MUST Ask the user: clarifying questions first to complete your context.
23
+
24
+ Do NOT proceed until you have answers. Delight that's wrong for the context is worse than no delight at all.
25
+
26
+ ### Use frontend-design skill
27
+
28
+ Use the frontend-design skill for design principles and anti-patterns. Do NOT proceed until it has executed and you know all DO's and DON'Ts.
29
+
30
+ ---
31
+
32
+ ## Assess Delight Opportunities
33
+
34
+ Identify where delight would enhance (not distract from) the experience:
35
+
36
+ 1. **Find natural delight moments**:
37
+ - **Success states**: Completed actions (save, send, publish)
38
+ - **Empty states**: First-time experiences, onboarding
39
+ - **Loading states**: Waiting periods that could be entertaining
40
+ - **Achievements**: Milestones, streaks, completions
41
+ - **Interactions**: Hover states, clicks, drags
42
+ - **Errors**: Softening frustrating moments
43
+ - **Easter eggs**: Hidden discoveries for curious users
44
+
45
+ 2. **Understand the context**:
46
+ - What's the brand personality? (Playful? Professional? Quirky? Elegant?)
47
+ - Who's the audience? (Tech-savvy? Creative? Corporate?)
48
+ - What's the emotional context? (Accomplishment? Exploration? Frustration?)
49
+ - What's appropriate? (Banking app ≠ gaming app)
50
+
51
+ 3. **Define delight strategy**:
52
+ - **Subtle sophistication**: Refined micro-interactions (luxury brands)
53
+ - **Playful personality**: Whimsical illustrations and copy (consumer apps)
54
+ - **Helpful surprises**: Anticipating needs before users ask (productivity tools)
55
+ - **Sensory richness**: Satisfying sounds, smooth animations (creative tools)
56
+
57
+ If any of these are unclear from the codebase, Ask the user:
58
+
59
+ **CRITICAL**: Delight should enhance usability, never obscure it. If users notice the delight more than accomplishing their goal, you've gone too far.
60
+
61
+ ## Delight Principles
62
+
63
+ Follow these guidelines:
64
+
65
+ ### Delight Amplifies, Never Blocks
66
+ - Delight moments should be quick (< 1 second)
67
+ - Never delay core functionality for delight
68
+ - Make delight skippable or subtle
69
+ - Respect user's time and task focus
70
+
71
+ ### Surprise and Discovery
72
+ - Hide delightful details for users to discover
73
+ - Reward exploration and curiosity
74
+ - Don't announce every delight moment
75
+ - Let users share discoveries with others
76
+
77
+ ### Appropriate to Context
78
+ - Match delight to emotional moment (celebrate success, empathize with errors)
79
+ - Respect the user's state (don't be playful during critical errors)
80
+ - Match brand personality and audience expectations
81
+ - Cultural sensitivity (what's delightful varies by culture)
82
+
83
+ ### Compound Over Time
84
+ - Delight should remain fresh with repeated use
85
+ - Vary responses (not same animation every time)
86
+ - Reveal deeper layers with continued use
87
+ - Build anticipation through patterns
88
+
89
+ ## Delight Techniques
90
+
91
+ Add personality and joy through these methods:
92
+
93
+ ### Micro-interactions & Animation
94
+
95
+ **Button delight**:
96
+ ```css
97
+ /* Satisfying button press */
98
+ .button {
99
+ transition: transform 0.1s, box-shadow 0.1s;
100
+ }
101
+ .button:active {
102
+ transform: translateY(2px);
103
+ box-shadow: 0 2px 4px rgba(0,0,0,0.2);
104
+ }
105
+
106
+ /* Ripple effect on click */
107
+ /* Smooth lift on hover */
108
+ .button:hover {
109
+ transform: translateY(-2px);
110
+ transition: transform 0.2s cubic-bezier(0.25, 1, 0.5, 1); /* ease-out-quart */
111
+ }
112
+ ```
113
+
114
+ **Loading delight**:
115
+ - Playful loading animations (not just spinners)
116
+ - Personality in loading messages ("Herding pixels..." "Teaching robots to dance...")
117
+ - Progress indication with encouraging messages
118
+ - Skeleton screens with subtle animations
119
+
120
+ **Success animations**:
121
+ - Checkmark draw animation
122
+ - Confetti burst for major achievements
123
+ - Gentle scale + fade for confirmation
124
+ - Satisfying sound effects (subtle)
125
+
126
+ **Hover surprises**:
127
+ - Icons that animate on hover
128
+ - Color shifts or glow effects
129
+ - Tooltip reveals with personality
130
+ - Cursor changes (custom cursors for branded experiences)
131
+
132
+ ### Personality in Copy
133
+
134
+ **Playful error messages**:
135
+ ```
136
+ "Error 404"
137
+ "This page is playing hide and seek. (And winning)"
138
+
139
+ "Connection failed"
140
+ "Looks like the internet took a coffee break. Want to retry?"
141
+ ```
142
+
143
+ **Encouraging empty states**:
144
+ ```
145
+ "No projects"
146
+ "Your canvas awaits. Create something amazing."
147
+
148
+ "No messages"
149
+ "Inbox zero! You're crushing it today."
150
+ ```
151
+
152
+ **Playful labels & tooltips**:
153
+ ```
154
+ "Delete"
155
+ "Send to void" (for playful brand)
156
+
157
+ "Help"
158
+ "Rescue me" (tooltip)
159
+ ```
160
+
161
+ **IMPORTANT**: Match copy personality to brand. Banks shouldn't be wacky, but they can be warm.
162
+
163
+ ### Illustrations & Visual Personality
164
+
165
+ **Custom illustrations**:
166
+ - Empty state illustrations (not stock icons)
167
+ - Error state illustrations (friendly monsters, quirky characters)
168
+ - Loading state illustrations (animated characters)
169
+ - Success state illustrations (celebrations)
170
+
171
+ **Icon personality**:
172
+ - Custom icon set matching brand personality
173
+ - Animated icons (subtle motion on hover/click)
174
+ - Illustrative icons (more detailed than generic)
175
+ - Consistent style across all icons
176
+
177
+ **Background effects**:
178
+ - Subtle particle effects
179
+ - Gradient mesh backgrounds
180
+ - Geometric patterns
181
+ - Parallax depth
182
+ - Time-of-day themes (morning vs night)
183
+
184
+ ### Satisfying Interactions
185
+
186
+ **Drag and drop delight**:
187
+ - Lift effect on drag (shadow, scale)
188
+ - Snap animation when dropped
189
+ - Satisfying placement sound
190
+ - Undo toast ("Dropped in wrong place? [Undo]")
191
+
192
+ **Toggle switches**:
193
+ - Smooth slide with spring physics
194
+ - Color transition
195
+ - Haptic feedback on mobile
196
+ - Optional sound effect
197
+
198
+ **Progress & achievements**:
199
+ - Streak counters with celebratory milestones
200
+ - Progress bars that "celebrate" at 100%
201
+ - Badge unlocks with animation
202
+ - Playful stats ("You're on fire! 5 days in a row")
203
+
204
+ **Form interactions**:
205
+ - Input fields that animate on focus
206
+ - Checkboxes that bounce when checked
207
+ - Success state that celebrates valid input
208
+ - Auto-grow textareas
209
+
210
+ ### Sound Design
211
+
212
+ **Subtle audio cues** (when appropriate):
213
+ - Notification sounds (distinctive but not annoying)
214
+ - Success sounds (satisfying "ding")
215
+ - Error sounds (empathetic, not harsh)
216
+ - Typing sounds for chat/messaging
217
+ - Ambient background audio (very subtle)
218
+
219
+ **IMPORTANT**:
220
+ - Respect system sound settings
221
+ - Provide mute option
222
+ - Keep volumes quiet (subtle cues, not alarms)
223
+ - Don't play on every interaction (sound fatigue is real)
224
+
225
+ ### Easter Eggs & Hidden Delights
226
+
227
+ **Discovery rewards**:
228
+ - Konami code unlocks special theme
229
+ - Hidden keyboard shortcuts (Cmd+K for special features)
230
+ - Hover reveals on logos or illustrations
231
+ - Alt text jokes on images (for screen reader users too!)
232
+ - Console messages for developers ("Like what you see? We're hiring!")
233
+
234
+ **Seasonal touches**:
235
+ - Holiday themes (subtle, tasteful)
236
+ - Seasonal color shifts
237
+ - Weather-based variations
238
+ - Time-based changes (dark at night, light during day)
239
+
240
+ **Contextual personality**:
241
+ - Different messages based on time of day
242
+ - Responses to specific user actions
243
+ - Randomized variations (not same every time)
244
+ - Progressive reveals with continued use
245
+
246
+ ### Loading & Waiting States
247
+
248
+ **Make waiting engaging**:
249
+ - Interesting loading messages that rotate
250
+ - Progress bars with personality
251
+ - Mini-games during long loads
252
+ - Fun facts or tips while waiting
253
+ - Countdown with encouraging messages
254
+
255
+ ```
256
+ Loading messages rotation:
257
+ - "Waking up the servers..."
258
+ - "Teaching robots to dance..."
259
+ - "Consulting the magic 8-ball..."
260
+ - "Counting backwards from infinity..."
261
+ ```
262
+
263
+ ### Celebration Moments
264
+
265
+ **Success celebrations**:
266
+ - Confetti for major milestones
267
+ - Animated checkmarks for completions
268
+ - Progress bar celebrations at 100%
269
+ - "Achievement unlocked" style notifications
270
+ - Personalized messages ("You published your 10th article!")
271
+
272
+ **Milestone recognition**:
273
+ - First-time actions get special treatment
274
+ - Streak tracking and celebration
275
+ - Progress toward goals
276
+ - Anniversary celebrations
277
+
278
+ ## Implementation Patterns
279
+
280
+ **Animation libraries**:
281
+ - Framer Motion (React)
282
+ - GSAP (universal)
283
+ - Lottie (After Effects animations)
284
+ - Canvas confetti (party effects)
285
+
286
+ **Sound libraries**:
287
+ - Howler.js (audio management)
288
+ - Use-sound (React hook)
289
+
290
+ **Physics libraries**:
291
+ - React Spring (spring physics)
292
+ - Popmotion (animation primitives)
293
+
294
+ **IMPORTANT**: File size matters. Compress images, optimize animations, lazy load delight features.
295
+
296
+ **NEVER**:
297
+ - Delay core functionality for delight
298
+ - Force users through delightful moments (make skippable)
299
+ - Use delight to hide poor UX
300
+ - Overdo it (less is more)
301
+ - Ignore accessibility (animate responsibly, provide alternatives)
302
+ - Make every interaction delightful (special moments should be special)
303
+ - Sacrifice performance for delight
304
+ - Be inappropriate for context (read the room)
305
+
306
+ ## Verify Delight Quality
307
+
308
+ Test that delight actually delights:
309
+
310
+ - **User reactions**: Do users smile? Share screenshots?
311
+ - **Doesn't annoy**: Still pleasant after 100th time?
312
+ - **Doesn't block**: Can users opt out or skip?
313
+ - **Performant**: No jank, no slowdown
314
+ - **Appropriate**: Matches brand and context
315
+ - **Accessible**: Works with reduced motion, screen readers
316
+
317
+ Remember: Delight is the difference between a tool and an experience. Add personality, surprise users positively, and create moments worth sharing. But always respect usability - delight should enhance, never obstruct.