agentleFS
MacWulfMacWulf/claude-in-codex/skills/review/SKILL.md

review

Skill1 starsChanged 4 months agoApache-2.0View on GitHub

Run a standard Claude Code review of local git changes in this repository. Args: --wait, --background, --base <ref>, --scope <auto|working-tree|branch>, --model <model>, --effort <auto|low|medium|high|xhigh|max>. Defaults to opus with CLI-selected effort. Use as the default path for ordinary code-review requests when the user did not explicitly ask for stronger adversarial scrutiny or for Claude to own the implementation work.

192 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use close-spec, design-with-images 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.
  • dzhngSkill

    close-spec

    When a spec under specs/<feature>/ is done shipping (a write-spec build, or any planned task that produced a spec), archive it to specs/done/ and rewrite it from a build-plan into a durable rationale — the why, the principles, the invariants — pointing back to the real code for the how. Use when implementation has landed and the plan no longer matches what shipped, or the user says a feature/spec is finished. Pairs with [write-spec](../write-spec/SKILL.md) (the plan this closes) and [review](../review/SKILL.md) (run before closing).

    Also in 5 projects that use this

  • dzhngSkill

    design-with-images

    Explore UI and visual design with image generation, then iterate the real implementation against the user-selected concept. Use when brainstorming visual directions, offering mockup variants, or implementing an approved generated design; do not stop at the mockups or the first code approximation.

    Also in 5 projects that use this

  • LambenthanSkill

    daily-arxiv

    每日从 arXiv 拉取新论文,过滤相关性,auto-ingest 高优先级论文,检测 SOTA 更新

    Also in 5 projects that use this

  • LambenthanSkill

    exp-eval

    实验判决门:Review LLM 独立评判实验结果 → 4 种判决路径 → 自动更新 claims confidence、ideas status、graph edges

    Also in 5 projects that use this

  • +3 more from dzhng
  • +5 more from Lambenthan

The file

Show its rules and text

We split this skill into the rules it gives an agent

