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.
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 blocks