Skip to content
Development
Skill

/radin-review

Use for /radin-review, "review and log to backlog". Reviews a commit, PR, directory or range for the simplest native solution, maintainability and documented repo rubrics, then triages findings with the user.

From plugin
radin
78 skills

Claude Code

$ npx -y skills add shortcuts/radin --skill radin-review --agent claude-code

SKILL.md

radin-review.SKILL.md
name: radin-review
description: |
  Use for /radin-review, "review and log to backlog". Reviews a commit, PR,
  directory or range for the simplest native solution, maintainability and
  documented repo rubrics, then triages findings with the user.
argument-hint: "[commit | PR number | path | A..B | staged | since <date>]"

Review

Review a scope, then triage the findings with the user: each kept group goes to the backlog or gets tackled now. An agent caller reads `RADIN_LIB/radin-review-core.md` and follows it instead of this skill. Both read `RADIN_LIB/radin-explore-rule.md` before they explore.

Step 1: Resolve the scope

Pass `<arg>` as one literal form the CLI accepts: a hash, PR number, path, `A..B`, `last commit`, `last N commits`, `staged` or `since <date>`. Map the user's words to it yourself: "the current branch changes" is `<default-branch>..HEAD`. When two maps fit, ask which.

RADIN_CLI scope [<arg>]

It prints `type`/`scope`/`command`/`passes` lines, and Step 3 hands the reviewer exactly the skills the `passes` line names. Route on its exit code:

  • **1**: not a commit, PR, directory, range, or `since <date>`. Report it and

stop.

  • **2**: ambiguous, candidates on stderr (e.g. both a PR number and a

directory). Ask which one.

State the resolved scope in one line, `Scope: commit a1b2c3d` or `Scope: directory src/auth/`, then capture both inputs the review needs, here and once:

  • **The diff command.** The `command` line is the scope's one diff command.

Record it verbatim and paste that same string into every later Bash call and the brief.

  • **The commit list.** `RADIN_CLI scope --commits [<the same scope arg>]`

prints one `<hash> <subject>` line per commit. A `dir` scope prints nothing: it has no commit list, and the brief says so.

Run the `command` before the review starts. No output (for a `dir` scope, no file under the path) means report "nothing to review in `<scope>`" and stop.

Step 2: Resolve the spec

Work these rungs in order and stop at the first that yields a spec:

1. **The invoking prompt named one**: a backlog id, a title, or a path. For an id or title, `RADIN_CLI backlog field "<it>" TASK_FILE` and `RADIN_CLI backlog field "<it>" PLAN_PATHS` (exit 1 means no plan; the task file alone is then the spec). For a path, that file is the spec. 2. **The backlog holds it.**

   RADIN_CLI scope --specs [<the same scope arg as Step 1>]

It prints one `id`, `created`, `branch`, `commit`, `source`, `role`, `plan`, `facts` line per candidate, oldest first. `source` says how the entry joined: `commit` (the task's commit is in scope), `reflog` (a squash or rebase rewrote that commit, and the review branch's reflog still lists it), `patch` (a cherry-pick copied the commit under a new hash; the diffs, the author time and subject, or the subject alone, match) or `pending` (an open entry recorded on the review branch).

  • **Exit 4**: a recorded commit no longer exists and HEAD sits on no branch.

Report the stderr line and stop the review.

  • **No output**: fall to rung 3.
  • **Lines**: take every line without asking.

`plan` names the plan file(s), comma-separated. `facts` names the facts file. Add each path to the entry; `none` means absent. A `pending` id's task file resolves as in rung 1.

`role` is `follow-up` or `feature`. Follow-ups are **decisions**; features are the **spec**.

When every entry is a follow-up, there is no spec, only decisions, and Step 6 reports `no spec available`. <!-- host:claude --> 3. **Ask.** One `AskUserQuestion` offering the top entries from <!-- /host --> <!-- host:agents --> 3. **Ask.** One ask offering the top 3 entries from <!-- /host --> `RADIN_CLI backlog list` as options, with the free-text field carrying a path. "There isn't one" falls to rung 4. 4. **Skip.** No spec: say so once here, and report `no spec available` in Step 6.

Step 3: Run the review

When the invoking prompt hands over a core review's findings for this scope, skip the dispatch and relay those.

<!-- host:claude --> Dispatch one sub-agent (`name: "radin-review"`) with a self-contained brief: <!-- /host --> <!-- host:agents --> Dispatch one sub-agent named `radin-review` with a self-contained brief: <!-- /host -->

  • `Read RADIN_LIB/radin-review-core.md and follow it at level session` (level

`diff` for a `staged` scope).

  • The resolved scope line, Step 1's `command` string and commit list,

verbatim.

  • The spec and the decisions as absolute paths with "read it in full before

reviewing". Label the decisions: "these entries fixed earlier findings on purpose; the scope's behaviour they describe is settled, so raise it again only when a changed line contradicts the decision."

  • The skills Step 1's `passes` line names, as extra passes to invoke after

the core's two.

  • A report path, `<repo root>/.radin/reviews/<UTC YYYYMMDDTHHMMSS>-<scope slug>.md`,

as "write the report there".

<!-- host:claude --> Read the file the `REPORT:` line names, whole and in the order written. A missing or empty file: `SendMessage` the sub-agent once for it, then report the review as inconclusive. Step 4 carries the report to the user. <!-- /host --> <!-- host:agents --> Read the file the `REPORT:` line names, whole and in the order written. A missing or empty file: message the sub-agent once for it with the host's agent-message tool, then report the review as inconclusive. Step 4 carries the report to the user. <!-- /host -->

Step 4: Filter, classify, triage

Nothing is logged or acted on until the user agrees to it. The citations go through one filter, which drops 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. A finding about missing b

Read more
@shortcuts
Ships withradin

🐀 agentic software factory for those who have to save tokens

Stars on GitHub

Momentum

stars in total
7
Star history of shortcuts/radin on GitHub, a chart by star-history.com

Other skills on radin.

radin-batch

radin-batch

Use for "work through my backlog", or name an epic or task to run only those. Works tasks via sub-agents in priority order, one…

@shortcuts@shortcutsInstall Skill
radin-do

radin-do

Use for /radin-do <prompt>. Records one ad-hoc prompt as a backlog entry, then executes just that task.

@shortcuts@shortcutsInstall Skill
radin-plan

radin-plan

Use for /radin-plan, "plan this backlog entry", "write a plan for X before we execute it". Writes an implementation plan for one…

@shortcuts@shortcutsInstall Skill
radin-record

radin-record

Use for /radin-record or any ask to save something for later, even a vague one ("add the findings"): scan the whole session. Logs…

@shortcuts@shortcutsInstall Skill
radin-stats

radin-stats

Use for /radin-stats. Shows the stats or gain output of every companion tool that ships one, side by side.

@shortcuts@shortcutsInstall Skill
radin-teardown

radin-teardown

Use for /radin-teardown while /radin-batch or /radin-do runs. Stops the run from starting new tasks; the task in flight, the gate…

@shortcuts@shortcutsInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about radin-review.

Which coding agents can use radin-review?
radin-review installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.