Craft guard
Skill Bandersnatch0x/design-playbook/packages/design-playbook/skills/craft-guard
UI craft and feedback quality. Use when polishing product UI (motion, loading/error feedback) or when a page reads as AI slop.From its SKILL.md
npx -y skills add Bandersnatch0x/design-playbook --skill craft-guardAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- 25 days oldThe repository was created 25 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.1 KB, 678 tokens by cl100k_base, as published. Nobody here has run it
craft-guard
Craft declaration for cross-product quality: hierarchy, wait feedback, purposeful motion, CJK-safe type. Does not own business risk (domain) or token inventory (design).
When a verified design-baseline binding exists (status: ready), use that path as the project-specific visual baseline. Report clear divergence (density, type, spacing, shape, motion, or primitive treatment) to ui-evaluator with source set to the bound path; do not replace valid project choices with this skill's generic taste defaults.
Apply (checklist)
Treat as exhaustive for the surface under edit.
Hierarchy and type
- One clear primary; secondary recedes via density/space, not rainbow chrome.
- CJK UI uses the project Chinese stack (
var(--font-cn)or equivalent). - Brand solid + brand-gradient ≤ 3 emphasis hits per viewport; neutrals carry the rest.
Done when: a cold reader can name the primary action/region in one glance.
Loading tiers
<300ms no indicator
300ms–2s skeleton (layout stable)
>2s loader + what is happening
>10s timeout + retry (or cancel)
Done when: every async path in scope maps to a tier with a next action on failure/timeout.
Motion
- UI motion ≤ 300ms; animate
transform/opacityonly. - Each animation names the state change it explains.
- Honor
prefers-reduced-motion. Keyboard-triggered actions stay free of decorative motion.
Done when: every motion in scope states the state change it explains.
AI slop → target look
For implemented UI, run all eight checks in references/detectors.md against rendered UI plus relevant source. Write exactly one clear|hit|blocked row per detector to .scratch/<run>/craft-guard.md. Detector output is advisory: record evidence, exception check, and positive fix; leave declaration source, severity, and verdict to ui-evaluator. Missing proof is blocked, not a silent clear.
| Push toward | Instead of default sludge |
|---|---|
| Accent on key noun + primary CTA | Purple–blue gradient wallpaper |
| Glass only on rare floating layers | Blur on every card |
| Project CJK stack | Inter/Roboto as Chinese body |
| Weighted modules | Equal white card grid |
| State-explaining motion | Bounce/elastic decoration |
references/craft.md — required when the surface has L4 interactive zones (per-zone hover/motion affordance, with its own Done when); also holds edge craft (failure/permission feedback, 圆角/阴影, charts).
Completion
Done when: hierarchy, every in-scope wait/fail path, every animation, and — when the surface has L4 interactive zones — every zone's affordance (per references/craft.md) pass their checks; implemented UI also has all eight detector rows with no unexplained missing proof. Residual hits and blocked proof are handed to ui-evaluator; detector rows do not assign source, severity, or verdict.
What ships with it: 2 files
7.7 KB alongside SKILL.md
references/
- craft.md1.3 KB
- detectors.md6.3 KB