From rune
Plan-vs-implementation deep audit using Agent Teams. Parses a plan file (or inline description), extracts requirements, and summons 4 Inspector Ashes to measure implementation completeness, quality across 11 dimensions, and gaps across 9 categories. Produces a VERDICT.md with requirement matrix, dimension scores, gap analysis, and actionable recommendations. <example> user: "/rune:inspect plans/feat-user-auth-plan.md" assistant: "The Tarnished gazes upon the land, measuring what has been forged against what was decreed..." </example> <example> user: "/rune:inspect Add user authentication with JWT tokens and rate limiting" assistant: "The Tarnished inspects the codebase against the inline plan..." </example>
npx claudepluginhub vinhnxv/rune --plugin runeThis skill is limited to using the following tools:
Orchestrate a multi-agent inspection that measures implementation completeness and quality against a plan. Each Inspector Ash gets its own dedicated context window via Agent Teams.
Launches parallel agents for iterative review of plans or code across 4 escalating rounds: broad, multisample, focused, focused+multisample. Targets issues in plans >500 lines or with >3 components.
Performs adversarial audits of code subsystems or non-code artifacts (designs, plans, concepts) using parallel analytical lenses tailored to artifact type. Synthesizes findings and offers issue tracker filing.
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.
Orchestrate a multi-agent inspection that measures implementation completeness and quality against a plan. Each Inspector Ash gets its own dedicated context window via Agent Teams.
Load skills: roundtable-circle, context-weaving, rune-echoes, rune-orchestration, team-sdk, polling-guard, zsh-compat, goldmask, codex-cli
| Flag | Description | Default |
|---|---|---|
--focus <dimension> | Focus on a specific dimension: correctness, completeness, security, failure-modes, performance, design, observability, tests, maintainability, design-fidelity, data-flow | All dimensions |
--max-agents <N> | Limit total Inspector Ashes (1-4) | 4 |
--dry-run | Show scope, requirements, and inspector assignments without summoning agents | Off |
--threshold <N> | Override completion threshold for READY verdict (0-100) | 80 |
--fix | After VERDICT, spawn gap-fixer to auto-fix FIXABLE findings | Off |
--max-fixes <N> | Cap on fixable gaps per run | 20 |
--mode <mode> | Inspection mode: implementation (default) or plan | implementation |
--no-lore | Disable Phase 1.3 Lore Layer (git history risk scoring) | Off |
Dry-run mode executes Phase 0 + Phase 0.5 + Phase 1 only. Displays: extracted requirements with IDs and priorities, inspector assignments, relevant codebase files, estimated team size. No teams, tasks, state files, or agents are created.
| Inspector | Dimensions | Priority |
|---|---|---|
grace-warden | Correctness, Completeness | 1st |
ruin-prophet | Security, Failure Modes | 2nd |
sight-oracle | Performance, Design | 3rd |
vigil-keeper | Observability, Tests, Maintainability | 4th |
For full prompt templates, focus mode, --max-agents redistribution, and --fix gap-fixer protocol — see inspector-prompts.md.
Parses input (file path or inline description), validates with SEC-003 path guard, reads talisman config with runtime clamping (RUIN-001), and generates a base-36 identifier.
See phase-0-preflight.md for the full pseudocode (Steps 0.1–0.3).
Extracts requirements from plan using plan-parser.md algorithm, assigns to inspectors via keyword classification, applies --focus and --max-agents redistribution.
See phase-0-preflight.md for Steps 0.5.1–0.5.4. See inspector-prompts.md for assignment logic.
Identifies relevant codebase files by type (file → Glob, code → Grep, config → Grep with glob filter), deduplicates, caps at 120 files. In --dry-run, displays scope + assignments and stops.
See phase-1-scope.md for the full scope resolution code and dry-run output.
Runs AFTER scope (Phase 1), BEFORE team creation (Phase 2). Discovers existing risk-map or spawns lore-analyst. Re-sorts scopeFiles by risk tier and enriches requirement classification.
See phase-1-scope.md for skip conditions, discovery steps, and the dual-inspector gate. See lore-layer-integration.md for the shared protocol and risk-tier-sorting.md for sorting.
Cross-model comparison of plan intent vs code semantics before inspector team creation. Flags semantic drift where code implements something different from what the plan specified. Default OFF (greenfield). Non-blocking — drift report is additional context, not a gate.
Output: tmp/inspect/{identifier}/drift-report.md
See codex-drift-detection.md for the full protocol — detection infrastructure, prompt generation, and drift report injection into Phase 3 inspector prompts.
Inspector agents can be discovered via MCP search, enabling user-defined inspectors:
# Phase 2: Inspector Selection
inspectors = []
if mcp_available:
# Discover phase-appropriate inspectors
candidates = agent_search({
query: "inspect plan requirements completeness correctness",
phase: "inspect",
limit: 8
})
inspectors = candidates.filter(c => c.categories.includes("inspection") or c.categories.includes("investigation"))
# Write signal
Bash("mkdir -p tmp/.rune-signals && touch tmp/.rune-signals/.agent-search-called")
if not inspectors or len(inspectors) < 4:
# Fallback: use hardcoded inspector list
inspectors = [
{ name: "grace-warden-inspect", mode: "inspect" },
{ name: "ruin-prophet-inspect", mode: "inspect" },
{ name: "sight-oracle-inspect", mode: "inspect" },
{ name: "vigil-keeper-inspect", mode: "inspect" }
]
# For plan-review mode, swap "-inspect" variants with "-plan-review":
if mode == "plan-review":
inspectors = inspectors.map(i => {
name: i.name.replace("-inspect", "-plan-review"),
mode: "plan-review"
})
This allows users to register custom inspectors (e.g., "compliance-inspector" for regulatory projects) that participate alongside the 4 built-in inspectors.
Writes state file (with session isolation: config_dir, owner_pid, session_id), creates output directory + inscription.json, acquires workflow lock (reader), runs pre-create guard (teamTransition), TeamCreate + signal directory, creates tasks per inspector + aggregator.
See phase-2-forge-team.md for the full pseudocode (Steps 2.1–2.6).
Read and execute inspector-prompts.md for the full prompt generation contract, mode-aware template selection, inline plan sanitization, and --focus single-inspector logic.
Key rules:
run_in_background: true)scopeFiles — they filter by relevance internallymodel: resolveModelForAgent(inspector, talisman) for each inspector (cost tier mapping)agents/investigation/{inspector}-inspect.md (or {inspector}-plan-review.md for --mode plan)If riskMap is available from Phase 1.3, inject risk context (file tiers, wisdom advisories, inspector-specific guidance) into each inspector's prompt. Only inject when non-empty. See risk-context-injection.md for the full injection protocol and risk-context-template.md for rendering rules.
Poll TaskList every 30s with stale detection (3 consecutive no-progress → break with warning). See monitor-utility.md for the shared polling utility.
Read and execute verdict-synthesis.md for the full Verdict Binder aggregation, score aggregation, evidence verification, gap classification, and VERDICT.md structure.
Summary:
If riskMap is available from Phase 1.3, the Verdict Binder appends a Historical Risk Assessment section (file risk distribution, bus factor warnings, inspection coverage vs risk) to VERDICT.md. Optional — omitted on null/parse error. See verdict-synthesis.md "Historical Risk Assessment" section.
| Dimension | Inspector | Description |
|---|---|---|
| Correctness | grace-warden | Logic implements requirements correctly |
| Completeness | grace-warden | All requirements implemented, no gaps |
| Security | ruin-prophet | Vulnerabilities, auth, input validation |
| Failure Modes | ruin-prophet | Error handling, retries, circuit breakers |
| Performance | sight-oracle | Bottlenecks, N+1 queries, memory leaks |
| Design | sight-oracle | Architecture, coupling, SOLID principles |
| Observability | vigil-keeper | Logging, metrics, tracing |
| Tests | vigil-keeper | Unit/integration coverage, test quality |
| Maintainability | vigil-keeper | Documentation, naming, complexity |
| Design Fidelity | grace-warden | Design spec compliance — COMPLETE/PARTIAL/MISSING/DEVIATED (conditional: design_sync.enabled + design refs) |
| Data Flow Integrity | grace-warden | Field persistence verification — UI↔API↔DB data flow tracing (conditional: data_flow.enabled + data models in plan) |
| Category | Description |
|---|---|
| MISSING | Requirement not implemented at all |
| INCOMPLETE | Partially implemented — edge cases missing |
| INCORRECT | Implemented but wrong — logic error |
| INSECURE | Security vulnerability or missing control |
| FRAGILE | Works but likely to break — missing error handling |
| UNOBSERVABLE | No logging/metrics/tracing |
| UNTESTED | No tests or insufficient coverage |
| UNMAINTAINABLE | Hard to change — excessive coupling, magic values |
| UNWIRED | Integration point not connected — file not modified, pattern not registered (WIRE- prefix, NOT auto-fixable) |
See verdict-synthesis.md for full cleanup protocol.
Summary:
SendMessage shutdown_request)TeamDelete with filesystem fallback (CHOME pattern)config_dir, owner_pid, session_id, verdict, completion)Bash(\cd "${CWD}" && source plugins/rune/scripts/lib/workflow-lock.sh && rune_release_lock "inspect"`)`--fix: run Phase 7.5 remediation (gap-fixer team, 2-min timeout, append results to VERDICT.md)AskUserQuestion with options (View VERDICT, Fix gaps /rune:strive, /rune:appraise, Done)| Error | Recovery |
|---|---|
| Plan file not found | Error with file path suggestion |
| No requirements extracted | Error with plan format guidance |
| Inspector timeout | Proceed with available outputs |
| All inspectors failed | Error — no VERDICT possible |
| TeamCreate fails | Retry with pre-create guard |
| TeamDelete fails | Filesystem fallback (CHOME pattern) |
| VERDICT.md not created | Manual aggregation from inspector outputs |
| Lore-analyst timeout (Phase 1.3) | Proceed without risk data (WARN) |
| risk-map.json parse error (Phase 1.3) | Proceed without risk data (WARN) |
| Wisdom passthrough unavailable (Phase 3) | Skip wisdom injection (INFO) |
| Risk section render error (Phase 5-6) | Omit Historical Risk section from VERDICT (WARN) |
/^[a-zA-Z0-9._\/-]+$/ before shell interpolation/^[a-zA-Z0-9_-]+$/ before rm -rf