radin-doctor
Check that radin's own install under ~/.claude is complete and its companion tools are reachable. Use for /radin-doctor, "check my radin install", "is radin…
Run a thermo-nuclear code quality review over a scope (commit, PR, directory, or a range like "since yesterday"), triage the findings with the user, and log the ones they keep as backlog entries instead of printing to terminal. Use for /radin-review, "review and log to backlog",
$ npx -y skills add shortcuts/radin --skill radin-review --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/radin-reviewContext preview
The summary Claude sees to decide when to auto-load this skill.
Run a thermo-nuclear code quality review over a scope (commit, PR, directory, or a range like "since yesterday"), triage the findings with the user, and log the ones they keep as backlog entries instead of printing to terminal. Use for /radin-review, "review and log to backlog",
name: radin-review description: | Run a thermo-nuclear code quality review over a scope (commit, PR, directory, or a range like "since yesterday"), triage the findings with the user, and log the ones they keep as backlog entries instead of printing to terminal. Use for /radin-review, "review and log to backlog", "audit this commit/PR/directory and file backlog entries".
Run the strict review passes against a caller-specified scope and persist every finding the user agrees to as a backlog entry instead of terminal output. That leaves a durable backlog `radin-execute` (or a human) works through later.
Resolve the argument (or its absence) via the shared CLI. Don't probe git/gh by hand:
RADIN_CLI scope [<arg>]
Route on exit code:
printed command to get the scope's content.
and `<rev>..<rev>` resolve as `type range`, so exit 1 means the argument names no revision the CLI can verify. A date phrase is the one case worth a second try: turn it into a revision with `git log --since="<phrase>" --format=%H | tail -1` (not `log -1 ... --reverse`: `-1` applies before `--reverse`, so it returns the newest commit in the window, not the oldest) and re-run `RADIN_CLI scope "<that hash>~1..HEAD"`, so the diff command still comes from the CLI. Anything else: report it as unresolvable and stop.
directory). Interactive: ask which one. Non-interactive: report both readings and stop.
State the resolved scope in one line before proceeding, e.g. `Scope: commit a1b2c3d` or `Scope: directory src/auth/`. Keep the `passes` line; Step 2 invokes exactly the skills it names.
The resolved scope is the whole review surface, and every finding cites one in-scope line.
changes. Code the diff left alone is out of scope, even in a file it touches, even when it is worse than what the diff added. Read surrounding code for context, never to find findings.
makes it wrong, and that changed line is the finding's citation.
So there is one test, not two: no in-scope line to cite, no finding — however real the problem is.
Where the working tree **is** the scope — a `dir` or `branch-diff` type — start with `codebase-memory-mcp`'s `detect_changes` (git diff mapped to affected symbols, with blast radius and risk classification), then `trace_path` on the symbols it flags and `get_code_snippet` to read them: risk-scored impact beats reading a raw diff cold — a graph hit is a pointer: read the file before you cite or edit it, and never conclude something is absent from an empty result. For a `commit`, `pr` or `range` scope `detect_changes` reads the wrong tree, so run Step 1's `command` and read the files it names instead; never check a commit out to satisfy a tool.
Invoke `/thermo-nuclear` against the scope.
Wrap the scope-content commands (`git show`, `git diff`, a test run) in `rtk` when `command -v rtk` succeeds: a raw diff is the largest thing this skill reads.
Then invoke every skill on Step 1's `passes` line against the same scope. Their findings go through Step 3's filter like every other. They hunt a different axis from thermo-nuclear: over-engineering, dead flexibility, reinvented stdlib/native code. A directory scope adds the debt pass, which harvests the `ponytail:` shortcut comments already in that code so the deferrals become triageable findings.
Name the exact scope in each invocation and restate the scope discipline above. It narrows what both rubrics look at, never how hard they look.
Nothing reaches the backlog until the user agrees to it. First drop the out-of-scope findings:
printf '%s\n' "<path:line per finding, one per line>" | RADIN_CLI scope --in-scope [<the same scope arg as Step 1>]
Keep the findings on the `in` lines, drop the `out` ones, and carry the `dropped` count into Step 6's report. Cite one line per finding; for a range, cite its first line.
Then classify each survivor. This is a rule, not a judgment:
without a behavior change, and every ponytail finding (`delete:`/`stdlib:`/`native:`/`yagni:`/`shrink:`).
Print the numbered list — one line each: number, category, location, the finding in a clause. Mark the ones you recommend tackling. Recommend on severity and effort, not on count; recommending all of them is a valid answer when they all earn it.
Then gate on `AskUserQuestion` (single select):
1. **Recommended only** — log the ones you marked. 2. **All** — log every in-scope finding.
The tool's own free-text field already covers a hand-picked subset, so don't add a third option for it. A free-text answer names the numbers you printed; read it as that subset and nothing more, and restate the subset in one line before continuing.
**Non-interactive caller**: skip this gate and Step 4, log every in-scope finding, and say in Step 6's report that no triage happened.
Non-interactive: skipped (Step 3).
Ask one yes/no on `AskUserQuestion`: refine the selected findings before logging?
**No**: go to Step 5 with the entries as reviewed.
**Yes**: invoke `/mattpocock-skills:grilling` over the selected findings, one finding at a time, in order. Name the finding and what is open about it (scope too wide, remedy wrong, priority off, a constraint the review cannot see). Fold each settled answer
Check that radin's own install under ~/.claude is complete and its companion tools are reachable. Use for /radin-doctor, "check my radin install", "is radin…
Work through a project's whole backlog: prioritize every task, execute each via a sub-agent, commit after each. Use when the user wants the entire backlog…
Write a step-by-step implementation plan for one backlog entry, without touching code. Scope is one task (a title/keyword), not the whole backlog. Use for…
Log feedback, bugs, follow-ups, or ideas raised mid-session as structured backlog entries, so they survive past the conversation. Use for /radin-record, "log…
Wire codebase-memory-mcp into this repo when install.sh could not do it globally. Use for "set up hooks", "wire up codebase-memory-mcp", "enable the knowledge…
Print the current project's backlog to the terminal. Use for /radin-show, "show me the backlog", "what's in the backlog", "list backlog items", "print the…