Radar Suite — Unified Entry Point
Single command to run any radar skill or the full audit sequence.
Quick Commands
Tier Selection (see radar-suite-core.md Tier System for full spec)
| Command | Tier | Description |
|---|---|---|
/radar-suite | 1 | Interactive menu (default: single skill) |
/radar-suite [skill] | 1 | Run specific skill (data-model, time-bomb, roundtrip, ui-path, ui-enhancer, capstone) |
/radar-suite --skills dmr,tbr | 2 | Targeted: run 2-3 skills with cross-skill handoffs |
/radar-suite --changed | 2 | Targeted: auto-select skills from git diff |
/radar-suite --changed --since YYYY-MM-DD | 2 | Targeted: auto-select from changes since date |
/radar-suite --scope [path] | 2 | Targeted: restrict audit to a directory subtree |
/radar-suite --full | 3 | Full pipeline: all 6 skills + capstone + UX enhancements |
/radar-suite full | 3 | Alias for --full (backward compatible) |
State Flags (combine with any command above)
| Flag | Description |
|---|---|
--fresh | Archive prior ledger.yaml and known-intentional.yaml before this run; treat the codebase as never-before-audited. See "Fresh Scan Check" section. |
--no-fresh | Skip the fresh-scan prompt; always continue with existing state. Useful for scripted/CI runs. |
Management Commands
| Command | Description |
|---|---|
/radar-suite status | Show audit progress across all skills |
/radar-suite resume | Resume from last checkpoint |
/radar-suite ledger | View unified finding ledger with optional filters |
/radar-suite ledger --open | Show open findings only |
/radar-suite ledger --deferred | Show deferred findings only |
/radar-suite ledger --impact crash | Filter by impact category (crash, data-loss, ux-broken, ux-degraded, polish, hygiene) |
/radar-suite ledger --skill [name] | Filter by source skill |
/radar-suite deferred | Generate DEFERRED.md from ledger |
/radar-suite verify | Re-verify all fixed findings |
/radar-suite verify RS-NNN | Re-verify a single finding |
/radar-suite verify --changed | Re-verify only findings in changed files |
/radar-suite link RS-NNN --root-cause-of RS-NNN [RS-NNN...] | Link findings as root cause/symptom |
/radar-suite link RS-NNN --duplicate-of RS-NNN | Mark finding as duplicate |
/radar-suite link RS-NNN --supersedes RS-NNN | Mark finding as superseding another |
/radar-suite bug-echo RS-NNN | Manually trigger the Bug-Echo Handoff prompt for a finding (bypasses Open→Fixed gate). See Bug-Echo Handoff in radar-suite-core.md. |
Available Skills
| Skill | Purpose | Est. Time |
|---|---|---|
| data-model-radar | Audit @Model layer for completeness, serialization, relationships | ~30-60 min |
| time-bomb-radar | Find deferred operations that crash on aged data | ~15-25 min |
| roundtrip-radar | Trace user workflows end-to-end for data safety | ~20-40 min |
| ui-path-radar | Find dead ends, broken promises, navigation issues | ~15-30 min |
| ui-enhancer-radar | Visual UI audit with design intent interview | ~20-45 min |
| capstone-radar | Aggregate grades, ship/no-ship decision | ~15-30 min |
Count vocabulary used throughout this spec
To prevent ambiguity, this document uses three distinct counts:
| Term | Meaning | Skills included |
|---|---|---|
| 5 companions | The audit skills that capstone consumes | data-model + time-bomb + roundtrip + ui-path + ui-enhancer |
| 6 skills / the family | All audit + aggregation skills | 5 companions + capstone |
2-5 skills (used in --skills validation) | Subset accepted by Tier 2 routing | Any 2-5 of the 5 companions (capstone excluded — runs after) |
Throughout the rest of this spec, references to "5 companions" or "5 skills" mean companion-only (audit skills before capstone aggregates them). References to "6 skills" mean the complete family. References to "5-skill" (without "companion") elsewhere in this document are historical drift and should read "6-skill" — see capstone-radar's matching framing.
Session Setup (MANDATORY -- runs before anything else)
On EVERY /radar-suite invocation, check .radar-suite/session-prefs.yaml:
If file exists AND has experience_level set: Show stored preferences and ask [Enter to continue] or type "change" to adjust settings. Then proceed to Stale-Deferred Check, then Interactive Menu.
If file does not exist OR experience_level is missing: Run full setup below before presenting the menu, fix timing, or any audit work. Do NOT skip this. Do NOT jump to exploration.
Setup Questions (single AskUserQuestion, 4 questions)
Q1 — Experience level?
- Experienced (Recommended) -- Concise, no definitions
- Senior/Expert -- Terse, file:line only
- Intermediate -- Standard terms, explain non-obvious
- Beginner -- Plain language, define terms
Q2 — Table format?
- Full tables (Recommended) -- 9-column Issue Rating Tables at every decision point
- Compact tables -- 3-column with details below
- No tables -- Skip rating tables entirely (findings listed as text)
Q3 — Fix handling?
- Auto-fix safe items (Recommended) -- Apply isolated, low-blast-radius fixes automatically
- Review first -- Present all findings, approve each wave
- Batch mode -- Approve all fixes in each wave at once
Q4 — Explain what this skill does?
- No, let's go (Recommended) -- Skip explanation
- Yes, briefly -- 3-5 sentence explanation
Store answers in .radar-suite/session-prefs.yaml as experience_level, table_format, fix_mode (3 of the 4 questions — Q4's explain toggle is a one-time per-session choice and is NOT persisted). The fix_timing key is added later by the Fix Timing section below (after the Interactive Menu); see § Fix Timing for its values. See radar-suite-core.md for experience-level output rules.
session-prefs.yaml schema (consolidated reference)
The full set of keys radar-suite writes to .radar-suite/session-prefs.yaml:
| Key | Source | Values |
|---|---|---|
experience_level | Q1 above | beginner / intermediate / experienced / senior |
table_format | Q2 above | full / compact / none |
fix_mode | Q3 above | auto / review / batch |
fix_timing | § Fix Timing below | recommended / all_per_skill / all_after_capstone |
tier | Menu routing / --full / --skills | 1 / 2 / 3 |
tier_skills | --skills invocation | Array of abbreviations (only when tier: 2) |
dippy_check | radar-suite-core.md § Environment Pre-flight | Object with path_has_spaces, dippy_installed, checked_on |
last_skill / last_session | Updated on session end | Skill name / ISO 8601 timestamp |
accepted_risks | User opt-in per finding | Array of RS-NNN IDs |
Execution Order
The invocation flow is strictly:
- Session Setup (this section) -- configure or confirm preferences
- Write Execution Rules Memory -- write/update the auto-generated memory (see below)
- Fresh Scan Check -- offer to archive prior state and start clean
- Stale-Deferred Check -- check for overdue findings
- Fix Timing -- ask when fixes should be applied (fresh audits only)
- Interactive Menu -- choose what to audit
- Skill execution -- run the selected skill(s)
Never skip steps 1-5. Never start exploration or scanning before completing them.
Write Execution Rules Memory (MANDATORY -- after session setup)
After session setup completes (step 1), write or update a memory file that captures the cross-cutting rules most commonly violated during long sessions. This memory survives context compression and is re-loaded from disk on every session.
File: Write to the project's auto-memory directory (the same location used by the auto memory system). The file name is `ra