agentsclimarketplace

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

Install
npx -y skills add Bandersnatch0x/design-playbook --skill craft-guard

Assembled 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 / opacity only.
  • 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 towardInstead of default sludge
Accent on key noun + primary CTAPurple–blue gradient wallpaper
Glass only on rare floating layersBlur on every card
Project CJK stackInter/Roboto as Chinese body
Weighted modulesEqual white card grid
State-explaining motionBounce/elastic decoration

references/craft.mdrequired 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/

Keep looking

Skills are one crate of 326,835. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.