From smith
Orchestrates comprehensive audits on SpecKit systems or all systems, prompting for selection if needed, running sub-audits, logging events, and generating unified reports.
npx claudepluginhub attckdigital/smithThis skill uses the workspace's default tool permissions.
Run a full-spectrum audit on a specific system or across all systems. This command orchestrates all sub-audits and produces a unified report.
Runs 11 parallel audit agents for code quality, bugs, security, docs, infra, UI/UX, DB, perf, deps, SEO, API; consolidates into prioritized fixes via fix-planner. Use before releases or weekly health checks.
Coordinates parallel agent audits for codebase health, evaluation (12-pillar scoring), technical debt, and documentation drift, producing intake docs for /pipeline.
Runs comprehensive codebase audits with mechanical verification (build, lint, tests, secrets scan, git status) and specialist reviewers, producing scored reports across 7+ axes. Quick modes skip reviewers.
Share bugs, ideas, or general feedback.
Run a full-spectrum audit on a specific system or across all systems. This command orchestrates all sub-audits and produces a unified report.
Arguments: $ARGUMENTS
Throughout this action, log significant events to the vault session log. Read the session log path from .smith/vault/.current-session. If the file is missing or the vault is not initialized, skip all logging silently.
Append entries using this format:
### [HH:MM:SS] /smith-audit <event>
**User Request:**
> <verbatim user message that triggered this action>
**Synthesized Input:** <brief summary>
**Outcome:** <what happened>
**Findings:** <summary>
**Systems affected:** <system IDs>
Log at these points:
$ARGUMENTS contains --all:specs/audits/<date>-full-spectrum.md$ARGUMENTS contains a system identifier (e.g., system-15, command-center, 014):$ARGUMENTS is empty:ls -d specs/system-*/spec.md specs/[0-9]*/spec.md 2>/dev/null
Which system would you like to audit?
1. system-00-config-isolation
2. system-01-core-infrastructure
3. system-03-email-archive-contact-graph
...
15. system-15-command-center
Or type --all for a full-spectrum audit across all systems.
Each system audit needs to know which code directories and files belong to it. Determine this by:
spec.md — look for file paths, service names, directory referencessystem-00-config-isolation → docker-compose.yml, .env, scripts/system-01-core-infrastructure → docker-compose.yml, scripts/, infrastructure configssystem-02-ai-models-layer → Ollama configs, model filessystem-03-email-archive-contact-graph → services/email-pipeline/, Qdrant collections, Neo4j schemassystem-04-personal-voice → services/voice-training/system-05-communication-triage → services/communication-triage/, services/command-center/routes/triage.jssystem-06-communication-learning-loop → N8N workflows, training pipelinesystem-09-meeting-intelligence → meeting-related servicessystem-10-social-listening → social signal servicessystem-13-trend-intelligence → trend analysis servicessystem-15-command-center → services/command-center/ (full frontend + Express backend)Every sub-audit MUST also review these documentation sources for the target system:
docs/sessions/*.md — filter for sessions tagged with the system name/number. Check if decisions made in sessions are reflected in the current code.specs/system-XX-*/questions.md — check for unanswered questions (blank **Answer:** fields). Flag as unresolved decisions.specs/questions/*.md — check for questions related to the target system. Verify answered questions were implemented.specs/[0-9]*-*/spec.md — check for feature specs that reference the target system. Verify those features are implemented.If .smith/vault/ledger/ exists and contains non-empty files, load relevant Ledger sections to inform this audit. If the directory is missing, empty, or unreadable, skip silently — the Ledger is purely additive and never required.
ls .smith/vault/ledger/*.md 2>/dev/null.smith/vault/ledger/patterns.md (audit-category entries).smith/vault/ledger/antipatterns.mdcontext_budget_violations in .smith/vault/ledger/.meta.json by 1. If .meta.json does not exist, create it from the default template first. This signal tells the reconciliation system that the Ledger is too large for the configured budget.For the selected system(s), launch sub-audits as subagents. Each sub-audit can run in parallel since they examine different aspects:
smith-audit requirements) — spec ↔ code ↔ UI alignmentsmith-audit codequality) — style, structure, complexity, duplicationsmith-audit performance) — API efficiency, query optimization, renderingsmith-audit security) — OWASP top 10, secrets, auth, dependenciessmith-audit accessibility) — WCAG, keyboard nav, screen readerssmith-audit ux) — Playwright-driven UI testing, latency, responsivenesssmith-audit dependencies) — outdated packages, CVEs, unused depssmith-audit infrastructure) — Docker, health, configs, monitoringsmith-audit workflow) — open PRs, unmerged branches, incomplete tasks, stale worksmith-audit seo) — Playwright-driven technical SEO audit via sitemap crawling (meta tags, headings, schema, performance, crawlability)smith-audit feature) — End-to-end deep audit of a single feature: data flow tracing, concurrency/race condition analysis, data integrity spot-checks, error handling gaps, and real-world output validation. Includes user interview phase.After all sub-audits complete, generate a unified report at:
specs/system-XX-<name>/audits/<YYYY-MM-DD>-full.md
Structure:
# Audit Report: [System Name]
**Date**: YYYY-MM-DD
**System**: [system identifier]
**Auditor**: Claude Code (automated)
## Executive Summary
| Category | Critical | Warning | Info | Score |
|----------|----------|---------|------|-------|
| Requirements | 0 | 2 | 5 | 85/100 |
| Code Quality | 1 | 3 | 8 | 72/100 |
| Performance | 0 | 1 | 3 | 90/100 |
| Security | 0 | 0 | 2 | 95/100 |
| Accessibility | 2 | 4 | 1 | 60/100 |
| UX | 0 | 1 | 2 | 88/100 |
| Dependencies | 0 | 5 | 3 | 78/100 |
| Infrastructure | 0 | 0 | 1 | 98/100 |
| Workflow | 0 | 3 | 5 | 80/100 |
| SEO | 0 | 4 | 6 | 82/100 |
| **Overall** | **3** | **23** | **36** | **80/100** |
## Unresolved Questions
[List any questions.md entries with blank Answer fields for this system]
## Critical Issues (Must Fix)
[Ranked by severity]
## Warnings (Should Fix)
[Ranked by impact]
## Informational (Nice to Have)
[Lower priority improvements]
## Documentation Gaps
[Specs that don't match code, undocumented features, stale session decisions]
## Detailed Sub-Audit Reports
See individual reports:
- [Requirements](audits/YYYY-MM-DD-requirements.md)
- [Code Quality](audits/YYYY-MM-DD-codequality.md)
- ...
Generate a global summary at:
specs/audits/<YYYY-MM-DD>-full-spectrum.md
With per-system scores and cross-system issues (e.g., inconsistent patterns between services, shared dependency conflicts).
After the markdown report is written, generate a professional PDF version for client delivery.
cp ~/.claude/skills/smith/scripts/audit-pdf-generator.mjs specs/audits/audit-pdf-generator.mjs
cd specs/audits && ls node_modules/puppeteer 2>/dev/null || (npm init -y --quiet 2>/dev/null && npm install puppeteer --save --quiet)
cd specs/audits && node audit-pdf-generator.mjs <YYYY-MM-DD>-full-spectrum.md
The script auto-detects the report type (full-spectrum, SEO, or sub-audit) from the H1 heading and generates appropriate cover page styling.
The PDF is written alongside the markdown file (e.g., specs/audits/2026-03-30-full-spectrum.pdf). Mention both the .md and .pdf paths in the final output to the user.
audits/ directory inside the system spec folder before writing reportsquestions.md with unanswered questions as a documentation gap