Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/educlopez/ui-craft/finalizenpx skills add educlopez/ui-craft --skill finalizegit clone --depth 1 https://github.com/educlopez/ui-craftWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00085 | $0.01830 |
| Opus 5 | $0.00043 | $0.00915 |
| Sonnet 5 | $0.00017 | $0.00366 |
| Haiku 4.5 | $0.00009 | $0.00183 |
Grade A, and why
finalize scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 149 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Context: this sub-skill is one lens of the broader ui-craft skill. If the ui-craft skill is also installed, read its SKILL.md first for Discovery + Anti-Slop + Craft Test, then apply the specific lens below.
Load the ui-craft skill. This command produces findings only — do NOT edit code.
Step 1 — Brief check (gate)
Look for .ui-craft/brief.md.
- Absent: STOP. Output: "No brief found. Run
/brieffirst./finalizerequires a design brief to distinguish intentional decisions from findings." Do not proceed. - Present: load it. Extract principles (numbered, in conflict-resolution order). These are the override registry for Steps 4–5.
Step 2 — Detector
Run npx ui-craft-detect on $ARGUMENTS (or current working surface if no argument).
Capture all output. Every Critical detector finding maps directly to a block-ship finding in the report. Preserve detector source labels.
Step 3 — Token check
Quick three-question audit (no deep read required):
- Are all three token layers present (primitives → semantic → component)?
- Are both light and dark modes explicitly authored (not inverted)?
- Are all seven token categories represented (color, spacing, radius, shadow, typography, motion, z-index)?
Any "no": flag as Major. Do not block ship. Append a recommendation: "Run /tokens to close the gap at [category]."
Step 3b — Craft-intent check (full surfaces only)
Applies only when the target is a complete surface (dashboard, landing, auth, settings shell, portfolio) — skip for single components.
- Signature bet present? Scan for exactly one memorable decision from
references/craft-intent.md§3 (product / auth / marketing lists). Zero → Major ("no signature — surface is competent but anonymous; run/bolderor/polish"). Two or more competing → Major ("signature bets stack — keep the strongest, cut the rest"). - Variance matches surface? Layout risk visibly inconsistent with the surface's DESIGN_VARIANCE default (e.g. experimental asymmetry on an auth form, or a landing that is one centered symmetric column) → Major, unless the brief or spec records the deviation.
- Craft Read recorded? If a
.ui-craft/spec.mdsection or session declared a Craft Read, verify the built surface matches it (theme, variance, signature). Mismatch → Major with the specific delta.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 149 lines · 85 tokens per session scan A 6b7ab59c5433
finalize is a skill published in the GitHub repository educlopez/ui-craft (298 stars, last pushed 14d ago), licensed MIT. It adds 85 tokens to every session and 1,830 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
typeui-fundamentals
Universal UI/UX design principles covering visual hierarchy, interaction laws, typography foundations, and WCAG accessibility requirements. Use when making design decisions not covered by a specific design system, validating principle compliance, or resolving conflicts between aesthetics and accessibility.…
typeui
Use TypeUI with Grok to access project design skills, brand kits, UI prompts, and layout variations through the TypeUI MCP server when creating or refining user interfaces.
popular-web-designs
54 real design systems (Stripe, Linear, Vercel) as HTML/CSS.
gradio-themes
Build and customise Gradio themes. Use when creating, editing, or publishing Python-based Gradio themes that control colours, typography, spacing, shadows, and dark mode.
tamagui
Universal React UI framework for web and native. Use when building cross-platform apps with Tamagui, creating styled components with styled(), configuring design tokens/themes, using Tamagui UI components, or working with animations. Triggers: "tamagui", "styled()", "$token", "XStack/YStack", "useTheme", "@tamagui/"…
wear-compose-m3
Expert guidance for working with Wear OS Compose Material3. Use this skill when creating, updating, or migrating Wear OS projects. This includes the androidx.wear.compose.material3, androidx.wear.compose.foundation, and androidx.wear.compose.navigation3 libraries. Also working with core components such as AppScaffold…