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/stvlynn/dsh.fish/beuinpx skills add stvlynn/dsh.fish --skill beuigit clone --depth 1 https://github.com/stvlynn/dsh.fishWrote 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/stvlynn/dsh.fish/beui)<a href="https://agentmods.dev/skills/stvlynn/dsh.fish/beui"><img src="https://agentmods.dev/badge/skills/stvlynn/dsh.fish/beui.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.00078 | $0.01901 |
| Opus 5 | $0.00039 | $0.00950 |
| Sonnet 5 | $0.00016 | $0.00380 |
| Haiku 4.5 | $0.00008 | $0.00190 |
Grade A, and why
beui scanned grade A with 1 finding 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 4d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -fsS https://beui.dev/r/registry.json This is a copy
100% identical to beui — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 143 lines — stays where its author put it; the contents beside it link to each section on GitHub.
beUI
Use beUI as copy-paste source through the @beui shadcn registry.
Workflow
- Fetch the live registry before choosing a component:
curl -fsS https://beui.dev/r/registry.json
- Pick the closest install slug from
items[].name. - Inspect before installing:
npx shadcn@latest view @beui/<slug>
- Install with the user's package runner:
npx shadcn@latest add @beui/<slug>
# or
pnpm dlx shadcn@latest add @beui/<slug>
# or
bunx --bun shadcn@latest add @beui/<slug>
- Read the files that were added, then compose with the named exports. There is no
beuiruntime package.
The live registry is the source of truth. Use the table below only to resolve common lookalikes.
Picker
| User asks for | Install @beui/... |
Avoid |
|---|---|---|
| Toast or snackbar | animated-toast-stack |
notification-stack |
| Expanding notification inbox | notification-stack |
animated-toast-stack |
| Mobile bottom sheet, Vaul-style panel | bottom-sheet |
drawer |
| Side panel or app drawer | drawer |
bottom-sheet |
| App chrome sidebar | animated-sidebar |
bounce-sidebar, ai-sidebar |
| AI files, folders, bookmarks | ai-sidebar |
animated-sidebar |
| Whole agent workspace | chat-app |
hand-rolled chat shell |
| Streaming thread that follows tokens | message-scroller, message |
custom scroll math |
| Just a chat bubble | message-bubble |
custom bubble |
| Prompt box or composer | prompt-input |
textarea plus custom buttons |
| Agent reasoning, search, tool trace | agent-activity |
plain log list |
| Task plan | todo-list |
custom checklist |
| Code surface | code-block |
pre/code from scratch |
| File diff | file-diff |
custom diff renderer |
| Tool output | tool-result |
raw terminal block |
| Tool permission card | tool-approval |
alert dialog |
| Approval or HITL question | approval-card |
custom form |
| Inline citations | citations |
plain numbered links |
| Generated image canvas | image-generation |
image card from scratch |
| Liquid popover | popover |
popover-morph |
| Corner morph popover | popover-morph |
popover |
| Dropdown select | select |
select-morph, combobox |
| Select that grows into panel | select-morph |
select |
| Searchable select | combobox |
select |
| Cmd+K palette | command-palette |
combobox |
| Right-click or long-press menu | context-menu |
bloom-menu |
| Button that blooms into a menu | bloom-menu |
context-menu |
| Press button | button-base |
custom motion.button |
| Loading/success/error button | button-stateful |
spinner button |
| Magnetic button | button-magnetic |
custom pointer tracking |
| Hold to confirm | hold-action-button |
button-base |
| Slide to confirm | slide-action-button |
swipeable-list |
| Hover CTA with expanding arrow | expanding-arrow-button |
button-base |
| Spinner, dots, bars loader | loader |
thinking-shimmer |
| Agent thinking status | thinking-shimmer |
loader, text-shimmer |
| Cycling reasoning phrases | reasoning-text |
text-cascade |
| Timed agent progress glyph | agent-progress |
loader |
| Shimmer headline text | text-shimmer |
thinking-shimmer |
| Word or letter reveal | text-reveal |
text-cascade |
| Chromatic cycling word | chromatic-text-reveal |
text-shimmer |
| Slot-machine letters | text-cascade |
text-scramble |
| Scramble resolving text | text-scramble |
text-cascade |
| Rolling digits | number-ticker |
animated-number |
| Count-up on view | animated-number |
number-ticker |
| Tick-dot slider | range-slider |
other range-slider-* |
| Liquid fill slider | range-slider-fluid |
range-slider |
| Equalizer slider | range-slider-wave |
range-slider |
| Tilting value bubble slider | range-slider-bubble |
range-slider |
| Ruler slider | range-slider-ruler |
range-slider |
| iOS wheel picker | wheel-picker |
select |
| macOS dock | dock |
expandable-action-bar |
| Icon actions with labels | expandable-action-bar |
dock |
| Overflow action rail | overflow-actions |
expandable-action-bar |
| Icon tabs with active label | expandable-tabs |
tabs |
| Morphing tab content room | morphing-tabs |
tabs |
| Pill or underline tabs | tabs |
expandable-tabs |
| Hover gliding background | shared-layout-bg |
tabs |
| Preview ticks or rail | preview-rail |
bounce-sidebar |
| Dynamic Island | dynamic-island |
notification-stack |
| Swipe row actions | swipeable-list |
slide-action-button |
| Pull to refresh | pull-to-refresh |
custom touch math |
| Basic upload queue | file-upload |
attachment-upload |
| Mixed file, audio, image attachments | attachment-upload |
file-upload |
| OTP or PIN boxes | otp-input |
input |
| Sign-up form | signup-form |
manual form assembly |
| Theme wipe | theme-toggle |
class toggle only |
| Shader background | shader-background |
custom canvas |
| Cylinder carousel | cylinder-carousel |
marquee |
| Logo or text marquee | marquee |
cylinder-carousel |
| Data table | table |
HTML table from scratch |
| Editable table | table-editable |
table |
| Async table | table-async |
table |
| Tournament bracket | knockout-bracket |
knockout-wheel |
| Radial tournament wheel | knockout-wheel |
knockout-bracket |
| 404 page | not-found-glitch |
custom 404 |
| Project folder card | project-folder |
folder card from scratch |
| Token or chain swap | swap |
custom swap form |
| Weekly availability editor | availability-scheduler |
custom calendar grid |
| Wallet overview card | wallet-card |
custom wallet card |
| Prediction market ticket | prediction-market |
custom trade ticket |
| Feedback popup | feedback-widget |
animated-toast-stack |
| Infinite masonry grid | infinite-masonry |
CSS columns |
| Accordion | bouncy-accordion |
custom accordion |
| 3D tilt card | tilt-card |
custom glare math |
| Tooltip | tooltip |
popover |
| Switch, checkbox, radio, input | switch, checkbox, radio, input |
restyled native controls |
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 4d ago First seen · 143 lines · 78 tokens per session scan A c1737e266b18
beui is a skill published in the GitHub repository stvlynn/dsh.fish (2 stars, last pushed 5d ago), licensed MIT. It adds 78 tokens to every session and 1,901 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). It is 100% identical to beui, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
audit
Use when asked to audit a codebase, or when the /audit command runs — find security, correctness, and quality issues across a project and report them organized by severity.
bug
Use when the user reports a bug or asks to capture one — ask the minimal questions needed, then produce a structured bug report the team can act on.
review
Use when asked to review a codebase or a change, or when the /review command runs — assess design, correctness, maintainability, and test coverage with actionable feedback.
vuln-check
Use when asked to check for security vulnerabilities, or when the /vuln-check command runs — scan the project for known vulnerable dependencies and security anti-patterns.
pr-comments
Use when the user asks to review pull request comments, or when the /pr-comments command runs — fetch and analyze PR review comments on the current branch and summarize actionable items.
practice
Use when the user asks to practice programming with dsh-tui, or wants to level up a specific skill through guided exercises.