team-reviewer
Skill20 starsChanged 15 days agoMITView on GitHub
Review code from the perspective of this team's human reviewers, using the rules learned from their past PR comments — team conventions and review habits, not bug hunting (use /code-review for that). Use when the user runs /team-reviewer, optionally with a PR number or branch — to review a diff before opening a PR, or to ask "what would the team flag here", "review this like my team would", or "is this ready for review".
In this repository21 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- a11y-page-auditSkill
- branch-comment-cleanupSkill
- branch-test-planSkill
- context7-mcpSkill
- env-example-syncSkill
- feature-based-architectureSkill
- great-readmeSkill
- harvest-reviewsSkill
- light-dark-modeSkill
- localizationSkill
- minimal-code-changesSkill
- prod-page-auditSkill
- quantum-design-tokensSkill
- reviewable-commitsSkill
- shell-aliases-socialSkill
- skill-best-practices-syncSkill
- skills-auditSkill
- skills-socialSkill
- stacked-pr-splitterSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 1 is distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 44
Read the PR description or commit messages (git log <base>..HEAD --oneline) for intent.
- Very specific: line 49
Read index.md and false-positives.md in full when they exist.
- Distinctive: line 57
No store yet → review with general judgment and say the result is not team-calibrated.
- Very specific: line 73
Every finding needs a concrete file:line in the new code and a one-line fix.
- Very specific: line 82
Check every Rule: id exists in index.md.
- Very specific: line 118
Rule disagreement: if the user says a rule is wrong, suggest the next /harvest-reviews run, or edit rules.json in the store and rerun node …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Team Reviewer
Review a change the way this team's human reviewers would, applying the rules distilled
from their comments by /harvest-reviews. Report only — never edit the code, never post
to GitHub. The rules live in a per-computer, gitignored store next to this file.
Inputs
Learned rules (top 15)
!sh ${CLAUDE_SKILL_DIR}/scripts/context.sh rules
The rest of the store, in ${CLAUDE_SKILL_DIR}/.review-harvest/:
index.md— every rule, one line each, with evidence countsrules.md— details per rule: why, evidence, before→after hunkfalse-positives.md— things reviewers said not to flagexamples/<category>.md— real cases: reviewer, project, code, comment, fix
Current branch diff
!sh ${CLAUDE_SKILL_DIR}/scripts/context.sh diff
Phase 0 — Scope
- Target, in order: what the user named (PR number →
gh pr diff <n>andgh pr view <n> --json title,body,files; branch →git diff <base>...<branch>; paths → those files), else the branch diff above. Addgit diff HEADwhen the user wants uncommitted work included. - Empty diff → say so and stop.
- Read the PR description or commit messages (
git log <base>..HEAD --oneline) for intent; a finding that contradicts stated intent is worth more than a style nit.
Phase 1 — Load the rules
- Read
index.mdandfalse-positives.mdin full when they exist. The top 15 above are the strongest; the rest still apply.rules.mdis large — look up a rule's section by its id (Grep for`<rule-id>`) only when you need its why or before→after. N×is how many reviewer threads back a rule andNΔhow many led to a code change; weigh single-thread rules lightly. Prefer rules whose Projects include the current repo (gh repo view --json nameWithOwner); treat rules seen only elsewhere as weaker.- Skip rules marked
staleorcontradictedunless the diff matches them exactly — then mention the status. - No store yet → review with general judgment and say the result is not team-calibrated.
Phase 2 — Review
- Walk the diff file by file. For each hunk, check every rule whose category could apply. Open the surrounding code when a rule depends on context the hunk hides (callers, tests next to the file, types).
- Open
examples/<category>.mdwhen unsure whether a rule fires — match on what the reviewers actually objected to, not on surface similarity. - Drop anything listed in
false-positives.md. - Note real problems the rules do not cover as novel; don't stretch a rule to fit.
- Severity:
- Blocking — correctness, security, data loss, or a rule whose evidence shows reviewers held the PR for it
- Should fix — a rule with repeated evidence that usually led to a change
- Nit — style, naming, or a rule that was often waived
- Every finding needs a concrete
file:linein the new code and a one-line fix. No findings without a location, no restating the diff.
Phase 3 — Verify
- Re-open each cited
file:lineand confirm the finding still holds in the new code, not in a removed line or context the diff left untouched. - Drop any finding that matches
false-positives.mdor that the stated intent from Phase 0 already explains. Then recheck the remaining findings. - Check every
Rule:id exists inindex.md; a finding without a matching rule moves to Novel.
Report
## Team review — <target> (<N> files, +<a>/-<d>)
Calibrated on <N> learned rules (store updated <date>) | Not calibrated: no store yet
### Blocking
- `path/file.ts:42` — <what is wrong> → <fix>. _Rule: `<rule-id>`_
### Should fix
- …
### Nit
- …
### Novel (not covered by learned rules)
- `path/file.ts:88` — <issue> → <fix>
### Looks good
<one or two lines on what reviewers usually push back on that this change already does well>Omit empty sections. If nothing is found, say so plainly — don't invent nits.
Notes & edge cases
- Huge diffs: the injected diff is capped; read the remaining files with
git diff <base>...HEAD -- <path>before concluding. - Generated files (lockfiles, snapshots, build output): skip unless a rule targets them.
- Seeding: the store is per computer. On a new machine run
/harvest-reviews 90din the team repo first. - Rule disagreement: if the user says a rule is wrong, suggest the next
/harvest-reviewsrun, or editrules.jsonin the store and rerunnode ${CLAUDE_SKILL_DIR}/../harvest-reviews/scripts/render.mjs.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

