From officialunofficial-skills
Reviews code changes since a fixed point (commit, branch, tag) along two axes: coding standards compliance and spec alignment. Runs parallel sub-agents for independent analysis.
How this skill is triggered — by the user, by Claude, or both
Slash command
/officialunofficial-skills:code-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Review the diff between `HEAD` and a fixed point the user names, along two independent axes:
Review the diff between HEAD and a fixed point the user names, along two independent axes:
Each axis runs in its own parallel sub-agent so neither one contaminates the other's context; this skill then gathers their findings together.
You should already have the issue tracker on hand — run /setup-skills if docs/agents/issue-tracker.md is missing.
The fixed point is whatever the user gave you — a commit SHA, a branch name, a tag, main, HEAD~5, and so on. If they gave you nothing, ask.
Lock in the diff command once: git diff <fixed-point>...HEAD (three-dot, comparing against the merge-base). Grab the commit list too: git log <fixed-point>..HEAD --oneline.
Before you go any further, verify the fixed point resolves (git rev-parse <fixed-point>) and the diff has content. A dead ref or empty diff should blow up right here — not deep inside two parallel sub-agents.
Hunt for the originating spec in this order:
#123, Closes #45, GitLab !67, and so on) — retrieve them via the workflow in docs/agents/issue-tracker.md.docs/, specs/, or .scratch/ whose name matches the branch or feature.Whatever in the repo documents how code ought to be written — CODING_STANDARDS.md, CONTRIBUTING.md, and their kin.
On top of anything the repo documents, the Standards axis always carries the smell baseline below: a fixed set of Fowler code smells (Refactoring, ch. 3) that applies even when a repo documents nothing. Two rules bind it:
Each smell reads what it is → how to fix; check the diff against each:
switch or if-cascade over the same type recurs across the change. → replace it with polymorphism, or one map both sites share.a.b().c().d() walks the caller shouldn't depend on. → hide the walk behind one method on the first object.Send one message carrying two Agent tool calls. Use the general-purpose subagent for each.
Standards sub-agent prompt — include:
Spec sub-agent prompt — include:
If there's no spec, skip the Spec sub-agent and say so in the final report.
Lay out the two reports under ## Standards and ## Spec headings, verbatim or lightly tidied. Do not merge or re-rank the findings — the two axes are deliberately kept apart (see Why two axes).
Close with a one-line summary: total findings per axis, and the worst issue within each axis (if any). Don't crown a single winner across axes — that cross-axis reranking is exactly what the separation exists to prevent.
A change can clear one axis and fail the other:
Reporting the two separately keeps one axis from hiding the other.
npx claudepluginhub officialunofficial/skills --plugin officialunofficial-skillsGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.