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/lerianstudio/ring/visualizingnpx skills add LerianStudio/ring --skill visualizinggit clone --depth 1 https://github.com/LerianStudio/ringWhat 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.00098 | $0.03567 |
| Opus 5 | $0.00049 | $0.01784 |
| Sonnet 5 | $0.00020 | $0.00713 |
| Haiku 4.5 | $0.00010 | $0.00357 |
Grade C, and why
ring:visualizing scanned grade C with 2 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 2d 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.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
command -v d2 || brew install d2 # or: curl -fsSL https://d2lang.com/install.sh | sh Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
command -v d2 || brew install d2 # or: curl -fsSL https://d2lang.com/install.sh | sh How it starts
The opening of the file, as written. The whole thing — 192 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Visual explainer
When to use
- User asks for a visual explanation, architecture overview, or comparison table
- About to render a complex ASCII table (4+ rows or 3+ columns) in the terminal
- Need a branded, self-contained HTML visualization with Lerian styling
- User asks for a slide deck or presentation
- User asks for diff review, plan review, project recap, or dashboard visualization
Skip when
- Output is a simple table (fewer than 4 rows and 3 columns) that fits well in terminal
- User explicitly requests plain text or markdown output
- The answer is better as ordinary markdown prose than as a durable artifact
Do not use the markdown/prose skip when the user explicitly asks for visual, diagram, artifact, topology, comparison, map, matrix, quadrant, slides, or axis output. In those cases, generate the visual artifact unless they also explicitly ask for text-only output.
Generate self-contained HTML files for technical diagrams, visualizations, and data tables. Always open the result in the browser. Never fall back to ASCII art when this skill is loaded.
Proactive table rendering: If the table has 4+ rows or 3+ columns, use an HTML page. Don't wait for the user to ask.
Diagram engine: D2 (not Mermaid)
Topology/connection diagrams are rendered by the D2 CLI to a static inline SVG, then embedded in the page. D2 (ELK/dagre layout) produces clean, deterministic layouts; the SVG is static, so there is no render flicker, no foreignObject breakage, and no theme-refresh bug. Dark/light is baked INTO the SVG by D2.
Prerequisite — the d2 binary:
command -v d2 || brew install d2 # or: curl -fsSL https://d2lang.com/install.sh | sh
If d2 is not installed and cannot be installed, fall back to CSS-grid card layouts (architecture.html) for structure — never to ASCII art.
Generation flow:
- Write
diagram.d2, starting with the Lerian D2 preamble (in./templates/diagram.htmland./references/libraries.md). d2 --theme=0 --dark-theme=200 --layout=elk diagram.d2 diagram.svg- Strip the leading
<?xml ...?>declaration; paste the<svg>...</svg>into.diagram-canvas. - The pan/zoom engine in
diagram.htmlis SVG-agnostic — it readsviewBoxand works as-is.
What ships with it
11 files 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.
- references/components.md 14 KB
- references/css-patterns.md 44 KB
- references/libraries.md 18 KB
- references/responsive-nav.md 6.3 KB
- references/slide-patterns.md 38 KB
- templates/architecture.html 27 KB
- templates/code-diff.html 49 KB
- templates/data-table.html 28 KB
- templates/diagram.html 31 KB
- templates/slide-deck.html 59 KB
- templates/standard.html 26 KB
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.
- 2d ago First seen · 192 lines · 98 tokens per session scan C a2b37bd7efa7
ring:visualizing is a skill published in the GitHub repository LerianStudio/ring (210 stars, last pushed 13d ago), licensed Apache-2.0. It adds 98 tokens to every session and 3,567 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
fetch-url-as-markdown
Fetch a web page (URL) and return clean Markdown via local trafilatura, with Exa MCP as a fallback for JS-rendered or anti-bot pages. Use when the user asks to read, fetch, scrape, summarize, or quote a URL — prefer this over the built-in WebFetch tool. Don't use for binary files (PDFs, images, archives) or for…
new-plugin
Factory line for adding a new HAR verification plugin (like playwright or rocketsim) for any framework — research the framework docs, build the template under src/templates/plugins/, register it everywhere, validate on a real repository, and open a PR. Use when asked to add/create a plugin, plugin template, or…
chrome-extension
Use when building or shipping a Manifest V3 browser extension and hitting its quirks — service worker dying and losing state, permission warnings, a Chrome Web Store rejection, content-script/worker/popup messaging, or an MV2-to-V3 migration. NOT a generic web app (that is nextjs), NOT a desktop shell (that is…
codedrobe-adapter-dev
Add, inspect, repair, or validate CodeDrobe Core adapters for Chromium/Electron AI desktop applications. Use when supporting a new app, updating Codex or WorkBuddy compatibility after an app release, discovering installation paths or CDP targets, selecting stable DOM landmarks, adding renderer profiles or…
brainstorm
Explores a codebase, researches the problem space, and produces an approved design specification before any code is written. Use when the user wants to create a new feature, add significant functionality, redesign a subsystem, or build something that touches multiple parts of the project.
playwright-skill
Support-only Playwright runtime/reference for browser-automation — dev-server detection, a Node.js script runner, quiet screenshot helpers, SPA readiness helpers, and custom HTTP headers. Use when browser-automation selects the bundled Playwright fallback; do not route user intent here directly.