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/bitovi/convey/extract-ui-componentnpx skills add bitovi/convey --skill extract-ui-componentgit 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/extract-ui-component)<a href="https://agentmods.dev/skills/bitovi/convey/extract-ui-component"><img src="https://agentmods.dev/badge/skills/bitovi/convey/extract-ui-component.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.00033 | $0.00741 |
| Opus 5 | $0.00016 | $0.00370 |
| Sonnet 5 | $0.00007 | $0.00148 |
| Haiku 4.5 | $0.00003 | $0.00074 |
Grade A, and why
extract-ui-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 5d 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 — 103 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Extract UI Component Skill
Purpose
Guide the extraction of reusable UI components from inline code patterns. This skill ensures components are:
- Well-designed with flexible, composable APIs
- Type-safe with proper TypeScript interfaces
- Accessible and keyboard-navigable
- Safely integrated through strategic refactoring
When to Use
- Component Registry shows a pattern marked ⚠️ NEEDS EXTRACTION
- You notice the same UI element used 2+ times in your feature
- Creating generic UI primitives (Button, Card, Badge, Input, etc.)
- Refactoring inline patterns into shared components
Workflow
1. Analyze Existing Patterns
Goal: Understand all variations before designing the component API.
- Review Component Registry for pattern locations
- Read through 3-5 examples of the pattern in actual code
- Identify variations: visual variants, size variants, state variants, content variants
2. Design Component API
Guidelines:
- Props: Use TypeScript discriminated unions for variants
- Composition: Accept
childrenfor content - Flexibility: Allow
classNameoverride for edge cases - HTML attributes: Spread remaining props to underlying element
- Defaults: Choose sensible defaults (variant="primary", size="md")
interface ComponentProps extends React.HTMLAttributes<HTMLElement> {
variant?: 'primary' | 'secondary' | 'success' | 'danger';
size?: 'sm' | 'md' | 'lg';
disabled?: boolean;
className?: string;
children: React.ReactNode;
}
3. Implement Component
Location: /test-app/src/components/ComponentName.tsx
- Use TypeScript for type safety
- Export both the component and its props interface
- Use string template for className composition
- Preserve all HTML attributes with
...props - Allow
classNameoverride but apply it last - Use semantic HTML elements
4. Refactor Existing Code
Strategy: Refactor incrementally, one file at a time.
- Pick one file from Component Registry locations
- Add import for the new component
- Replace ONE instance of inline pattern with component
- Test the page - verify it still works
- Replace remaining instances in that file
- Commit with descriptive message
- Repeat for next file
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.
- 5d ago First seen · 103 lines · 33 tokens per session scan A 15449030734a
extract-ui-component is a skill published in the GitHub repository bitovi/convey (46 stars, last pushed 19d ago), licensed MIT. It adds 33 tokens to every session and 741 once invoked, about $0.0002 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
omh-accessibility-audit
This is a Hermes-native accessibility-audit workflow skill.
omh-design-quality-gate
This is a Hermes-native design-quality-gate workflow skill.
design-negotiation
Advocate for design quality, scope, and timeline with partners and leadership using evidence and shared goals. Use in the conversation itself. For the commercial vocabulary behind it, use business-design (ux-strategy).
version-control-strategy
Define version control for design files, components, and libraries — branching, naming, and release. Use when file history is chaotic. For design system contribution rules, use design-system-governance (design-systems).
presentation-deck
Structure a design presentation for a specific audience and decision. Use when presenting internally. For a portfolio narrative use case-study; for the written argument use design-rationale.
ux-writing
Write interface copy — microcopy, error messages, empty states, and CTAs. Use when the words are the deliverable. For content structure and ownership, use content-strategy (ux-strategy).