Agent skill

Code Review Checklist

by imbue-ai in imbue-ai/sculptor

Review a set of code changes against Sculptor's review categories and produce a markdown findings table.

MITAuto-check passedDevelopment

Install Code Review Checklist

skills CLI
$ npx skills add imbue-ai/sculptor --skill code-review-checklist -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install imbue-ai/sculptor code-review-checklist --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/imbue-ai/sculptor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/code-review-checklist .claude/skills/code-review-checklist && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
code-review-checklist
GitHub stars
237
Token cost
~3.6k tokens
SKILL.md length
1,902 words
Files
1
Skills in repo
29
Repo updated
First seen
Licence
MIT

At a glance

Review a set of code changes against Sculptor's review categories and produce a markdown findings table.

  • Works in 5 steps: Read the stated goal (if any) → Read the diff → Walk every category → …
  • Reviewing code (your own
  • SKILL.md covers Inputs, Steps and Categories
  • Calls git and just

What it does

Code Review Checklist is an agent skill from imbue-ai/sculptor. Review a set of code changes against Sculptor's review categories and produce a markdown findings table. Use when reviewing code (your own or others').

Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Code review. It works with Git. The repository describes itself as: Build product with grounded, parallel coding agents. The licence is MIT.

When your agent uses it

  • Reviewing code (your own
  • Tasks that involve Code review

Example prompts

  • “/code-review-checklist”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Read the stated goal (if any)
  2. Read the diff
  3. Walk every category
  4. Produce findings broken down by category
  5. Summarize

What it can do on your machine

Read from SKILL.md and the folder at commit f847102. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • just

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Code Review Checklist loads about 3.6k tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 1,902 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~43
When it runs · the whole SKILL.md, loaded when a task matches
~3.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from imbue-ai/sculptor at commit f847102, republished under its MIT licence (© imbue-ai). 1,902 words, ~3,568 tokens.

Download SKILL.mdSave it as .claude/skills/code-review-checklist/SKILL.md (or your agent's skills folder).
name
code-review-checklist
description
Review a set of code changes against Sculptor's review categories and produce a markdown findings table. Use when reviewing code (your own or others').

Code Review Checklist

Review a set of code changes against the categories below and produce a markdown findings table.

Inputs

  • Working directory — where to run git commands. Default: the current repo.
  • Diff range — preferred form is <base>...<head> (three dots). Default if not specified: git diff origin/main...HEAD.
  • Stated goal (optional) — a description of what the change is meant to accomplish (e.g. an MR/PR description, a spec, a ticket). Used for the "Consistency with stated goal" category. Skip that category if no goal was provided.

Steps

1. Read the stated goal (if any)

Read it before reading the diff so the goal is fresh while you're reviewing.

2. Read the diff

Run git diff <base>...<head> in the working directory and read the full output. For very large diffs, also list changed files (git diff --stat <base>...<head>) and prioritize files most relevant to the stated goal.

Also read the commit messages in the range (git log <base>..<head>) — they are part of what you review (see "Public-facing text" and "Git hygiene").

3. Walk every category

For each category below, look for issues in the diff. Be exhaustive — a single file can have multiple issues of the same type. Don't skip categories that look empty at a glance; spend a moment confirming.

For frontend (.tsx) changes, you MUST read docs/development/review/react.md (generic React rules), docs/development/review/sculptor.md (Sculptor-specific conventions: backend data hooks, Jotai atoms, component invariants), docs/development/review/design.md (design-system usage, existing patterns, UI copy), and docs/development/review/file_structure.md (file placement, feature layout, naming) in full and apply every rule in them. Do not skip this step. Do not rely on summaries elsewhere in this checklist or on prior knowledge — the docs are the source of truth and are updated independently. The file-structure doc also applies to frontend .ts changes (new files, moves, renames).

For integration test changes (under sculptor/tests/integration/), you MUST read the file docs/development/review/integration_tests.md in full and apply every rule in it. Same reasoning as above.

4. Produce findings broken down by category

Output one section per category in the order they appear under "Categories" below. Every category must have a section in your output — including ones where you found no issues. This forces you to confirm you actually reviewed each category rather than letting empty ones slip past unnoticed.

For each category, write a heading with the category name, then either prose findings or an explicit "no issues" line.

Write each finding as a short paragraph, not as a table row. Lead with the severity tag in bold, then the file path and line numbers, then a one- to three-sentence explanation of what's wrong and why it matters. Multiple findings in the same category go as separate paragraphs, blank-line separated.

Example output:

### Correctness

**HIGH** — `path/foo.py:42-48`. `bar()` is called with `None` when `x` is
empty, and `bar` does not guard against that. This will raise an
`AttributeError` at runtime on the empty-list path, which the new tests
don't cover.

**MEDIUM** — `path/baz.py:101`. The loop runs `range(len(items) - 1)`, so
the last item is silently skipped. Likely an off-by-one introduced when the
slice was removed in this change.

### Consistency with stated goal

No stated goal provided — section skipped.

### Test coverage

No issues found.

Each section must be one of:

  • One or more prose findings (each a paragraph led by a bolded severity tag), OR
  • The literal line No issues found., OR
  • For "Consistency with stated goal" only, when no goal was provided: No stated goal provided — section skipped.

Do NOT collapse multiple empty categories into a single "no issues" note. Do NOT omit a category section. If you do, it signals you didn't review it. Do NOT use markdown tables — prose only.

Severity:

  • CRITICAL — crashes, data loss, security holes, silently wrong behavior
  • HIGH — likely bugs, broken edge cases, missing tests for risky paths, breaking API/schema changes
  • MEDIUM — maintainability issues, scope creep, style guide violations, unclear code that will lead to bugs
  • LOW — nits, minor cleanup, naming, comments
5. Summarize

After the per-category sections, write a short summary (2–4 bullets):

  • Whether the change accomplishes the stated goal (if a goal was provided)
  • Top 1–3 things to address before merging
  • Anything that should block the change
  • "No issues found" is a valid summary if the diff is clean

Categories

Correctness
  • Logic errors: off-by-one, wrong operator, inverted conditions
  • Edge cases: None/empty/zero/negative inputs, boundary values
  • Race conditions, ordering bugs in async/concurrent code
  • Resource lifecycle: file handles, sockets, subscriptions, listeners, subprocesses cleaned up on all paths (including error paths)
  • State invariants: any path that leaves an object in an inconsistent state
Consistency with stated goal
  • Does the implementation match the stated intent?
  • Are there functional changes not mentioned in the goal (scope creep)?
  • Is anything described in the goal missing from the diff?
  • Are there obvious follow-ups the goal implies but the diff doesn't deliver?
  • Does the fix exercise the full user flow described in the goal, not just the narrow symptom? If the goal describes a multi-step user flow (e.g. "background subagent renders as 0.0s") and the fix only addresses one moment in that flow, that's a partial fix — flag it. The bar is: a reviewer should be able to follow the original repro and confirm the whole flow works, not just that the literal symptom no longer appears.
Test coverage
  • New behavior has tests
  • Bug fixes include a regression test that fails without the fix
  • Tests are focused — one logical assertion per test
  • Critical paths covered: error paths and edge cases, not just the happy path
  • No tests skipped/xfail/disabled without justification
  • No flaky patterns introduced (sleeps, real network, time-of-day deps)
Proof of work completeness

This category applies when the stated goal is an MR/PR body produced by an autonomous workflow (e.g. /sculptor-workflow:fix-bug). Skip the category if no stated goal was provided, or if the stated goal is a spec/ticket rather than an MR body.

  • UI-visible bugs MUST have before/after screenshots. If the diff touches any frontend file (sculptor/frontend/, any .tsx, .css, or other UI surface) and the MR body's "Before" or "After" slots lack an embedded image (e.g. <img src="..."> or a markdown image link), flag it as HIGH. Test output is not a substitute.
  • Non-UI bugs MUST have failing-then-passing test output. If the diff has no UI surface and the MR body's "Before" or "After" slots lack a fenced code block with test output, flag it as HIGH.
  • Test commit hashes MUST be present in the Test block. If the body says "Failing-test commit: <hash>" with a placeholder or empty hash, flag it.
  • Root cause and Fix blocks MUST be substantive. Single-sentence "fixed the bug" entries are not acceptable; flag any block under two sentences.
  • Repro steps MUST be exact. Vague repro steps ("open the app, click around") that a reviewer cannot follow verbatim are not acceptable.
Dead code & leftover artifacts
  • Unused imports, variables, functions, types, components
  • Commented-out code
  • New TODO/FIXME/XXX comments without an owner or ticket
  • Debug statements: console.log, print(...), pdb, breakpoint(), debugger
  • Unused feature flags, config knobs, env vars
  • Stale code paths replaced by the change but not deleted
Show full SKILL.md (823 more words)Show less
Comments
  • Comments describe the code and explain why; they are not narration.
  • No incidental history or defensive justification — strip comments that explain today's bug fix, argue for the code's correctness, or narrate how the code used to work. The comment should help a future maintainer, not relitigate the change that introduced it.
  • No restating volatile facts from the surrounding code (a count of subclasses, a list of variants/enum cases, the call sites of a function). These pin the comment to a moment in time and rot quickly — follow DRY.
  • No ASCII-art banners or box-drawing section dividers. They add visual noise without conveying anything a plain one-line comment does not.
  • No editorializing — strip frustration, jokes, hedging-as-mood, and exaggeration, keeping any underlying fact.
  • No pointers to throwaway docs, tickets, or plan phases — agent_docs/... paths, REQ-* requirement IDs, or implementation-plan phase references. The comment must stand on its own.
  • No real people's names in comments, docstrings, or test strings. Reword (e.g. "check with the team"), and use a generic placeholder (dev, foo, alice) for usernames in /Users/<name>/ paths or example branch names.
Error handling
  • No bare except: or unconditional except Exception:
  • Errors carry context (custom exception types where appropriate)
  • No silently swallowed errors (except: pass etc.)
  • User-facing errors are actionable
  • External I/O has timeouts and reasonable retry/backoff where appropriate
Security & secrets
  • No secrets, tokens, API keys, or credentials in code or configs
  • Input validated at trust boundaries
  • Auth/permission checks present where required
  • No untrusted input fed to subprocess/eval/SQL/template without sanitization
  • Sensitive values not logged
Type safety
  • Type hints on new/changed public functions
  • No new Any types unless justified
  • Pydantic models for structured data, not ad-hoc dicts
  • No new Pyrefly errors; suppressions justified with a comment
  • For frontend: TypeScript types up to date; if ElementIDs changed, run just generate-api
Backwards compatibility
  • API/schema/config changes are documented and have migration paths
  • Persisted data formats: forward-compatible reads if format changes
  • Public CLI flags / env vars: deprecation considered before removal
  • Frontend↔backend contract changes shipped together
Frontend issues (for .tsx changes)

Required: Read docs/development/review/react.md (generic React rules), docs/development/review/sculptor.md (Sculptor-specific frontend conventions), docs/development/review/design.md (design-system usage, existing patterns, UI copy), and docs/development/review/file_structure.md (file placement, feature layout, naming — also applies to frontend .ts changes) in full with the Read tool, and apply every rule in them. The rules cover effects, state, refs, render purity, performance, props, lists, backend data hooks, Jotai atom usage, component-level invariants, design-token and component-reuse conventions, UI copy, code placement, and naming — detailed enough that summarizing them here would lose information, so this section intentionally does not list them. If you find yourself reviewing a .tsx change without having opened all four docs in the current session, stop and read them.

Beyond the docs: IconButton in a Flex uses gap="2" (per CLAUDE.md).

Integration test issues (for changes under sculptor/tests/integration/)

Required: Read docs/development/review/integration_tests.md in full with the Read tool and apply every rule in it. The rules cover Playwright assertion patterns, test isolation, and POM usage — they're detailed enough that summarizing them here would lose information, so this section intentionally does not list them. If you find yourself reviewing an integration test change without having opened that doc in the current session, stop and read it.

Style guide & ratchets
  • All imports at top of file (no inline imports unless # noqa: E402)
  • No relative imports
  • No nested/inline function definitions (except simple lambdas)
  • Boolean variables prefixed with is_/has_/should_/etc.
  • No num_ prefix (use count_ or _idx suffix)
  • Early-exit pattern preferred over deep nesting
  • No magic numbers — use named constants
  • No mutable default arguments
  • Comments follow the Comments category above
  • Run just ratchets if you suspect any counts changed; flag any increases
Git hygiene
  • Commit messages explain the "why"
  • Commits are atomic — one logical change each
  • No unrelated changes mixed in
Public-facing text (commit messages & PR/MR description)

Commit messages and the PR/MR title and description are published to a public repository — review them as permanently, world-readable artifacts. Read the commit messages in the range (git log <base>..<head>) as well as the stated goal (the PR/MR body, when one was provided). Flag any of the following:

  • CRITICAL — secrets, tokens, credentials, or private keys in a commit message or PR/MR body.
  • PII — real people's full names, personal email addresses, individual usernames, or local filesystem paths embedding a username (/Users/<name>/). These should be reworded to roles or generic placeholders (dev, <user>).
  • Internal-only leakage — internal hostnames/URLs, internal service/tool/infra names, internal dashboards, customer names or customer-specific data, or verbatim private ticket/chat discussion. A bare ticket ID reference (e.g. SCU-1447) is fine; pasting the ticket's private contents is not.
  • Security-sensitive detail — exploit steps or descriptions of internal security mechanisms written in a way that would aid an attacker. Security fixes should be described at a safe altitude, not as a reproduction recipe.
  • Candid internal commentary — business strategy, unreleased plans, speculation about competitors, or remarks about individuals.

This is the same standard as the Comments category, extended from code comments to the commit/PR prose. See also CLAUDE.md, "Public Visibility: Commit Messages and PR Descriptions".

© imbue-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/code-review-checklist of imbue-ai/sculptor.

Open the folder on GitHubat commit f847102

Compare with similar skills

Code Review Checklist next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Code Review Checklist compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Code Review Checklist this skillimbue-ai/sculptor237—~3.6kAutomated safety check: PassMIT
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT
Open Code Review CLIalibaba/open-code-review45k—~3.1kAutomated safety check: PassApache-2.0
Understand Diff AnalysisEgonex-AI/Understand-Anything86k—~1.4kAutomated safety check: PassMIT
Open Code Review Delegatealibaba/open-code-review45k—~2kAutomated safety check: PassApache-2.0
Code Reviewflutter/flutter179k—~1.4kAutomated safety check: PassBSD-3-Clause

Similar skills

  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Open Code Review CLI

    alibaba/open-code-review

    Runs the ocr command-line tool to review Git changes, a commit or a branch comparison with an AI model, returning line-level comments and optionally applying fixes.

    45k GitHub stars~3.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Understand Diff Analysis

    Egonex-AI/Understand-Anything

    Reads your git changes or a pull request against a prebuilt knowledge graph of the project to explain what changed, which components are affected and what is risky.

    86k GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Open Code Review Delegate

    alibaba/open-code-review

    Has the host agent do the code review itself while the ocr CLI handles file selection and rule lookup, covering workspace changes, branch ranges or single commits.

    45k GitHub stars~2k tokensUpdated today
    DevelopmentAuto-check passed
  • Code Review

    flutter/flutter

    Performs a comprehensive, multi-step code review of pull requests or local code changes, using iterative refinement (generation, critique, synthesis) to ensure high-quality, actionable feedback.

    179k GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Official

    Fetches a pull request's canonical review state as JSON, validates it, and renders markdown, a text summary and triage target files from it using bundled scripts.

    48k GitHub stars~767 tokensUpdated today
    DevelopmentAuto-check passed

More from imbue-ai/sculptor

All 29 skills in this repo
  • Auto QA Iphone

    imbue-ai/sculptor

    QA the Sculptor mobile web UI on a real iOS Simulator, driven headlessly from a Mac.

    237 GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Measure React Renders

    imbue-ai/sculptor

    Compare React component render counts between origin/main and the current branch during a user-defined UI scenario (e.g.

    237 GitHub stars~603 tokensUpdated today
    Auto-check passed
  • Post PR To Slack

    imbue-ai/sculptor

    Post a one-line PR announcement to a Slack channel, and mark it :merged: when the PR merges.

    237 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Batch Claude Runner

    imbue-ai/sculptor

    Run Claude programmatically against collections of files in the codebase.

    237 GitHub stars~308 tokensUpdated today
    Auto-check passed
  • Build Sculptor Extension

    imbue-ai/sculptor

    Build or modify a Sculptor extension — a runtime ESM module loaded into the Sculptor UI.

    237 GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Cut Release

    imbue-ai/sculptor

    Cut a new Sculptor release candidate from main: run just cut-release (which creates the release/sculptor-vX.Y.0 branch at X.Y.0rc1, pushes the tag that triggers the RC build, and opens a PR bumping…

    237 GitHub stars~1.8k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Code Review Checklist

What does Code Review Checklist do?

Review a set of code changes against Sculptor's review categories and produce a markdown findings table. Code Review Checklist is an agent skill from imbue-ai/sculptor. Review a set of code changes against Sculptor's review categories and produce a markdown findings table.

When should I use Code Review Checklist?

Code Review Checklist fits situations like: reviewing code (your own; tasks that involve Code review.

How do I install Code Review Checklist in Claude Code?

Run `npx skills add imbue-ai/sculptor --skill code-review-checklist -a claude-code`. Or copy the skill folder (.claude/skills/code-review-checklist in imbue-ai/sculptor) into .claude/skills/code-review-checklist in your project. Claude Code loads it when a task matches its description.

How do I install Code Review Checklist in Codex?

Run `npx skills add imbue-ai/sculptor --skill code-review-checklist -a codex`. Or copy the skill folder (.claude/skills/code-review-checklist in imbue-ai/sculptor) into .agents/skills/code-review-checklist in your project. Codex loads it when a task matches its description.

Can I use Code Review Checklist in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add imbue-ai/sculptor --skill code-review-checklist -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/code-review-checklist, .gemini/skills/code-review-checklist, .github/skills/code-review-checklist and .opencode/skills/code-review-checklist in your project.

What does Code Review Checklist need to run?

Going by SKILL.md and its folder, Code Review Checklist needs the command-line tools its instructions call (git and just).

Does Code Review Checklist access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Code Review Checklist safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Code Review Checklist use?

Code Review Checklist is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Code Review Checklist use?

About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Code Review Checklist?

Skills that share tags, products or a category with Code Review Checklist: Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Open Code Review CLI (alibaba/open-code-review, 45k stars), Understand Diff Analysis (Egonex-AI/Understand-Anything, 86k stars) and Open Code Review Delegate (alibaba/open-code-review, 45k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Code Review Checklist?

imbue-ai (a GitHub organization) maintains it in imbue-ai/sculptor, which has 237 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 8, 2026.

Source: imbue-ai/sculptor on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.