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-debugnpx skills add Obsidian-Owl/specwright --skill sw-debuggit clone --depth 1 https://github.com/Obsidian-Owl/specwrightWhat 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.00033 | $0.00860 |
| Opus 5 | $0.00016 | $0.00430 |
| Sonnet 5 | $0.00007 | $0.00172 |
| Haiku 4.5 | $0.00003 | $0.00086 |
Grade A, and why
sw-debug 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 — 88 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Specwright Debug
Goal
First-class debugging path. Scope the problem, investigate concurrently,
diagnose with evidence, then decide: fix it now, log it, or defer. Operates
autonomously, applying protocols/decision.md for the fix/log/defer decision.
Inputs
- Problem description (argument or recent error context)
- Initial evidence: error messages, logs, failing test output
{projectArtifactsRoot}/config.json—backlog.typeandbacklog.label- Codebase files — read during investigation
Outputs
diagnosis.mdat{workArtifactsRoot}/{id}/diagnosis.md— always producedspec.mdat{workArtifactsRoot}/{id}/spec.md— Fix path only (2-3 acceptance criteria)decisions.mdat{workArtifactsRoot}/{id}/decisions.md— fix/log/defer decision recorded perprotocols/decision.md
Constraints
Stage boundary (LOW freedom):
Follow protocols/stage-boundary.md. Investigate and diagnose. NEVER write code,
run tests, branch, or commit. Fix path: produce spec.md, handoff to /sw-build.
Scope (MEDIUM freedom):
- If argument provided, use it. If no argument, infer from recent error context (last failed command, error output in conversation). If genuinely undetermined, apply DISAMBIGUATION: choose the most likely problem from available context.
- Collect evidence: error messages, stack traces, failing tests. Define boundary.
Investigate (HIGH freedom):
Delegate concurrently per protocols/delegation.md: specwright-researcher (code
context, call paths) and specwright-architect (root cause, blast radius).
Diagnose (MEDIUM freedom):
Write diagnosis.md: Problem (observed vs expected), Root Cause (confidence level,
file:line evidence), Blast Radius (affected / not affected), Fix Approach (high-level),
Alternatives Considered. If agents return insufficient evidence: produce low-confidence
diagnosis and note the gap in decisions.md.
Decision (MEDIUM freedom):
Apply protocols/decision.md DISAMBIGUATION + reversibility:
- Fix spans ≤3 files with local architectural scope → Fix it now (Type 2). Write
spec.md, handoff to
/sw-build. - Fix spans >3 files or crosses architectural boundaries → halt and recommend
/sw-design(Type 1 — structural scope). - Known pattern (matches patterns.md entry) → Log it as BL-{n} per
protocols/backlog.md. - Requires design-level decisions → Defer as BL-{n} with
defertag. Record the decision in decisions.md.
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 · 88 lines · 33 tokens per session scan A 3a9c41c56aba
sw-debug is a skill published in the GitHub repository Obsidian-Owl/specwright (9 stars, last pushed 4mo ago), licensed MIT. It adds 33 tokens to every session and 860 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
ai-spec-project-start
Install or upgrade SDAD; migrate an existing SDAD project; recover or repair sdad-state.yaml, INDEX, ledger, or handoff consistency; run or interpret SDAD Doctor; or diagnose the SDAD control plane. Use only for SDAD-specific bootstrap, migration, repair, and Doctor operations.
phase-7-testing
Phase 7 — Test Strategy with pyramid, coverage gates, load tests, and Critical User Journeys.
gsd-audit-milestone
Audit milestone completion against original intent before archiving.
spec-kitty-charter-doctrine
Run charter interview, generation, context, and sync workflows for project governance in Spec Kitty 3.x. Access doctrine artifacts programmatically via DoctrineService. Resolve agent profiles. Load action-scoped governance context iteratively, not all at once. Triggers: "interview for charter", "generate charter"…
create-mcp-server
Build, iterate, and evaluate Model Context Protocol (MCP) servers that expose external services as tools an LLM can call. Covers schema/tool design, error handling, pagination, MCP Inspector testing, and an eval set. Use when asked to "build an MCP server", "create an MCP tool", "wrap this API as MCP", "expose X to…
spk-team-auth
Handle Spec Kitty team authentication, hosted credentials, account selection, and auth-related recovery.