skills-impeccable/i-delight/SKILL.md
Use when the user says: "add delight", "make it more fun", "moments of joy". Add micro-interactions and moments of delight to interfaces.
npx skillsauth add NodeJSmith/Claudefiles i-delightInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Identify opportunities to add moments of joy, personality, and unexpected polish that transform functional interfaces into delightful experiences.
Read ${CLAUDE_CONFIG_DIR:-~/.claude}/skills/i-frontend-design/SKILL.md for design principles, anti-patterns, and the Context Gathering Protocol. Follow the protocol before proceeding — if no design context exists yet, you MUST run /i-teach-impeccable first. Additionally gather: what's appropriate for the domain (playful vs professional vs quirky vs elegant).
Identify where delight would enhance (not distract from) the experience:
Find natural delight moments:
Understand the context:
Define delight strategy:
If any of these are not answered by design context (design/context.md, .impeccable.md, or design/direction.md), STOP and call the AskUserQuestion tool to clarify. Use the answer to inform your delight strategy. If the answer is unclear or deferred, proceed with micro-feedback only as the safe default — no personality changes.
CRITICAL: Delight should enhance usability, never obscure it. If users notice the delight more than accomplishing their goal, you've gone too far.
Follow these guidelines:
After analyzing the current state, present your proposed changes to the user:
Then STOP and confirm before implementing:
AskUserQuestion:
question: "Here's what I propose. How would you like to proceed?"
header: "Confirm"
options:
- label: "Implement"
description: "Looks good — go ahead and make these changes."
- label: "Refine scope"
description: "I want to adjust what's included before you start."
- label: "Challenge this first"
description: "I'll run /mine-challenge against your proposal before we proceed."
- label: "Stop here"
description: "Don't implement anything. The proposal is in this conversation only."
If "Implement" → proceed to implementation below. If "Refine scope" → ask what to change, update proposal, re-confirm.
<!-- CHALLENGE-CALLER -->If "Challenge this first" → invoke /mine-challenge inline against the proposal, read findings, revise proposal, re-present this gate.
If "Stop here" → end the skill.
Surfaces where delight earns its place: button press/hover feedback, loading and empty states, success confirmations, drag-and-drop lift/snap, toggle transitions, and milestone celebrations. Hidden touches (easter eggs, seasonal themes, console messages) reward the curious but are never required.
Spring physics on toggles and drops should settle with zero or near-zero overshoot — visible bounce is not permitted. Easing and motion: see /i-animate.
Note: Playful error copy is appropriate only for non-blocking, easily recoverable errors (404s, empty search results) on playful brands. For serious errors (data loss, permission failures, blocking errors), empathy overrides personality — see /i-clarify.
Match copy personality to brand — banks shouldn't be wacky, but they can be warm. Examples of the right register on a playful brand:
"Error 404" → "This page is playing hide and seek. (And winning)"
"No messages" → "Inbox zero! You're crushing it today."
Write messages specific to what your product actually does:
- "Crunching your latest numbers..."
- "Syncing with your team's changes..."
- "Preparing your dashboard..."
WARNING: Avoid cliched loading messages like "Herding pixels", "Teaching robots to dance", "Consulting the magic 8-ball", "Counting backwards from infinity". These are AI-slop copy — instantly recognizable as machine-generated.
NEVER:
Test that delight actually delights:
prefers-reduced-motion and works with screen readersRemember: 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.
After implementation, summarize in conversation:
development
Use when the user says: "document how X works", "write up how this works", "durable explanation", "explain this for the docs", "document this subsystem". Writes a durable, architectural-altitude explanation that survives code churn.
development
Use when picking up a fresh session after /clear, a stop, or an unanswered AskUserQuestion. Reconstructs the prior session's intent from its transcript tail and surfaces any unresolved decision; user-invoked only — for a hand-written end-of-day handoff use /mine-good-morning instead.
development
Use when the user says: "what did we discuss", "continue where we left off", "remember when", "as I mentioned", "you suggested", "we decided", "search my conversations", "find the conversation where", "what did we work on", or uses implicit signals like past-tense references, possessives without context, or assumptive questions. Direct search over past Claude Code sessions via cass.
tools
Use when the user says: "what context do I have", "relevant history for this task", "what have we done related to this". Also usable proactively when starting work that likely has prior history. Assembles a structured context brief from past session history via cass, scoped to the current task and workspace.