webkit-ui-states

A set of rules for handling every state of a data-backed screen, including loading, empty, partial, error, and success. It also covers what happens while an asynchronous action is running or fails.

In plain words
What is it for?
Use it for screens that fetch, filter, submit, or paginate data, including their loading indicators, empty messages, disabled controls, and failure feedback.
Why use it?
It prevents blank screens, stuck spinners, duplicate submissions, lost edits, and errors shown where users cannot understand them.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/aziontech/webkit/webkit-ui-states
Any agent
npx skills add aziontech/webkit --skill webkit-ui-states
Clone the repo
git clone --depth 1 https://github.com/aziontech/webkit

Made for: Claude Code, Codex.

Per session 121 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,397 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00121 $0.04397
Opus 5 $0.00060 $0.02198
Sonnet 5 $0.00024 $0.00879
Haiku 4.5 $0.00012 $0.00440

Measured 2d ago against content hash d17836c272ca, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

webkit-ui-states 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.

packages/webkit/cli-templates/claude/skills/webkit-ui-states/SKILL.md · 402 lines

How it starts

The opening of the file, as written. The whole thing — 402 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Skill: webkit-ui-states

Purpose

Most "unfinished" UI is not a styling problem — it is a missing state or a mishandled async moment. A view that fetches renders beautifully with data and breaks with none: a spinner that never resolves, a blank panel where an empty result should explain itself, a red toast where an inline field error belongs. And the async moments leak just as badly: a submit that stays clickable fires twice, a form whose fields stay editable mid-request sends data the user has already changed, a request that fails silently leaves the user staring at a spinner that never clears.

This skill fixes both halves of a trustworthy data-backed view:

  1. The state surface every view owns — loading, empty, partial, error, success — each mapped to the @aziontech/webkit component that renders it, so the loading/empty/error of every screen looks the same.
  2. The async behavior — what happens while an action is in flight (lock the scope off one flag) and when it fails (report the failure where the user is looking, via toast) — so the screen behaves the same everywhere too.

How to use

  • /webkit-ui-states — apply the state matrix and the async-behavior contract to any view you build in this conversation.
  • /webkit-ui-states <file> — review the file's views and async flows and report, per gap: the quoted line, which state or behavior is missing or mis-handled, and the concrete fix naming the webkit component.

When to invoke

  • Building or reviewing any screen that fetches, filters, submits, paginates, or mutates data.
  • The user asks "handle the empty state", "where do errors go", "why did it submit twice", "the form didn't lock", "handle the API error", "why does the spinner keep spinning after it's done".

How to find the components

Never guess an import path. Resolve it the same way for every component below:

  • Ask the webkit MCPsuggest_component in plain words ("empty state", "loading placeholder", "toast").
  • Or read node_modules/@aziontech/webkit/catalog.json — every key under imports is a real published subpath. If a subpath is not a key there, it does not exist.

Read the full file on GitHub · 402 lines

Changes

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.

  1. 2d ago First seen · 402 lines · 121 tokens per session scan A d17836c272ca

Subscribe to this mod's changes

webkit-ui-states is a skill published in the GitHub repository aziontech/webkit (2 stars, last pushed 5d ago), licensed MIT. It adds 121 tokens to every session and 4,397 once invoked, about $0.0006 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-31.

Related

Other skills, from other repositories

monorepo-management

Sets up or audits a monorepo workspace: tool selection, package naming, shared tooling, inter-package dependencies, selective CI, and versioning strategy. Invoked when the user asks to set up a monorepo, add a workspace, or manage multiple packages in a single repository.

soulcodex/agentic · 63 tokens

bazel-monorepo-expert

Expert knowledge for managing large-scale Bazel monorepos with multiple services, shared libraries, and cross-cutting concerns. Use for workspace structure, visibility, and dependency management.

kinhluan/rules-quarkus-skills · 43 tokens

pnpm

Skill "pnpm" from pledgeandgrow/pledge-skills, covering pnpm documentation skill, key benefits, file index, quick start and install pnpm.

pledgeandgrow/pledge-skills · 31 tokens

fast-typescript-check

Keep www-sacred's TypeScript fast to type-check and fast to run. Use when touching the ASCII/canvas animation components (the only real per-frame code here), tightening type-check wall-clock, or auditing a change for runtime or compiler regressions. Scoped to this repo — a React 19 / Next.js 16 component library plus…

internet-development/www-sacred · 84 tokens

port-sacred-terminal-ui-to-react-using-same-conventions

Take a CLI screen written for Simulacrum — the sacred CLI framework (scripts/cli/templates/.ts or scripts/python/templates/.py) — and produce a React component that lives inside components/examples/ (or components/) using only sacred's existing primitives — Window, Card, SimpleTable, ActionButton, RowSpaceBetween…

internet-development/www-sacred · 0 tokens

tinyvue-develop-spec

在当前仓库进行组件的开发,主题开发,国际化开发,测试脚本开发时,必须遵守以下规范。.

opentiny/tiny-vue · 12 tokens