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 skills add aziontech/webkit --skill webkit-ui-craftgit clone --depth 1 https://github.com/aziontech/webkitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/aziontech/webkit/webkit-ui-craft)<a href="https://agentmods.dev/skills/aziontech/webkit/webkit-ui-craft"><img src="https://agentmods.dev/badge/skills/aziontech/webkit/webkit-ui-craft/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/aziontech/webkit/webkit-ui-craft"><img src="https://agentmods.dev/badge/skills/aziontech/webkit/webkit-ui-craft.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What 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.1 | $0.00127 | $0.02323 |
| Opus 5.5 | $0.00051 | $0.00929 |
| Sonnet 5.5 | $0.00025 | $0.00465 |
| Haiku 4.5 | $0.00013 | $0.00232 |
Grade A, and why
webkit-ui-craft 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 24d 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 — 130 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill: webkit-ui-craft
Purpose
Make UI built on top of @aziontech/webkit + @aziontech/theme look and feel like the design
system intended: technical, minimal, polished, PRO-UX-first. This is the map to a pack of focused
skills — it carries the shared principles and routes each task to the skill that owns the detail. It
is for consuming apps (composing screens from shipped components and tokens), not for authoring
webkit primitives.
How to use
/webkit-ui-craft— apply the principles below to all UI work in this conversation and route to the right child skill for the task at hand./webkit-ui-craft <file>— run the progression as a review: structure (/webkit-ux-heuristics→/webkit-ui-states→/webkit-form→/webkit-create-surface→/webkit-errors→/webkit-tables→/webkit-lists→/webkit-navigation→/webkit-layout→/webkit-microcopy) → foundation (/webkit-baseline-ui) → cross-cutting quality (/webkit-theming-dark-mode,/webkit-data-viz) → polish (/webkit-motion-polish→/webkit-impeccable-polish) → verify (/webkit-ui-verify). Output each child skill's findings under its own heading.
The 3 principles
- Tech language. Infrastructure-grade product UI: copy and visuals are precise, calm, and literal — no emoji-as-decoration, no marketing fluff inside the product.
- Minimal and polished. Remove before you add. Every element earns its place; ornament is the exception that has to justify itself.
- PRO UX first. Get flow, states, and feedback right before any aesthetic pass. A beautiful screen with a missing empty/error/loading state is not done.
The non-negotiable rules (detail lives in the owning skill)
- Components only — compose from
@aziontech/webkit; never hand-roll a button/input/modal/ dropdown the system ships. (Find them via the webkit MCPsuggest_componentornode_modules/@aziontech/webkit/catalog.json.) See/webkit-usage,/webkit-ds-adoption. - Tokens only — color, typography, shape, spacing, shadow come from
@aziontech/theme; no hex,rgb,hsl, or Tailwind palette. See/webkit-baseline-ui. - Typography hierarchy — only the
text-*tokens, never inverted (text-heading-* > text-body-* > text-label-* > text-overline-*). See/webkit-baseline-ui. - Spacing rhythm — one
--spacing-*step, applied consistently. See/webkit-baseline-ui. - One content column — inside a vertical list (nav rail, menu, settings list, any stack of rows),
every row's content starts on the same x, whatever the row is. A section title's text, a row's
leading glyph, and a row with no glyph at all all begin on that one column; a row that reserves a
glyph box pads by the column minus the glyph's own centring, so the glyph — not the box — lands on
it. Nesting shifts the whole column by exactly one indent step, so the alignment cascades at every
depth instead of being re-derived per level.
Three things follow, and each is a real bug when skipped:
- Never reserve an empty glyph box. A box with no glyph in it misreports where the row's content starts: the label sits off the column its siblings hold, and anything drawn from that content (a tree rail, a hover surface) anchors to blank space. Render the box only when there is a glyph.
- Derive the indent from tokens, never a literal. Hold the step and the column in two custom
properties and compute everything else from them, so an elbow or rail cannot come unstuck from
the rows it connects. Avoid any
--spacing-*token that is redefined at a breakpoint — the column would drift as the viewport grows. - Structure lines live in the gutter, never over a row. A tree rail, elbow or depth guide stops at the row's box edge — not at its text. The row's hover and selected surfaces fill that box, so a line drawn any further is painted underneath them and reads as a glitch on exactly the states a user interacts with.
- Verify it by measuring, not by looking. Read the rendered
xof each row type and assert they are equal, and assert a rail's right edge never exceeds the row surface's left edge. A 4px break is invisible in review and obvious in production.
- Contain the page — a page carries a
layout-*column class, a boundary and the two rhythm steps; never a hand-rolledmx-auto max-w-*and never a rawpx/remwidth. The full container system (measure, boundary, rhythm, the site frame) lives in/webkit-layout. - Token motion only —
animate-*utilities +duration-*/ease-*tokens, with amotion-reduce:*escape; no animation library. See/webkit-motion-polish. - Accessible by construction — labels, focus, ARIA state, target size. See
/webkit-form,/webkit-ui-verify. - Works in both themes — style through role tokens so light and dark need no per-theme edits.
See
/webkit-theming-dark-mode. - One shape per recurring element, built once — a name that leaves the screen, a domain cell, a
category chip: each is one shared component composed everywhere, never markup re-typed per
call site. Re-typed markup does not drift on one axis, it drifts on all of them at once — a
dozen copies of the same link turned into four glyphs, four icon sizes, two underline states and
a tooltip on two of twelve. The tell is a
<template>you could paste into another file unchanged; extract it instead. Details in/webkit-tables.
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.
- 24d ago Changed · +10 lines · +10 tokens per session 45a61b346232
- 1mo ago First seen · 120 lines · 117 tokens per session scan A be5fa2c5e4e0
webkit-ui-craft is a skill published in the GitHub repository aziontech/webkit (3 stars, last pushed today), licensed MIT. It adds 127 tokens to every session and 2,323 once invoked, about $0.0005 per session on Opus 5.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-31.
Other skills, from other repositories
shadcn-vue
Manages shadcn-vue components and projects — adding, searching, fixing, debugging, styling, and composing UI. Provides project context, component docs, and usage examples. Applies when working with shadcn-vue, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for…
design-component
Design a UI component spec to the house quality bar — anatomy, variants, sizes, the 8 states, token mapping, and accessibility. Use when the user wants to design or document a component (button, input, tabs, toast, combobox, date picker, modal, etc.) at the spec level before or alongside code. For generating framework…
design-doctrine
The house rules for ANY design or UI work - the verification protocol (run the gate, never claim a number), the absolute no-emoji rule, token by intent, one shared theme, the eight states, one thing leads, and output completeness. Load this FIRST whenever building, reviewing, or theming a screen, component, or token…
design-screen
Design or build a page, screen, landing page, website, app or UI from a request - the whole job, end to end. Use this for "design a landing page", "build a settings screen", "make me a website", "design the onboarding", "ออกแบบหน้าเว็บ", "ทำหน้า landing", "ออกแบบ UI", "ทำแอป". It runs the pipeline no single skill…
critique
Adversarial design critique of the current work — render it, look at it, and argue for rejection. Run after the gates are green, never instead of them.
scaffold-project
Scaffold a new design-product project that matches the recommended Claude Code layout (the reference structure). Use when starting a fresh product/app that will be built with this design system.