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/obsidian-owl/specwright/sw-auditnpx skills add Obsidian-Owl/specwright --skill sw-auditgit clone --depth 1 https://github.com/Obsidian-Owl/specwrightWrote 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/obsidian-owl/specwright/sw-audit)<a href="https://agentmods.dev/skills/obsidian-owl/specwright/sw-audit"><img src="https://agentmods.dev/badge/skills/obsidian-owl/specwright/sw-audit.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.1 | $0.00036 | $0.00909 |
| Opus 5 | $0.00018 | $0.00454 |
| Sonnet 5 | $0.00007 | $0.00182 |
| Haiku 4.5 | $0.00004 | $0.00091 |
Grade A, and why
sw-audit 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 5d 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 — 92 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Specwright Audit
Goal
Find systemic codebase issues that per-change quality gates miss. Architecture debt, complexity growth, convention drift, and accumulated workarounds compound silently. Surface them, let the user prioritize, and persist findings for future design cycles.
Inputs
- The codebase itself
{projectArtifactsRoot}/CONSTITUTION.md-- practices to check against{projectArtifactsRoot}/AUDIT.md-- prior findings (if exists, for ID matching){projectArtifactsRoot}/LANDSCAPE.md-- module structure (if exists, for triage){projectArtifactsRoot}/config.json-- audit config (optionalauditsection)
Outputs
{projectArtifactsRoot}/AUDIT.md-- findings perprotocols/audit.mdformat- Findings presented to user grouped by dimension before saving
Constraints
Scope (LOW freedom):
- This skill reads and analyzes. It NEVER modifies source code, creates branches, runs builds, or starts work units.
- Does NOT create
currentWorkin workflow.json. Does NOT require a lock. Can run while a work unit is in progress. - It is not a core workflow stage and never claims top-level work ownership.
- On compaction: re-run from scratch (no state to recover).
Triage (MEDIUM freedom):
- Determine audit depth from argument and codebase size:
- Path argument → Focused: analyze specified directory/module only
--fullargument → Full: parallel agents, all dimensions- No argument → auto-triage: Standard (<50 files) or Full (50+ files)
- If LANDSCAPE.md exists, use module count to inform triage.
Analysis (HIGH freedom):
- Four dimensions: architecture, complexity, consistency, debt.
- Delegate per
protocols/delegation.md:specwright-architect: architecture + complexity (structural analysis)specwright-reviewer: consistency + debt (convention and quality analysis)
- Standard depth: 2 agent calls (sequential or parallel).
- Full depth: up to 4 parallel calls (one per dimension).
- Include constitution practices as the baseline for consistency checks.
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.
- 5d ago First seen · 92 lines · 36 tokens per session scan A 6ec1e1520b79
sw-audit is a skill published in the GitHub repository Obsidian-Owl/specwright (9 stars, last pushed 4mo ago), licensed MIT. It adds 36 tokens to every session and 909 once invoked, about $0.0002 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-31.
Other skills, from other repositories
rust-skills
Rust best practices — 179 rules across 14 categories for idiomatic, optimized Rust code.
new-skill
Scaffold a new brooks-lint analysis skill so it passes npm run validate and npm run evals on the first try — generates skills/{name}/SKILL.md (with the mandatory "Do NOT trigger for:" clause and a Process section citing guide step ranges) plus skills/{name}/{name}-guide.md (sequentially numbered steps), then appends…
llm-friendly-context
Clarifies inputs, outputs, success criteria, decisions, and unresolved conditions so downstream consumers can execute without guessing. Use when writing or revising LLM-facing prompts, handoffs, planning artifacts, reviews, reports, or generated instructions.
cco-task
Organize work by task, track tokens/cost per task, and keep a small patchable execution state that is re-injected after /compact (SKILL.state-style) — start a task, patch its state, list tasks, or mark the active one done. Pairs with /cco-pack to load minimal context per task.
cco-templates
Manage context templates for common task types.
discuss
Use when exploring a feature idea before committing, or revisiting a parked one. Triggers — "/engineer.discuss", "/engineer.discuss ", "I have an idea about", "should we build", "let's think about".