Agent skill

Review

by imbue-ai in imbue-ai/sculptor

Final review pass for a feature implementation. An agent skill from imbue-ai/sculptor.

MITAuto-check passedDevelopment

Install Review

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

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

GitHub CLI
$ gh skill install imbue-ai/sculptor review --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/sculptor/sculptor-workflow/skills/review .claude/skills/review && 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
review
GitHub stars
238
Token cost
~2.8k tokens
SKILL.md length
1,453 words
Files
1
Skills in repo
29
Repo updated
First seen
Licence
MIT

At a glance

Final review pass for a feature implementation. An agent skill from imbue-ai/sculptor.

  • Works in 9 steps: Load configs → Parse the input → Read upstream artifacts → …
  • Tasks that involve Code review
  • SKILL.md covers First: Rename this agent to…, The Q&A ritual, Step 1: Load configs and Step 2: Parse the input, plus 8 more sections
  • Calls git

What it does

Review is an agent skill from imbue-ai/sculptor. Final review pass for a feature implementation. Verifies the diff satisfies the spec's requirements, that tests were written and pass, and invokes the repo's configured code-review skill. Writes review.md alongside the spec, then offers options for handling findings. Input: a feature slug (or seed message from /build with paths).

Its SKILL.md is about 2.8k 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. The repository describes itself as: Build product with grounded, parallel coding agents. The licence is MIT.

When your agent uses it

  • Tasks that involve Code review

Example prompts

  • “s requirements, that tests were written and pass, and invokes the repo”
  • “/review”

Workflow steps

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

  1. Load configs
  2. Parse the input
  3. Read upstream artifacts
  4. Read the diff
  5. Verify requirements coverage
  6. Verify tests
  7. Run the code-review skill
  8. Write review.md
  9. Finalize

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

    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

Review loads about 2.8k tokens when it runs. Until then it costs about 85 tokens; SKILL.md has 1,453 words of instructions outside code blocks.

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

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,453 words, ~2,769 tokens.