47 rules. 0 are common, 20 are distinctive, and 27 are very specific to this project.

  • 0

    Common

    Most of the 157 edited versions we read keep these.

  • 20

    Distinctive

    This author's own choices. Worth a look.

  • 27

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill when the user wants Claude Code to review the current working tree or a branch diff in this repository.

    line 8
  2. Very specific:

    Use $cc:review as the default when the user asks for code review, asks you to have Claude review something, or wants a second review pass …

    line 10
  3. Very specific:

    If the user asks for stronger challenge on design, tradeoffs, rollout risk, migration risk, configuration behavior, or provides custom …

    line 11
  4. Very specific:

    If the user wants Claude Code to investigate, validate by changing code, or actually fix/implement something, route to $cc:rescue instead.

    line 12
  5. Very specific:

    If the overall request is "you review it too, also ask Claude to review in the background, then you aggregate and fix it", keep the …

    line 13
  6. Distinctive:

    Before launching the review, stay in read-only inspection mode: inspect git status and diff stats only, then ask at most one user question …

    line 26
  7. Distinctive:

    Do not accept staged-only or unstaged-only review modes.

    line 28
  8. Very specific:

    Do not add extra review instructions or focus text.

    line 29
  9. Very specific:

    If the raw arguments include --wait, do not ask.

    line 32
  10. Very specific:

    If the raw arguments include --background, do not ask.

    line 33
  11. Distinctive:

    Treat untracked files or directories as reviewable work even when git diff --shortstat is empty.

    line 38
  12. Distinctive:

    Only conclude there is nothing to review when the relevant working-tree status is empty or the explicit branch diff is empty.

    line 39
  13. Distinctive:

    When in doubt, run the review instead of declaring that there is nothing to review.

    line 42
  14. Very specific:

    Treat --wait and --background as Codex-side execution controls only.

    line 49
  15. Very specific:

    If the user needs custom review instructions or more adversarial framing, they should use $cc:adversarial-review.

    line 51
  16. Very specific:

    Do not fall back to raw claude, claude-code, claude review, bash -lc ...claude..., or any other direct Claude CLI syntax when the companion …

    line 59
  17. Distinctive:

    If the resolved companion command fails, surface that failure.

    line 60
  18. Distinctive:

    Do not fix anything mentioned in the review output.

    line 62
  19. Very specific:

    Do not satisfy background review by using a generic claude_review_runner-style helper role, raw Claude CLI, or any other review executor …

    line 66
  20. Very specific:

    Never satisfy background review by running the companion command itself with shell backgrounding such as &, nohup, detached spawn, or any …

    line 67
  21. Very specific:

    Before spawning the built-in child, capture the review job id plus routing context in one call: node …

    line 69
  22. Very specific:

    If that helper returns a non-empty jobId, pass it into the companion command as an internal --job-id <reserved-job-id> routing flag.

    line 71
  23. Very specific:

    If that helper returns a non-empty ownerSessionId, include --owner-session-id <owner-session-id> in the companion command.

    line 72
  24. Very specific:

    If it returns an empty ownerSessionId, omit --owner-session-id entirely.

    line 73
  25. Very specific:

    If that helper returns a non-empty parentThreadId, pass it into the child prompt as the parent thread id for one-shot completion …

    line 74
  26. Very specific:

    If it returns an empty parentThreadId, omit the notification path instead of emitting a blank thread-id placeholder.

    line 75
  27. Distinctive:

    Prefer a self-contained child message over inheriting parent history.

    line 81
  28. Very specific:

    Only consider fork_context: true as a last resort for a short follow-up where essential context truly cannot be summarized.

    line 82
  29. Very specific:

    Before spawning the built-in child, emit one short commentary update that records the attempted subagent model selection.

    line 83
  30. Very specific:

    If spawn_agent rejects gpt-5.4-mini with an explicit model-unavailable error such as Unknown model, model unavailable, or equivalent "not …

    line 84
  31. Very specific:

    If that fallback happens, emit one short commentary update that clearly says gpt-5.4-mini was unavailable and the parent is retrying with …

    line 85
  32. Distinctive:

    Do not use that fallback for arbitrary failures.

    line 86
  33. Distinctive:

    run exactly one shell command

    line 88
  34. Distinctive:

    run that command as one blocking foreground shell-tool call, not as a background terminal/session

    line 91
  35. Distinctive:

    do not request a shell session id, poll a shell session later, or return before the companion command exits

    line 92
  36. Very specific:

    if the available shell tool is exec_command, call it once in non-interactive mode and wait for command exit in that same call

    line 93
  37. Very specific:

    never leave an empty routing placeholder such as --owner-session-id --job-id

    line 96
  38. Distinctive:

    not inspect the repo or perform the review itself

    line 99
  39. Very specific:

    if a parent thread id is available, allow one extra send_input call after a successful shell result and before finishing

    line 100
  40. Distinctive:

    if the parent provided a non-empty parent thread id, do not silently drop the completion notification path from the child prompt

    line 104
  41. Very specific:

    if a reserved review job id is available, use this exact notification message: Background Claude Code review finished.

    line 105
  42. Distinctive:

    use these steering messages instead of embedding the raw review result in the notification

    line 110
  43. Distinctive:

    do not embed the raw Claude result inside the notification message

    line 111
  44. Distinctive:

    do not include any other prose in that notification message

    line 112
  45. Distinctive:

    use that same steering message as the child's own final assistant message instead of echoing the raw review result

    line 113
  46. Distinctive:

    Do not wait for completion in this turn.

    line 114
  47. Very specific:

    After launching, tell the user: Claude Code review started in the background.

    line 115

“Common” is measured: kept by at least 6 in 10 of the 157 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

Claude Code Review

Use this skill when the user wants Claude Code to review the current working tree or a branch diff in this repository.

Use $cc:review as the default when the user asks for code review, asks you to have Claude review something, or wants a second review pass without explicitly asking for stronger adversarial scrutiny. If the user asks for stronger challenge on design, tradeoffs, rollout risk, migration risk, configuration behavior, or provides custom review focus text, route to $cc:adversarial-review instead. If the user wants Claude Code to investigate, validate by changing code, or actually fix/implement something, route to $cc:rescue instead. If the overall request is "you review it too, also ask Claude to review in the background, then you aggregate and fix it", keep the delegated Claude part on $cc:review unless the user explicitly asks for a harsher or more adversarial review. $cc:review does not accept custom focus text. If the user wants to steer Claude toward a particular angle, question, subsystem, or risk area, that is a signal to use $cc:adversarial-review instead.

