gate-build
Runs configured build and test commands in tiered order. Captures output as evidence per tier. Returns PASS, FAIL, WARN, or SKIP based on per-tier verdicts.…
Specwright health check. Validates shared config, anchor docs, workflow and session state, commands, gates, and hooks. May backfill shipped PR metadata when it can prove the mapping safely.
$ npx -y skills add Obsidian-Owl/specwright --skill sw-doctor --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/sw-doctorContext preview
The summary Claude sees to decide when to auto-load this skill.
Specwright health check. Validates shared config, anchor docs, workflow and session state, commands, gates, and hooks. May backfill shipped PR metadata when it can prove the mapping safely.
name: sw-doctor description: >- Specwright health check. Validates shared config, anchor docs, workflow and session state, commands, gates, and hooks. May backfill shipped PR metadata when it can prove the mapping safely. argument-hint: "" allowed-tools: - Read - Write - Bash - Glob - Grep
Validate that a Specwright installation is coherent across the tracked project-artifact root, shared repo-state root, and per-worktree session model, then print actionable repair hints using the same runtime-root and ownership vocabulary the adapters expose.
when present
`workflow.json`
**Pre-condition (LOW freedom):**
immediately and tell the user to run `/sw-init`.
`missing`.
`project-visible` runtime roots under `.specwright-local/` are the preferred interactive default; `git-admin` roots under `.git/specwright/` are compatibility mode.
**Checks (LOW freedom — run all 13 in order):** 1. **Anchor docs** — tracked Constitution and Charter exist and are non-empty 2. **Config** — tracked config parses and contains `gates` and `git` 3. **State** — current session parses when present, every discovered workflow parses with a null or fresh per-work lock, and layout status is explicit 4. **Gates** — enabled gate skills exist 5. **Build command** — configured build command exists on PATH 6. **Test command** — configured test command exists on PATH 7. **Format/lint** — configured format or lint commands exist on PATH 8. **Hooks** — hook manifest parses and referenced hook files exist 9. **Backlog config** — configured backlog target is usable 10. **ast-grep** — INFO availability only 11. **OpenGrep** — INFO availability only 12. **LSP** — PASS/WARN/INFO based on available platform or standalone LSP 13. **STATE_DRIFT** — enumerate repo-wide workflows and flag shipped units with `status=shipped` and `prNumber=null`
Within the State pass, check all of the following and report them by name:
runtime roots (`repoStateRoot` and `worktreeStateRoot`) for the current checkout
`workflow.json`
worktree
state files are still being treated as writable sources
should exist
instead of implying generic takeover
State-pass output must report the authoritative runtime roots clearly so the user can see which `repoStateRoot` and `worktreeStateRoot` are in force.
Within the Config pass, check all of the following and report them by name:
`project-visible` runtime roots are the recommended default for that setup
session state, or symlinked `.git` mirrors instead of an explicit tracked artifact path
artifacts or `.git`-mirrored paths instead of a dedicated project-visible runtime root
Reject project-visible roots that overlap tracked project artifacts or `.git`-mirrored paths, and name `config.git.runtime.projectVisibleRoot` in the result.
CONFIG_MISMATCH findings must name the offending config key and print the corrective action.
STATE_DRIFT findings must print the inline remediation command `sw-status --repair {unitId}` and include the owning work ID.
**STATE_DRIFT backfill (MEDIUM freedom):**
`status=shipped` and `prNumber=null`.
workflows.
then warn and leave the fields untouched.
workflow file.
**Output format (MEDIUM freedom):**
can distinguish repo-wide issues.
**Workflow mutation scope (LOW freedom):**
migration surface: tracked docs/config under `{projectArtifactsRoot}`, split per-work workflows under `{repoStateRoot}
Craft quality software with AI discipline. Spec-driven development plugin for Claude Code and Opencode — quality gates, adversarial testing, and evidence capture.
Repo: Obsidian-Owl/specwright
Runs configured build and test commands in tiered order. Captures output as evidence per tier. Returns PASS, FAIL, WARN, or SKIP based on per-tier verdicts.…
Detects leaked secrets, injection patterns, and sensitive data exposure across changed files. Uses real tooling when configured, LLM judgment for analysis.…
Tiered semantic analysis of changed code (rg → ast-grep → OpenGrep). Detects error-path bugs structural gates miss. Findings default to WARN. Internal —…
Maps every acceptance criterion from the spec to implementation evidence and test evidence. Criteria without evidence fail. The ultimate quality gate. Internal…
Audits test quality — assertion strength, boundary coverage, mock discipline, error path testing. Delegates to the tester agent for adversarial analysis.…
Detects unused exports, orphaned files, architecture layer violations, and circular dependencies across changed files. Delegates to architect agent for…