skills/interface-craft/SKILL.md
Interface Craft by Josh Puckett — a toolkit for building polished, animated interfaces in React. Includes Storyboard Animation (human-readable animation DSL with stage-driven sequencing), DialKit (live control panels for tuning animation values), and Design Critique (systematic UI review based on Josh Puckett's methodology). Triggers on: animate, animation, transition, storyboard, entrance, motion, spring, easing, timing, dialkit, sliders, controls, tune, tweak, critique, review, feedback, audit, improve, polish, refine, redesign.
npx skillsauth add rezailmi/claude-config interface-craftInstall 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.
By Josh Puckett
A toolkit for building polished, animated interfaces. Write animations you can read like a script, then tune them with live controls.
| Skill | When to Use | Invoke |
| --- | --- | --- |
| Storyboard Animation | Writing or refactoring multi-stage animations into a human-readable DSL | /interface-craft storyboard or describe an animation |
| DialKit | Adding live control panels to tune animation/style values | /interface-craft dialkit or mention dials/sliders/controls |
| Design Critique | Systematic UI critique of a screenshot, component, or page | /interface-craft critique or paste a screenshot for review |
Turn any animation into a readable storyboard with named timing, config objects, and stage-driven sequencing:
/* ─────────────────────────────────────────────────────────
* ANIMATION STORYBOARD
*
* 0ms waiting for scroll into view
* 300ms card fades in, scale 0.85 → 1.0
* 900ms heading highlights
* 1500ms rows slide up (staggered 200ms)
* ───────────────────────────────────────────────────────── */
const TIMING = {
cardAppear: 300, // card fades in
heading: 900, // heading highlights
rows: 1500, // rows start staggering
};
See storyboard-animation.md for the full pattern spec.
Generate live control panels for tuning values in real time:
const params = useDialKit('Card', {
scale: [1, 0.5, 2],
blur: [0, 0, 100],
spring: { type: 'spring', visualDuration: 0.3, bounce: 0.2 },
})
See dialkit.md for all control types and patterns.
When the user invokes /interface-craft:
storyboard argument or animation-related context → Load and follow storyboard-animation.mddialkit argument or control-panel-related context → Load and follow dialkit.mdcritique argument, a pasted image, or review-related context → Load and follow design-critique.md.map(), not copy-pasted blockstools
Design and implement web animations that feel natural and purposeful. Use this skill proactively whenever the user asks questions about animations, motion, easing, timing, duration, springs, transitions, or animation performance. This includes questions about how to animate specific UI elements, which easing to use, animation best practices, or accessibility considerations for motion. Triggers on: easing, ease-out, ease-in, ease-in-out, cubic-bezier, bounce, spring physics, keyframes, transform, opacity, fade, slide, scale, hover effects, microinteractions, Framer Motion, React Spring, GSAP, CSS transitions, entrance/exit animations, page transitions, stagger, will-change, GPU acceleration, prefers-reduced-motion, modal/dropdown/tooltip/popover/drawer animations, gesture animations, drag interactions, button press feel, "feels janky", "make it smooth".
development
Simplify and refine recently modified code for clarity and consistency. Use after writing code to improve readability without changing functionality.
development
Refactor CLAUDE.md files to follow progressive disclosure principles. Use when CLAUDE.md is too long or disorganized.
development
Run accessibility and visual design review on components. Use when reviewing UI code for WCAG compliance and design issues.