Resolve <plugin-root> as two directories above this SKILL.md file. Always run the companion from that active plugin root: node "<plugin-root>/scripts/claude-companion.mjs" review ...

Supported arguments: --wait, --background, --base <ref>, --scope auto|working-tree|branch, --model <model>, --effort <auto|low|medium|high|xhigh|max> (defaults: model=opus, effort=auto delegated to Claude CLI)

Raw slash-command arguments: $ARGUMENTS

Rules:

  • This skill is review-only. Do not fix issues, apply patches, or suggest that you are about to make changes.
  • Before launching the review, stay in read-only inspection mode: inspect git status and diff stats only, then ask at most one user question about whether to wait or run in background.
  • Preserve the user's review scope flags exactly.
  • Do not accept staged-only or unstaged-only review modes.
  • Do not add extra review instructions or focus text. Route those requests to $cc:adversarial-review.

Execution mode rules:

  • If the raw arguments include --wait, do not ask. Run the review in the foreground.
  • If the raw arguments include --background, do not ask. Run the review in background through the built-in review subagent path.
  • Otherwise, estimate the review size before asking:
    • For working-tree review, start with git status --short --untracked-files=all.
    • For working-tree review, also inspect both git diff --shortstat --cached and git diff --shortstat.
    • For base-branch review, use git diff --shortstat <base>...HEAD.
    • Treat untracked files or directories as reviewable work even when git diff --shortstat is empty.
    • Only conclude there is nothing to review when the relevant working-tree status is empty or the explicit branch diff is empty.
    • Recommend waiting only when the review is clearly tiny, roughly 1-2 files total and no sign of a broader directory-sized change.
    • In every other case, including unclear size, recommend background.
    • When in doubt, run the review instead of declaring that there is nothing to review.
  • Then use AskUserQuestion exactly once with two options, putting the recommended option first and suffixing its label with (Recommended):
    • Wait for results
    • Run in background

Argument handling:

  • Preserve the user's arguments exactly.
  • Treat --wait and --background as Codex-side execution controls only. Strip them before calling the companion command.
  • $cc:review is native-review only. It does not support staged-only review, unstaged-only review, or extra focus text.
  • If the user needs custom review instructions or more adversarial framing, they should use $cc:adversarial-review.
  • The companion review process itself always runs in the foreground. Background mode only changes how Codex launches that command.
  • For the detailed execution contract, treat the internal runtime reference at ../../internal-skills/review-runtime/runtime.md as supporting guidance only. It is an internal reference document, not a public skill to invoke.

Foreground flow:

  • Run: node "<plugin-root>/scripts/claude-companion.mjs" review --view-state on-success <arguments with --wait/--background removed>
  • Foreground review belongs to the main Codex thread. Do not spawn a review subagent, do not invoke a generic review-runner role, and do not proxy this foreground path through any background worker abstraction.
  • Do not fall back to raw claude, claude-code, claude review, bash -lc ...claude..., or any other direct Claude CLI syntax when the companion path is available. The foreground syntax contract here is the resolved companion command above, not a hand-rolled Claude invocation.
  • If the resolved companion command fails, surface that failure. Do not silently retry foreground review through a different CLI shape, a generic review runner, or a custom shell wrapper.
  • Present the companion stdout faithfully.
  • Do not fix anything mentioned in the review output.

