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 instructions/dev-lou/pixelpilot/uiux-statesgit clone --depth 1 https://github.com/dev-lou/PixelPilotWrote 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/instructions/dev-lou/pixelpilot/uiux-states)<a href="https://agentmods.dev/instructions/dev-lou/pixelpilot/uiux-states"><img src="https://agentmods.dev/badge/instructions/dev-lou/pixelpilot/uiux-states.svg" alt="Measured on agentmods" 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 | $0.08516 | $0.08516 |
| Opus 5 | $0.04258 | $0.04258 |
| Sonnet 5 | $0.01703 | $0.01703 |
| Haiku 4.5 | $0.00852 | $0.00852 |
Grade A, and why
PixelPilot uiux-states.instructions.md 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 yesterday.
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 — 1,014 lines — stays where its author put it; the contents beside it link to each section on GitHub.
UI/UX Component States 2026
Every UI component has states. This file defines ALL 10 states every component must handle — from Figma variables to CSS to JS — per design language. Missing states = broken UX. This is what separates AI slop from real products.
THE 10 STATES EVERY COMPONENT MUST HANDLE
1. Default — resting state
2. Hover — mouse/pointer over
3. Focus — keyboard/tab navigation
4. Active — being pressed / in-progress click
5. Loading — async action pending
6. Disabled — not interactable
7. Error — validation failed / system error
8. Success — action confirmed / validated
9. Empty — no data yet (tables, feeds, search)
10. Busy — container is updating (live feed, real-time data)
Optional (context-dependent):
11. Selected — chosen from a list
12. Dragging — being dragged (sortable lists)
13. Skeleton — pre-data placeholder (see uiux-motion.md)
STATE 10 — BUSY (Live Updating Containers)
Rule: When a container or section is actively updating (live feeds, real-time dashboards, polling data), use aria-busy="true" and provide visual feedback with reduced opacity and a spinner overlay.
When to Use Busy State
- Live feed is fetching new items
- Dashboard widget is refreshing data
- Chat is receiving streaming response
- Table is filtering/sorting large datasets
- Any container awaiting real-time update
HTML Structure
<!-- Busy container with aria-busy -->
<div class="live-feed" id="live-feed" aria-busy="true" aria-live="polite">
<div class="live-feed__spinner">
<span class="spinner"></span>
<span class="sr-only">Updating feed...</span>
</div>
<ul class="live-feed__items">
<!-- Feed items -->
</ul>
</div>
CSS Implementation
/* Busy state — reduced opacity + spinner overlay */
[aria-busy="true"] {
position: relative;
pointer-events: none;
}
[aria-busy="true"]::before {
content: '';
position: absolute;
inset: 0;
background: color-mix(in srgb, var(--bg) 60%, transparent);
z-index: 10;
border-radius: inherit;
}
/* Spinner overlay for busy containers */
.live-feed__spinner {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 11;
display: none;
}
[aria-busy="true"] .live-feed__spinner {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--space-2);
}
/* Busy state visual feedback */
[aria-busy="true"] > *:not(.live-feed__spinner) {
opacity: 0.4;
filter: blur(1px);
transition: opacity var(--transition-base), filter var(--transition-base);
}
/* Spinner animation */
.spinner {
width: 24px;
height: 24px;
border: 2px solid var(--border);
border-top-color: var(--accent);
border-radius: 50%;
animation: spin 0.8s linear infinite;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
.spinner {
animation: none;
border-top-color: var(--accent);
border-right-color: var(--accent);
}
[aria-busy="true"] > *:not(.live-feed__spinner) {
filter: none;
}
}
/* Per-design-language busy styles */
[data-lang="luxury"] [aria-busy="true"]::before {
background: color-mix(in srgb, var(--bg) 70%, transparent);
}
[data-lang="technical"] [aria-busy="true"]::before {
background: color-mix(in srgb, var(--bg) 80%, transparent);
}
[data-lang="technical"] .spinner {
width: 16px;
height: 16px;
border-width: 1.5px;
}
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.
- yesterday First seen · 1,014 lines · 8,516 tokens per session scan A e30d2b8022d7
PixelPilot uiux-states.instructions.md is an instructions file published in the GitHub repository dev-lou/PixelPilot (2 stars, last pushed 5mo ago), licensed MIT. It adds 8,516 tokens to every session, about $0.0426 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-09-03.
Other instructions, from other repositories
UIX CLAUDE.md
Instructions for Deepractice/UIX, covering uix project rules, design system: lucid ui, colors, forbidden and preferred patterns.
packmind packmind-front-end-ui-and-design-systems.instructions.md
Instructions for PackmindHub/packmind: This standard establishes guidelines for using Chakra UI v3 through the @packmind/ui design system to ensure consistent UI implementation across the frontend application. The @packmind/ui package prov... .
openbridge-webcomponents ui-components.instructions.md
Instructions for Ocean-Industries-Concept-Lab/openbridge-webcomponents, covering ui components instructions, architecture, elevation variants via @mixin style, slot conventions and event naming.
naksha-studio copilot-instructions.md
Instructions for Adityaraj0421/naksha-studio, covering naksha design team — github copilot, activation triggers, the design team, design rules for code generation and css custom properties (always use these patterns).
lovable-boilerplate design.instructions.md
Instructions for chihebnabil/lovable-boilerplate, covering design system guidelines, critical design rules, never create, always create and core design philosophy.
tidyfactor-design AGENTS.md
Instructions for alwkala/tidyfactor-design, covering ⚡ skill & 24 modular slash commands (7 lifecycle stages) and critical architecture (non-negotiable).