Unovis is a modular data-visualization framework for building charts, maps, network graphs, and other visual components in JavaScript or TypeScript applications. It supports React, Angular, Svelte, Vue, Solid, and vanilla projects, with packages that can be imported individually.
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 skills add f5/unovis --skill open-prgit clone --depth 1 https://github.com/f5/unovisWrote 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/f5/unovis/open-pr)<a href="https://agentmods.dev/skills/f5/unovis/open-pr"><img src="https://agentmods.dev/badge/skills/f5/unovis/open-pr/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/f5/unovis/open-pr"><img src="https://agentmods.dev/badge/skills/f5/unovis/open-pr.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.00067 | $0.00755 |
| Opus 5.5 | $0.00027 | $0.00302 |
| Sonnet 5.5 | $0.00013 | $0.00151 |
| Haiku 4.5 | $0.00007 | $0.00076 |
Grade A, and why
open-pr 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 1mo 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 — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Opening a PR in Unovis
Mirror the maintainers' real PRs: #821 Boxplot and #812 RadialBar.
Branch
- Branch off
main; never commit directly tomain. - Name it for the work, e.g.
feat/boxplot,fix/crosshair-threshold. - The F5 CLA bot comments on a first-time contributor's PR (sign the CLA when prompted). There
is no DCO /
Signed-off-byrequirement.
Commit grouping
Split the work into logical commits (see /commit for the message format). For a new component
the maintainers use this 4-commit grouping:
Component | <Name>: New component— thepackages/tscore (config, index, style, types, modules) plus its export wiring and registry entry.Dev | Examples: <Name> examples(orDev | Examples | <Name>: ...) — thepackages/devpages.Misc: Framework integrations— the regenerated wrappers across React/Angular/Svelte/Vue/Solid.Website: <Name> docs and gallery example— the.mdxdoc +packages/shared/examplesgallery entry + previews.
For smaller changes, one well-scoped commit is fine — keep core/dev/website/wrapper concerns in separate commits when they coexist.
PR title
- New component:
New Component: <Name> (<milestone>)— e.g.New Component: Boxplot (1.7). - Otherwise: a concise summary in the same
Type | Scope: Subjectspirit isn't required for the title, but keep it specific.
PR body
Use the maintainers' checklist template (tick what applies):
Adding a new `<Name>` <XY/Core/standalone> component
- [x] Dev examples
- [x] Wrappers
- [x] Gallery example
- [x] Docs
<!-- Light + dark screenshots and/or a short screen recording of the component -->
For non-component PRs, write a short summary of what changed and why, and keep a checklist of the surfaces touched (core / dev / docs / wrappers) when relevant.
Create the PR
git push -u origin <branch>
gh pr create --base main --title "New Component: <Name> (<milestone>)" --body "$(cat <<'EOF'
Adding a new `<Name>` XY component
- [x] Dev examples
- [x] Wrappers
- [x] Gallery example
- [x] Docs
EOF
)"
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.
- 1mo ago First seen · 80 lines · 67 tokens per session scan A 8facd4fdbc7a
open-pr is a skill published in the GitHub repository f5/unovis (2,856 stars, last pushed yesterday), licensed Apache-2.0. It adds 67 tokens to every session and 755 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-09-03.
Other skills, from other repositories
bklit-ui
Install, compose, theme, and animate Bklit UI charts (the @bklit shadcn registry) in a React / Next.js app. Use when the user wants a chart, graph, or data visualization: line, area, bar, live/streaming line, composed, scatter, candlestick/OHLC, pie, ring/donut, radar, gauge, heatmap, funnel, sankey, sunburst, or…
git-workflow
Guided git workflows: prepare PRs, clean up branches, resolve merge conflicts, handle monorepo tags, squash-and-merge patterns. Use when asked to prepare a PR, clean branches, resolve conflicts, or tag a release.
changelog
Turn a release into a short changelog video with remocn: collect what changed from git tags, commits or merged pull requests, write it as a few human-readable lines, and build the video with the changelog archetype. Use when the user wants a release, version or "what's new" video for a repository.
stacking-prs
Create and manage GitHub native Stacked PRs in this repo with the gh stack CLI. Use when asked to stack PRs, split a large change into a stack, add a layer to a stack, restack or rebase a stack, adopt existing branches or PRs into a stack, check out someone else's stack, or land a stack. Covers creating and submitting…
common-git-collaboration
Enforce version control best practices for commits, branching, pull requests, and repository security. Use when writing commits, creating branches, merging, or opening pull requests.
summarize-releases
Create a monthly NVIDIA Elements “What’s New” docs page, matching video, and concise, copy-ready summary from local release tags, tagged changelogs, package versions, and commit history. Use for a scheduled release PR, monthly update, release roundup, changelog digest, Slack blurb, announcement, or plain-language…