Background flow:

  • For background review, use Codex's built-in default subagent instead of a detached background shell command.
  • Do not satisfy background review by using a generic claude_review_runner-style helper role, raw Claude CLI, or any other review executor that bypasses the resolved companion command.
  • Never satisfy background review by running the companion command itself with shell backgrounding such as &, nohup, detached spawn, or any equivalent direct background process launch.
  • Background here means "spawn the forwarding child via spawn_agent and do not wait in the parent turn." The companion review command inside that child still runs once, in the foreground, inside the child thread.
  • Before spawning the built-in child, capture the review job id plus routing context in one call: node "<plugin-root>/scripts/claude-companion.mjs" background-routing-context --kind review --json
  • If that helper returns a non-empty jobId, pass it into the companion command as an internal --job-id <reserved-job-id> routing flag.
  • If that helper returns a non-empty ownerSessionId, include --owner-session-id <owner-session-id> in the companion command.
  • If it returns an empty ownerSessionId, omit --owner-session-id entirely. Never leave an empty placeholder such as --owner-session-id --job-id.
  • If that helper returns a non-empty parentThreadId, pass it into the child prompt as the parent thread id for one-shot completion notification.
  • If it returns an empty parentThreadId, omit the notification path instead of emitting a blank thread-id placeholder.
  • Spawn exactly one transient forwarding child through spawn_agent with:
    • agent_type: "default"
    • fork_context: false
    • model: "gpt-5.4-mini"
    • reasoning_effort: "medium"
  • Prefer a self-contained child message over inheriting parent history. The built-in review child should not rely on full parent thread replay for normal operation.
  • Only consider fork_context: true as a last resort for a short follow-up where essential context truly cannot be summarized. Avoid it for large or long-lived threads because it can exhaust the child context window.
  • Before spawning the built-in child, emit one short commentary update that records the attempted subagent model selection. Default text should clearly say the parent is starting the built-in review child with gpt-5.4-mini at medium effort.
  • If spawn_agent rejects gpt-5.4-mini with an explicit model-unavailable error such as Unknown model, model unavailable, or equivalent "not in list / unavailable" wording, retry once with model: "gpt-5.4" and the same reasoning_effort: "medium".
  • If that fallback happens, emit one short commentary update that clearly says gpt-5.4-mini was unavailable and the parent is retrying with gpt-5.4.
  • Do not use that fallback for arbitrary failures.
  • The built-in child must be a pure forwarder. It should:
    • run exactly one shell command
    • execute: node "<plugin-root>/scripts/claude-companion.mjs" review --view-state defer <arguments with --wait/--background removed>
    • run that command as one blocking foreground shell-tool call, not as a background terminal/session
    • do not request a shell session id, poll a shell session later, or return before the companion command exits
    • if the available shell tool is exec_command, call it once in non-interactive mode and wait for command exit in that same call
    • include --owner-session-id <owner-session-id> only when the parent resolved a non-empty owner session id
    • include --job-id <reserved-job-id> when the parent reserved one
    • never leave an empty routing placeholder such as --owner-session-id --job-id
    • return only that command's stdout exactly, with no added commentary
    • ignore stderr progress chatter such as [cc] ... lines and preserve only the final stdout-equivalent result text
    • not inspect the repo or perform the review itself
    • if a parent thread id is available, allow one extra send_input call after a successful shell result and before finishing
    • the child prompt must mention the tool name send_input literally; do not replace it with a vague instruction like "send a message to the parent"
    • that send_input call must target the provided parent thread id, must happen at most once, and must not run on failure paths
    • that send_input call should use the exact tool shape send_input({ target: <parent-thread-id>, message: <steering-message> }) with no extra prose payload
    • if the parent provided a non-empty parent thread id, do not silently drop the completion notification path from the child prompt
    • if a reserved review job id is available, use this exact notification message: Background Claude Code review finished. Open it with $cc:result <reserved-job-id>.
    • otherwise fall back to: Background Claude Code review finished. Inspect it with $cc:status first, then use $cc:result for the finished job you want to open.
    • that send_input message should use one of those exact steering messages instead of inlining the raw review result
    • use these steering messages instead of embedding the raw review result in the notification
    • do not embed the raw Claude result inside the notification message
    • do not include any other prose in that notification message
    • use that same steering message as the child's own final assistant message instead of echoing the raw review result
  • Do not wait for completion in this turn.
  • After launching, tell the user: Claude Code review started in the background. Check the subagent session or $cc:status for progress, and once it's done, we will let you know to see the results.
  • Do not fix anything mentioned in the review output.

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.