Download SKILL.mdSave it as .claude/skills/review/SKILL.md (or your agent's skills folder).
name
review
description
Final review pass for a feature implementation. Verifies the diff satisfies the spec's requirements, that tests were written and pass, and invokes the repo's configured code-review skill. Writes review.md alongside the spec, then offers options for handling findings. Input: a feature slug (or seed message from /build with paths).
argument-hint
<feature-slug>

Review

Final review pass. You read the spec, architecture, and plan; walk the diff to verify requirements are addressed and tests were written; re-run the test suite to confirm everything passes; invoke the repo's configured code-review skill; and write review.md with the findings.

You do not fix anything yourself. The user decides what to do with the findings.

First: Rename this agent to "Review"

Before doing anything else, rename this agent to "Review" via the /sculptor:sculpt-cli skill.

The Q&A ritual

Most of this skill runs autonomously (Steps 1-8). A Q&A loop only kicks in if the user picks Address findings in this tab at Step 9's finalize. The rules below apply to that loop and to any other turn where you ask the user a question with your question tool (including the finalize question itself).

Every turn ends by asking the user a question

Every turn in a Q&A loop MUST end by asking the user a question with your question tool. This is the single rule that determines whether the turn succeeded. If you end a turn without it, you have stopped silently and the user has nothing to respond to.

The ritual holds regardless of what happened earlier in the turn — research, fixing a finding, answering the user's question, long discussion. Every one of those ends by asking the user a question with your question tool.

One narrow exception: spawning a fixer agent. When the user picks "Spawn a fixer agent" at finalize and you spawn it, the spawning turn ends with text instructions rather than by asking the user a question. The workspace's "waiting for input" state must belong to the fixer agent, not to this one. The exception applies only to the spawn turn.

When the user asks a question back or pushes back

The user will often ask a question back, push back on a finding, or want to drill into a topic. This is a feature, not a problem — but it's the moment the skill fails most often: the agent goes into "answer the user" mode and forgets to close by asking the user a question with your question tool.

Handle it like this:

  1. Engage with what the user said. Answer, push back, do research (Grep, Read) if needed.
  2. Update review.md to reflect anything new the conversation surfaced — mark findings as resolved with commit references when a fix has landed.
  3. End the turn by asking the user a question with your question tool — usually a follow-up that builds on the discussion, or a "address the next finding or stop?" pacing question.

Research does not excuse skipping the ritual.

Do not announce upcoming tool calls

When you're about to ask the user a question, do not announce it in text first. Just make the call.

Any sentence that announces an upcoming tool call ("Here are the options:", "Let me ask the next round.", "A few more questions.") is a known failure trigger — the model emits an end-of-turn token after the announcement instead of continuing into the tool call. Options, questions, and choices go INSIDE the tool call.

Context about prior state ("I marked REQ-XYZ-3 as resolved in review.md after commit abc1234.") is fine. Announcements about the next action are not.

How to ask

Provide 1-4 concrete options per question. Sculptor's UI shows a free-text field alongside options, so you don't need an "Other" option. For genuinely open-ended questions, omit options entirely.

One sharp question beats four padded ones.

Step 1: Load configs

Check for .sculptor/code.md, .sculptor/testing.md, and .sculptor/docs.md. If any is missing, invoke /sculptor-workflow:setup-repo immediately.

Read them. Key sections:

  • .sculptor/code.md — pre-commit verification commands, branch conventions.
  • .sculptor/testing.md — test framework, end-to-end test command/skill, test strategy.
  • .sculptor/docs.md — spec location pattern (for resolving the slug into paths) and the Code Review section, which names the skill to invoke for the code-review pass.

Step 2: Parse the input

$ARGUMENTS may contain a bare slug or seed markers from /sculptor-workflow:build:

  • Slug: feature slug
  • Spec path: absolute or repo-relative
  • Architecture path: absolute or repo-relative
  • Plan folder: absolute or repo-relative
  • Diff range: git diff range, defaults to origin/main...HEAD

If no slug is provided, ask with your question tool, offering glob-discovered slugs.

Resolve all paths from the slug + docs config if any are missing from the seed.

If origin/main doesn't exist, or no commits are ahead of it, use your question tool to ask the user what base reference to compare against.

Step 3: Read upstream artifacts

  1. The spec — every REQ-* ID and every User Scenario.
  2. The architecture — every component decision and the Files to Modify / Create / Delete appendix.
  3. The plan's 00_overview.md — the task index and phase rationale.
  4. (Optional) skim individual task files for verification checklists.

Step 4: Read the diff

Run git diff <base>...<head> to see the full diff. For large diffs, also run git diff --stat <base>...<head> to list changed files, and prioritise files most relevant to the spec.

Step 5: Verify requirements coverage

For each REQ-* in the spec (or each Requirement bullet, if not numbered):

  • Locate the code in the diff that implements it. Cite path/to/file.py:line-range.
  • Mark the requirement as Covered, Partial, Gap, or Not addressed.
  • Note any deviations from the architecture's design.

For each User Scenario:

  • Verify the corresponding code paths exist.
  • Where testable, confirm tests cover the scenario.

For each architectural decision in architecture.md:

  • Verify the diff reflects it (e.g. files in Files to Modify actually got modified; new components actually exist).

Capture all of this in structured notes — you'll write it to review.md in Step 8.

Show full SKILL.md (537 more words)Show less

Step 6: Verify tests

  1. List the tests added in the diff. Run git diff --stat <base>...<head> and filter to test paths (using the Test location: field inside .sculptor/testing.md's Test Framework section).
  2. Run the full test suite using the configured pre-commit verification command from .sculptor/code.md. Iterate until it passes or until you have a concrete failure to report.
  3. Run end-to-end tests called out in the plan's overview using the testing config's command or skill (named in .sculptor/testing.md's Test Writing or Test Debugging sections, if present).
  4. Fail loudly in review.md if any tests are skipped, marked xfail, or pending without justification.

Do NOT block on a failing test by stopping the review. Capture the failure in review.md and continue.

Step 7: Run the code-review skill

Read the Code Review section of .sculptor/docs.md.

  • If it names a skill (e.g. Skill: /code-review-checklist): Invoke that skill via the Skill tool. Pass the diff range and the spec path (as the stated goal). Capture its output.
  • If empty: Skip this step. Note in review.md that no code-review skill is configured for this repo.

Step 8: Write review.md

Path: same directory as the spec.

  • Directory-per-spec: <spec-dir>/review.md
  • Flat: <spec-dir>/<slug>.review.md

Structure:

markdown
# <Feature> — Review

## Summary

<2-4 bullets: did the implementation meet the spec? top 1-3 things to
address before merging? anything that should block? "No issues found"
is valid if the diff is clean>

## Requirements Coverage

| Requirement | Status | Evidence |
|-------------|--------|----------|
| REQ-XXX-1   | Covered | `path/to/file.py:42-58` |
| REQ-XXX-2   | Partial | <what's missing> |
| REQ-XXX-3   | Gap     | <what's missing> |
| REQ-XXX-4   | Not addressed | <why> |

## User Scenarios

For each User Scenario in the spec, one paragraph: did the diff
deliver it? Was it covered by a test?

## Test Coverage

- Tests added: <list>
- Test suite status: <pass / specific failure>
- Integration tests run: <list + status>
- Anything skipped / `xfail` / pending: <list, with justification or
  flag>

## Code Review Findings

<If a code-review skill ran, paste its output here verbatim. If no
skill is configured, write: "No code-review skill configured in
.sculptor/docs.md — section skipped. Consider authoring a repo
review skill and configuring it.">

## Overall Assessment

<short, plain summary. Is this ready to merge? What's the biggest
risk? What needs follow-up?>

Show the path in a code block.

Step 9: Finalize

Emit the finalizing question on its own turn with these options:

  • Address findings in this tab — switch into a Q&A loop where you help the user resolve specific items from review.md. You can edit code in this tab, run tests, commit fixes. Each fix references a specific finding from review.md.
  • Spawn a fixer agent — spawn a fresh agent (renamed Fix) seeded with review.md and the list of findings to address. Use /sculptor:sculpt-cli to spawn; end the spawn turn with text instructions (no question).
  • Done — stop cleanly.

Act on the user's choice.

If the user picks "Address findings in this tab"

Enter a Q&A loop following the ritual at the top of this skill. Each turn:

  1. Pick a finding to address (in order of severity, unless the user has already directed otherwise).
  2. Fix the code, run verification, commit per fix (one commit per logical change).
  3. Update review.md to mark the finding as Resolved with a reference to the commit hash.
  4. End the turn by asking the user, with your question tool, whether to address the next finding, hand off to a fixer agent, or stop.

Rules

  • Do NOT fix anything automatically without user direction. Review surfaces issues; the user decides what to do.
  • Do NOT skip the code-review skill invocation if one is configured — even if the diff looks clean.
  • Do NOT block on a failing test by halting Review. Capture the failure in review.md, continue, and surface it in the Summary.
  • Ask every question with your question tool — mcp__sculptor__ask_user_question if it's available, otherwise the built-in AskUserQuestion. Never ask in plain text: only the tool call puts the workspace into the "waiting for input" state that alerts the user.
  • The finalize question is its own turn.
  • When spawning a fixer agent, end the spawn turn with text instructions rather than by asking the user a question.
  • Re-run the test suite even if Build already did — Review is the one phase that re-verifies; other phases trust prior phases' verification.

© 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 sculptor/sculptor-workflow/skills/review of imbue-ai/sculptor.

Open the folder on GitHubat commit f847102

Compare with similar skills

Review 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.

Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Review this skillimbue-ai/sculptor238—~2.8kAutomated safety check: PassMIT
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Code Review ChecklistshareAI-lab/learn-claude-code78k4 repos~1.1kAutomated safety check: PassMIT
Backend Code Reviewlangflow-ai/langflow155k—~3.5kAutomated safety check: NotesMIT
Mole Bug Patternstw93/Mole70k—~2kAutomated safety check: PassGPL-3.0
Backend Code Reviewlanggenius/dify158k—~676Automated safety check: PassCustom licence

Similar skills

  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • 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 4 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Backend Code Review

    langflow-ai/langflow

    Review backend code for quality, security, maintainability, and best practices based on established checklist rules.

    155k GitHub stars~3.5k tokensUpdated yesterday
    DevelopmentAuto-check: notes
  • A catalog of recurring bug shapes in the Mole Mac cleaner, used to review safety-sensitive diffs for deletion safety, unbounded commands, shell traps and weak tests.

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

    langgenius/dify

    Reviews backend code under api/ for concrete, reproducible defects, routes to rule packs for architecture, schema, repositories and SQLAlchemy, and ranks findings from P0 to P3.

    158k GitHub stars~676 tokensUpdated today
    DevelopmentAuto-check passed
  • WooCommerce Code Review

    woocommerce/woocommerce

    Reviews WooCommerce code changes against the project's standards, flagging backend PHP architecture, naming, documentation, data integrity and testing violations.

    11k GitHub starsUsed in 3 repos~1.1k tokens
    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.

    238 GitHub stars~3.1k tokensUpdated 2 days ago
    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.

    238 GitHub stars~603 tokensUpdated 2 days ago
    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.

    238 GitHub stars~1.6k tokensUpdated 2 days ago
    Auto-check passed
  • Batch Claude Runner

    imbue-ai/sculptor

    Run Claude programmatically against collections of files in the codebase.

    238 GitHub stars~308 tokensUpdated 2 days ago
    Auto-check passed
  • Build Sculptor Extension

    imbue-ai/sculptor

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

    238 GitHub stars~3.4k tokensUpdated 2 days ago
    Auto-check passed
  • Code Review Checklist

    imbue-ai/sculptor

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

    238 GitHub stars~3.6k tokensUpdated 2 days ago
    Auto-check passed

Categories

Questions about Review

What does Review do?

Final review pass for a feature implementation. An agent skill from imbue-ai/sculptor. Review is an agent skill from imbue-ai/sculptor. Final review pass for a feature implementation.

When should I use Review?

Review fits situations like: tasks that involve Code review.

How do I install Review in Claude Code?

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

How do I install Review in Codex?

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

Can I use Review 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 review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/review, .gemini/skills/review, .github/skills/review and .opencode/skills/review in your project.

What does Review need to run?

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

Does Review 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 Review 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 Review use?

Review 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 Review use?

About 2.8k tokens (SKILL.md is roughly 11k 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 Review?

Skills that share tags, products or a category with Review: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Backend Code Review (langflow-ai/langflow, 155k stars) and Mole Bug Patterns (tw93/Mole, 70k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Review?

imbue-ai (a GitHub organization) maintains it in imbue-ai/sculptor, which has 238 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 9, 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.