agentleFS
The-Utopia-StudioThe-Utopia-Studio/skills/skills/product/interface-craft/SKILL.md

interface-craft

Skill6 starsChanged 3 months agoApache-2.0View on GitHub

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.

11 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 7 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    When the user invokes /interface-craft:

    line 64

“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Interface Craft

By Josh Puckett

A toolkit for building polished, animated interfaces. Write animations you can read like a script, then tune them with live controls.


Skills

SkillWhen to UseInvoke
Storyboard AnimationWriting or refactoring multi-stage animations into a human-readable DSL/interface-craft storyboard or describe an animation
DialKitAdding live control panels to tune animation/style values/interface-craft dialkit or mention dials/sliders/controls
Design CritiqueSystematic UI critique of a screenshot, component, or page/interface-craft critique or paste a screenshot for review

Quick Start

Storyboard Animation

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.

DialKit

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.

Sub-Skill Routing

When the user invokes /interface-craft:

  1. With storyboard argument or animation-related context → Load and follow storyboard-animation.md
  2. With dialkit argument or control-panel-related context → Load and follow dialkit.md
  3. With critique argument, a pasted image, or review-related context → Load and follow design-critique.md
  4. With a file path → Read the file, detect whether it needs storyboard refactoring, dialkit controls, or a design critique, and apply the appropriate skill
  5. With a plain-English description of an animation → Use storyboard-animation to write it
  6. Ambiguous → Ask which skill to use

Design Principles

  1. Readable over clever — Anyone should be able to scan the top of a file and understand the animation sequence without reading implementation code
  2. Tunable by default — Every value that affects timing or appearance should be a named constant, trivially adjustable
  3. Data-driven — Repeated elements use arrays and .map(), not copy-pasted blocks
  4. Stage-driven — A single integer state drives the entire sequence; no scattered boolean flags
  5. Spring-first — Prefer spring physics over duration-based easing for natural motion

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.