Borrowing it
Nothing to install: this file belongs to bitovi/convey. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/bitovi/convey/main/.github/skills/preview-className-component/SKILL.mdgit clone --depth 1 https://github.com/bitovi/conveyWrote 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/bitovi/convey/preview-classname-component)<a href="https://agentmods.dev/skills/bitovi/convey/preview-classname-component"><img src="https://agentmods.dev/badge/skills/bitovi/convey/preview-classname-component/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/bitovi/convey/preview-classname-component"><img src="https://agentmods.dev/badge/skills/bitovi/convey/preview-classname-component.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00082 | $0.03350 |
| Opus 5.5 | $0.00033 | $0.01340 |
| Sonnet 5.5 | $0.00016 | $0.00670 |
| Haiku 4.5 | $0.00008 | $0.00335 |
Grade A, and why
preview-className-component 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 2mo 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 — 313 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill: Building Components That Preview className Changes
Mental Model
Every interactive control in the panel follows a three-phase lifecycle:
HOVER → preview (live in user's app)
LEAVE → revert (snap back to original)
CLICK → stage (lock the new value as a draft)
The control itself only calls onHover(newClass) and onLeave(). The parent (usually Picker.tsx) owns the patchManager and wires those callbacks to preview() / revertPreview() / stage().
The onHover / onLeave Prop Contract
Every control that can preview a class change must accept these two props:
onHover: (fullClass: string) => void; // called when a candidate value is highlighted
onLeave: () => void; // called when interaction ends without committing
onHover — fire on every discrete candidate value:
- Mouse enters a swatch / list item →
onHover(fullClass) - Scrub moves to a new step →
onHover(fullClass) - Keyboard navigates to an option →
onHover(fullClass)
onLeave — fire when the user abandons the interaction without clicking:
- Mouse leaves the entire control
- Dropdown closes without selecting
- Focus leaves the container
- Escape is pressed
The parent wires them:
// In Picker.tsx (or wherever patchManager is available)
<MyControl
onHover={(newClass) => patchManager.preview(currentClass, newClass)}
onLeave={() => patchManager.revertPreview()}
onClick={(newClass) => {
handleStage(property, currentClass, newClass);
// commitPreview() is called automatically after staging
}}
/>
Dropdown Controls: the Focus-Trap Pattern
Any control with a dropdown / floating menu must use the canonical floating menu stack:
useFloating— positioning, flip, shift (from@floating-ui/react)FloatingPortal— renders outside anyoverflow: hiddenancestor, preventing clippingFocusTrapContainer— auto-focuses, firesonCloseon blur/EscapeuseDismiss— optional, adds pointer click-outside close
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.
- 2mo ago First seen · 313 lines · 82 tokens per session scan A 99b06179aab3
preview-className-component is a skill published in the GitHub repository bitovi/convey (47 stars, last pushed 2mo ago), licensed MIT. It adds 82 tokens to every session and 3,350 once invoked, about $0.0003 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-30.
Other skills, from other repositories
omh-visual-qa
This is an OMH visual-qa workflow skill, projected for Agent Skills hosts (Claude Code, Codex, Cursor, opencode, OpenClaw, pi).
design-craft
Design or substantially improve user-facing interfaces with a product-specific visual direction, content hierarchy, and rendered critique. Use for new screens, landing pages, redesigns, typography/layout work, or UI that feels generic or AI-generated. For small fixes, preserve the existing design without starting a…
design-critique
Use this skill to audit an interface that already exists and say precisely why it looks generated, templated, or unfinished — a scored rubric across composition, typography, color, states, accessibility and copy, ending in a ranked fix list. Triggers: user says "review the design", "critique this UI", "why does this…
web-platform-baseline
Use this skill before asserting that a CSS, HTML or accessibility capability is available, unavailable, or the right tool — it carries dated, refreshable platform facts and refuses to let stale knowledge be stated as current. Triggers: user says "container query", "can I use", "browser support", "modern CSS", ":has"…
color-palette-generator
Create an HTML color palette from a mood, description, or image, with swatches, color codes, pairings, and contrast checks. Use for color schemes or brand colors.
frontend-composition
Implement polished self-contained HTML interfaces with semantic structure, maintainable CSS, realistic content, and purposeful visual hierarchy.