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/audit-baselinenpx skills add friedbotstudio/baseline --skill audit-baselinegit 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.00103 | $0.01120 |
| Opus 5 | $0.00051 | $0.00560 |
| Sonnet 5 | $0.00021 | $0.00224 |
| Haiku 4.5 | $0.00010 | $0.00112 |
Grade A, and why
audit-baseline 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 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.
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 — 83 lines — stays where its author put it; the contents beside it link to each section on GitHub.
audit-baseline — drift defender
Mechanical check that the baseline implementation matches its specification. Deterministic, not LLM judgment — pattern matches and file presence only. Run on demand, by /init-project Step 8, or in CI.
What it checks
| Category | Check |
|---|---|
| Counts | Hooks, agents, skills, commands on disk match the count claimed in seed.md |
| Names | Each component's name matches the canonical list in seed.md §4 |
| Helper scripts | validate.mjs, swarm_merge.mjs, render.mjs, lint.mjs, archive.sh present + executable |
| settings.json | Every baseline hook is wired in the correct event/matcher block |
| project.json | Every key listed in seed.md §13 Step 8 exists (values may be null pre-init) |
| .mcp.json | the declared documentation provider and the plantuml server present |
| Vendored licenses | claude-automation-recommender/{LICENSE,NOTICE} present (Apache 2.0 attribution) |
| Cross-doc counts | Numeric claims in CLAUDE.md, README.md, and docs/init/seed.md match disk |
Invocation
/audit-baseline — model-invocable and user-invocable.
Calls audit.mjs. Output is a compact pass/fail table with a final verdict. Exits 0 on a clean audit, 1 on any failure. WARN-level findings (advisory; e.g., a doc with no relevant claims) don't fail the audit.
When to run
- End of
/init-project— Step 8. A fresh baseline should pass. - Before
/approve-direction— confirm the baseline hasn't drifted. - In CI — fail the build on drift.
- On demand — when something feels off, when adding a component, or after a long gap in baseline maintenance.
When the audit reports drift
- Counts mismatch → add the missing component or update
seed.mdto match the new count. Don't update one without the other. - Name mismatch → a component was renamed, added, or removed. Update the canonical lists in
seed.md§4 and the expected sets inaudit.mjs. - Helper missing or non-executable →
chmod +xor restore from history. - Hook unwired → add the entry to
.claude/settings.json. - project.json key missing → re-run
/init-project, or add the key manually. - License missing (vendored skills) → restore from upstream; this is a license-compliance gap.
- Cross-doc stale numbers → update the docs.
seed.mdis the source of truth.
What ships with it
35 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.
- audit.mjs 7.2 KB runs code
- character.json 13 KB
- character.mjs 4.3 KB runs code
- checks/constitution.mjs 1.9 KB runs code
- checks/context.mjs 4.8 KB runs code
- checks/counts.mjs 3.4 KB runs code
- checks/cross-doc-counts.mjs 3.1 KB runs code
- checks/cross-doc-patterns.mjs 2.9 KB runs code
- checks/derived-count-surfaces.mjs 1.0 KB runs code
- checks/design-ui-surface.mjs 2.3 KB runs code
- checks/docsite-drift.mjs 3.8 KB runs code
- checks/helper-scripts.mjs 803 B runs code
- checks/hook-decision-paths.mjs 3.0 KB runs code
- checks/licenses.mjs 1.9 KB runs code
- checks/mcp-servers.mjs 845 B runs code
- checks/memory.mjs 3.6 KB runs code
- checks/project-json.mjs 3.7 KB runs code
- checks/quickfix-invariants.mjs 3.0 KB runs code
- checks/settings-wiring.mjs 766 B runs code
- checks/skill-character.mjs 1.6 KB runs code
- checks/skill-ownership.mjs 1.9 KB runs code
- checks/src-templates-a.mjs 2.9 KB runs code
- checks/src-templates-b.mjs 3.5 KB runs code
- checks/surface-helpers.mjs 2.8 KB runs code
- cli.mjs 1.8 KB runs code
- config-parity.mjs 2.7 KB runs code
- derive-counts.mjs 8.5 KB runs code
- expected-baseline.mjs 3.4 KB runs code
- memory-shape.mjs 1.4 KB runs code
- tests/fixtures/_pending_opener_only.md 111 B
- tests/fixtures/preamble_full_empty_body.md 53 B
- tests/fixtures/preamble_full_with_entries.md 121 B
- tests/fixtures/preamble_no_opener.md 74 B
- tests/fixtures/preamble_opener_only.md 46 B
- tests/preamble_check_test.sh 5.4 KB runs code
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 · 83 lines · 103 tokens per session scan A a39bae8d5f48
audit-baseline is a skill published in the GitHub repository friedbotstudio/baseline (11 stars, last pushed 6d ago), licensed Apache-2.0. It adds 103 tokens to every session and 1,120 once invoked, about $0.0005 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 规范等。.
rust-review
Rust 服务审查:panic、SQL 注入、密钥、错误吞没、遗留标记.
python-review
Python 遗留代码审查:bare except、SQL 注入、反序列化、密钥、调试输出.