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/friedbotstudio/baseline/spec-rendernpx skills add friedbotstudio/baseline --skill spec-rendergit clone --depth 1 https://github.com/friedbotstudio/baselineWhat 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.00060 | $0.00693 |
| Opus 5 | $0.00030 | $0.00347 |
| Sonnet 5 | $0.00012 | $0.00139 |
| Haiku 4.5 | $0.00006 | $0.00069 |
Grade A, and why
spec-render 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 yesterday.
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 — 46 lines — stays where its author put it; the contents beside it link to each section on GitHub.
spec-render — render a spec's diagrams for review
User-invokable only. This skill has side effects (writes SVGs and an index). Claude does not invoke it autonomously.
Invocation
/spec-render <slug> — where <slug> corresponds to docs/specs/<slug>.md.
Prerequisites
javaon PATH (JDK 8+) + the pinnedplantuml.jarat.claude/bin/plantuml.jar(fetched at install time; SHA-verified). The render script invokesjava -jar .claude/bin/plantuml.jar -tsvg ...and exits 2 with a named remedy if either dep is missing.- The spec at
docs/specs/<slug>.mdexists and passesspec_diagram_presence_guard+plantuml_syntax_guard— otherwise rendering will surface the same errors.
Steps
- Validate the slug:
docs/specs/<slug>.mdmust exist. - Run the render script:
The script:node .claude/skills/spec-render/render.mjs <slug>- Reads
docs/specs/<slug>.md. - Extracts every
plantumlfenced block in source order. - For each block: classifies it by marker (c4_context / c4_container / c4_component / sequence / class / dependency_graph / state / other), writes
docs/specs/_rendered/<slug>/<NN>_<kind>.puml, then renders to<NN>_<kind>.svg. - Writes
docs/specs/_rendered/<slug>/index.mdwith section titles and image links in order.
- Reads
- Report the output path and a short per-kind count to the user.
- If any block fails to render, surface the offending index + first line + stderr tail, and exit non-zero. Do not silently skip broken blocks.
Output
docs/specs/_rendered/<slug>/<NN>_<kind>.svg— one per diagram block.docs/specs/_rendered/<slug>/<NN>_<kind>.puml— source kept next to the SVG for easier diffs.docs/specs/_rendered/<slug>/index.md— markdown index with embedded images.
Notes
- The render directory is a build output. Add
docs/specs/_rendered/to.gitignoreif you don't want the SVGs in the repo; the PlantUML sources in the spec are the source of truth. - For offline review without Java + the pinned jar, use the
plantumlMCP server from.mcp.json— it talks to a PlantUML renderer over HTTP. This skill prefers the localjava -jarpath because it's faster, keeps renders self-contained, and uses the SHA-pinned jar (so the version a consumer renders against matches what this baseline was tested with).
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.
- yesterday First seen · 46 lines · 60 tokens per session scan A b8fae1fc80d3
spec-render is a skill published in the GitHub repository friedbotstudio/baseline (11 stars, last pushed 5d ago), licensed Apache-2.0. It adds 60 tokens to every session and 693 once invoked, about $0.0003 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
dev-standards
Enforces development workflows, quality gates, coding standards, and release processes for the deterministic-agent-control-protocol project. Use when implementing features, fixing bugs, refactoring architecture, adding integrations, updating policies, writing tests, updating documentation, or preparing releases.
code-review-with-lsp
Code review with LSP-powered code intelligence. Uses MCP tools (diagnostics, hover, references, definition, symbols) for semantic code understanding, not just text grep.
i18n-check
国际化完整性检查。检查翻译 key 是否缺失、硬编码文本、locale 文件一致性。.
vue-best-practices
Vue 2/3 代码规范检查。包括组件命名、Props 校验、Composition API 规范等。.
python-review
Python 遗留代码审查:bare except、SQL 注入、反序列化、密钥、调试输出.
rust-review
Rust 服务审查:panic、SQL 注入、密钥、错误吞没、遗留标记.