Code Review Checklist Generator

Generate a review checklist tuned to your stack and risk.

  • $25 Free
  • 45 sec
  • No signup
1

Pick language, framework, and risk

2

Toggle the categories you care about

3

Copy the checklist or review prompt

You get: A review checklist tuned to your stack, usable as a review prompt.

Context

Live checklist

0 / 20

Correctness & clarity

TypeScript / JavaScript

Tests

Security

Copyable output

# Code review checklist

## Correctness & clarity
- [ ] The change does what the PR description says, and nothing it does not
- [ ] Naming is clear - a new reader could follow the intent without asking
- [ ] No obvious duplication that should be factored out
- [ ] Error and edge cases are handled, not just the happy path
- [ ] No dead code, commented-out blocks, or leftover debug output
- [ ] The change is appropriately small and focused for one review

## TypeScript / JavaScript
- [ ] No stray `any` - types are explicit or properly inferred
- [ ] Nullable values are handled (no unchecked undefined/null access)
- [ ] Promises are awaited or explicitly handled - no floating promises
- [ ] No `console.log` or debugger left in the diff

## Tests
- [ ] New behavior has tests; changed behavior has updated tests
- [ ] Tests assert on outcomes, not on implementation details
- [ ] Edge cases and failure paths are covered, not just the happy path
- [ ] Tests are deterministic - no reliance on real time, network, or ordering

## Security
- [ ] All external input is validated and untrusted data is never trusted
- [ ] No secrets, keys, or tokens committed in the diff
- [ ] Queries are parameterized - no string-built SQL or shell commands
- [ ] Output is escaped/encoded for its sink to prevent injection/XSS
- [ ] AuthZ is checked on every new endpoint, not just authentication
- [ ] Any endpoint holding a paid key has auth, rate limiting, and a locked origin allowlist

Runs fully in your browser. Toggle 'Review prompt' to get a version you can paste into Claude Code with a diff for an instant first-pass review.

A checklist turns review from vibes into a process

Most code review happens on instinct - a reviewer skims the diff, notices what jumps out, and approves. Instinct catches obvious problems and misses the systematic ones: the missing null check, the unparameterized query, the endpoint that forgot an authorization check. A checklist fixes this by making review comprehensive instead of opportunistic. It ensures the same things get checked every time, regardless of how tired the reviewer is or how much they trust the author.

This generator builds a checklist tuned to your actual context - the language, whether tests are included, and whether the change is security-sensitive, performance-sensitive, or touches a public API. A checklist for a security-sensitive TypeScript endpoint should look nothing like one for a language-agnostic refactor. The tool also gives you a live interactive version you can tick through as you review, and a 'review prompt' mode that turns the whole thing into an instruction you can hand to Claude Code.

What every review should check, regardless of stack

  • Correctness - does the change actually do what the PR description claims, including the edge cases?
  • Clarity - could a new reader follow the intent without asking the author what it means?
  • Scope - is the change small and focused enough to review in one sitting, or is it three changes in a trenchcoat?
  • No leftovers - dead code, commented-out blocks, and stray debug output are all noise that should not merge.
  • Error handling - failure paths are handled deliberately, not left to crash or silently swallow.

Review the change, not the person

A checklist depersonalizes review. When feedback is 'item 4 - this query is not parameterized' rather than 'you wrote unsafe SQL', it lands as a shared standard rather than a personal criticism. That is how you keep review rigorous without making it adversarial.

Security review is where checklists earn their keep

Security bugs are exactly the kind of systematic issue that human instinct misses and a checklist catches. The high-frequency ones are boring and repeatable: unvalidated input, string-built SQL, unescaped output, a secret committed to the repo, an endpoint that checks authentication but forgets authorization. One item deserves special emphasis - any endpoint that holds or spends a paid API key is a spend-exposure surface and must never ship without authentication, rate limiting, and a locked origin allowlist. A single unauthenticated proxy with a funded key and open CORS is an open faucet to the entire internet, and it can drain a budget overnight.

Performance and public-API items are situational

Not every change needs a performance pass or an API-compatibility pass, which is why they are toggles. Turn on performance review when the change touches a hot path or something that runs at scale - that is where N+1 queries, needless allocations, and unbounded loads actually matter. Turn on public-API review when the change touches a signature, schema, or contract that other code depends on - that is where a silent breaking change becomes someone else's outage. Applying these checks to every trivial change just trains reviewers to ignore the checklist, so scope them to when they earn attention.

Using the checklist as a Claude Code review prompt

The 'review prompt' mode is the highest-leverage feature here. It prepends an instruction that tells Claude Code to go through the checklist item by item against a diff and reply pass, fail, or n/a with a one-line reason for each, failures first. This gives you a fast, structured first-pass review before a human ever looks at the code - the model catches the mechanical issues (missing error checks, unparameterized queries, stray debug output) so the human reviewer can spend their attention on design and intent, which is where human judgment actually adds value.

  1. Generate the checklist with the toggles that match your change, then switch to 'Review prompt' mode.
  2. Paste the prompt into Claude Code followed by the diff (git diff or the PR patch).
  3. Read the failures first - fix the real ones, dismiss the false positives with a note.
  4. Hand the human-reviewed diff off with the checklist attached so the next reviewer sees what was already checked.

Keep the checklist a tool, not a bureaucracy

A checklist is a floor, not a ceiling. It guarantees the systematic issues get checked; it does not replace judgment about design, architecture, or whether the change is even a good idea. The failure mode is treating the checklist as the whole job - ticking every box and approving a change that passes every item but solves the wrong problem. Use the checklist to clear the mechanical concerns fast, then spend your freed-up attention on the questions no checklist can answer: is this the right approach, and will we be glad we did it this way in six months?

Frequently asked questions

  • Does this send my code anywhere?

    No. The generator produces a checklist from your toggles entirely in the browser. It never sees your actual code - you paste the diff into Claude Code yourself, on your terms, only if you choose the review-prompt workflow.

  • What is the difference between checklist and review-prompt mode?

    Checklist mode gives you a plain Markdown checklist to paste into a PR or work through by hand. Review-prompt mode prepends an instruction so you can paste it plus a diff into Claude Code for a structured, item-by-item first-pass review.

  • Why are security, performance, and public-API optional?

    Because applying every check to every trivial change trains reviewers to ignore the checklist. Scoping the heavy checks to when they actually matter keeps the list credible and keeps reviewers paying attention.

  • Can I edit the generated items?

    Yes - the output is plain Markdown, so paste it anywhere and add or remove items freely. The tool gives you a strong, context-tuned starting point rather than a fixed script you cannot change.

  • Should an AI review replace a human reviewer?

    No. It replaces the tedious first pass - the mechanical checks a machine does tirelessly. That frees the human to focus on design, architecture, and whether the change is the right idea, which is where human judgment is irreplaceable.

  • What is the single most important security item?

    For anything that holds or spends a paid API key: never ship it without authentication, rate limiting, and a locked origin allowlist. An unauthenticated endpoint guarding a funded key is an open faucet that can drain a budget overnight.

Liked this tool? The club is the next step.

Join Claude Code Club for $9/month. 650+ lessons, weekly updates, and the workflows behind every tool on this site.

  • No experience needed
  • Cancel anytime
  • Updated weekly