agentleFS
rohitgollarahallirohitgollarahalli/claude-skills/skills/code-reviewer/SKILL.md

code-reviewer

Skill0 starsChanged 5 months agoMITView on GitHub

Review code changes the way a thoughtful senior engineer would: find real bugs, security issues, and design problems, and report them grouped by severity with concrete fixes. Use this whenever the user asks to "review", "look over", "check", or "give feedback on" code, a diff, a pull request, or a branch; asks "is this correct/safe?"; pastes a function and asks what's wrong; or wants a PR reviewed before merging — even if they don't say the word "review".

  • Deletes or force-pushes

182 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use git-doc-updater, git-precommit and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • u9401066Skill

    git-doc-updater

    Auto-check and update key documentation before Git commits to keep docs in sync with code. Triggers: docs, 文檔, 更新文檔, sync docs, release, 發布.

    Also in 5 projects that use this

  • u9401066Skill

    git-precommit

    Orchestrate pre-commit workflow including Memory Bank sync, README/CHANGELOG/ROADMAP updates. Triggers: GIT, gc, push, commit, 提交, 準備 commit, 要提交了, git commit, pre-commit, 推送.

    Also in 5 projects that use this

  • JeffallanSkill

    shopify-expert

    Builds and debugs Shopify themes (.liquid files, theme.json, sections), develops custom Shopify apps (shopify.app.toml, OAuth, webhooks), and implements Storefront API integrations for headless storefronts. Use when building or customizing Shopify themes, creating Hydrogen or custom React storefronts, developing Shopify apps, implementing checkout UI extensions or Shopify Functions, optimizing performance, or integrating third-party services. Invoke for Liquid templating, Storefront API, app development, checkout customization, Shopify Plus features, App Bridge, Polaris, or Shopify CLI workflows.

    Also in 5 projects that use this

  • JeffallanSkill

    spec-miner

    Reverse-engineering specialist that extracts specifications from existing codebases. Use when working with legacy or undocumented systems, inherited projects, or old codebases with no documentation. Invoke to map code dependencies, generate API documentation from source, identify undocumented business logic, figure out what code does, or create architecture documentation from implementation. Trigger phrases: reverse engineer, old codebase, no docs, no documentation, figure out how this works, inherited project, legacy analysis, code archaeology, undocumented features.

    Also in 6 projects that use this

  • +4 more from u9401066
  • +4 more from Jeffallan

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 155 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If the user gave you a diff or file, review that.

    line 40
  2. Distinctive:

    If you're unsure whether something is a bug, say so and explain how to check, rather than asserting.

    line 73

“Common” is measured: kept by at least 6 in 10 of the 155 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Code Reviewer

A good review changes the outcome: it catches the bug before production and teaches something in the process. A bad review lists nitpicks and misses the real problem. Aim for the former.

What to actually look for

Review in roughly this priority order, because a missed correctness bug costs far more than a missed style preference:

  1. Correctness — Does it do what it claims? Edge cases (empty input, nulls, large input, concurrency, unicode), off-by-one errors, incorrect conditions, wrong error handling, resource leaks.
  2. Security — Injection (SQL, shell, template), missing authz/authn checks, secrets in code, unsafe deserialization, path traversal, unvalidated input crossing a trust boundary.
  3. Design & maintainability — Is the abstraction right? Duplicated logic, leaky boundaries, functions doing too much, names that mislead, hidden coupling. Will the next person understand it?
  4. Tests — Are the risky paths covered? Do the tests actually assert behavior, or just run the code?
  5. Style & polish — Only after the above. Formatting, naming conventions, docs. Keep this brief; linters handle most of it.

How to obtain the diff

If the user gave you a diff or file, review that. If they point at a branch or PR, get the actual changes first (e.g. git diff main...HEAD) and review the diff, but read enough surrounding code to understand context — a change can be wrong because of code it doesn't touch.

Output format

Lead with a one-line verdict, then group findings by severity. Each finding names the location, explains the problem and why it matters, and gives a concrete fix.

**Verdict:** <Approve / Approve with comments / Request changes> — <one line>

### Blocking
- `path/to/file.py:42` — <problem>. <why it matters>. Suggested fix: <fix>.

### Should fix
- ...

### Nits (optional)
- ...

### What's good
- <call out genuinely solid choices — reviews shouldn't be only negative>

Guardrails

  • Be specific. "This could be cleaner" is useless; show the cleaner version.
  • Explain the why behind each comment so the author learns, not just complies.
  • Distinguish must-fix from preference. Don't block a PR over taste.
  • Praise good decisions honestly — it builds trust and signals what to repeat.
  • If you're unsure whether something is a bug, say so and explain how to check, rather than asserting.

Example

Verdict: Request changes — solid structure, but one SQL injection and an unhandled empty-list case.

Blocking

  • api/search.py:88 — query is built with f-string interpolation of term, which is user-controlled — SQL injection. It matters because any caller can read or drop tables. Fix: use a parameterized query (cur.execute(sql, (term,))).

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.