brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
reviewRun 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 <low|medium|high|xhigh|max>. Defaults to opus with no forced effort. Use as the default path for ordinary code-review requests when the user did not explicitly ask for stronger adv…
Independent GitHub snapshot · Automated classification · Original documentation governs
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 <low|medium|high|xhigh|max> (defaults: model=opus and no effort; fable, opus, sonnet, and haiku each keep Claude Code's own effort default, and Claude Code owns which effort levels each model supports)
Forward --model unchanged to the companion. The companion trims surrounding whitespace, canonicalizes the friendly aliases fable, opus, sonnet, and haiku to lowercase, then forwards every other --model value unchanged to Claude Code. Claude Code owns alias resolution and supported effort levels; /model is the authoritative picker for the current account and provider.
Raw slash-command arguments:
$ARGUMENTS
Rules:
$cc:adversarial-review.Execution mode rules:
--wait, do not ask. Run the review in the foreground.--background, do not ask. Run the review in background through the built-in review subagent path.git status --short --untracked-files=all.git diff --shortstat --cached and git diff --shortstat.git diff --shortstat <base>...HEAD.git diff --shortstat is empty.(Recommended):
Wait for resultsRun in backgroundrequest_user_input by default in interactive threads and hides it only when [tools] experimental_request_user_input = false, and it does not exist in non-interactive threads. If you have no question tool but a user is reading this thread, ask in your own reply and stop there. In a non-interactive thread with no user to answer, skip the ask and proceed with the recommended mode. Never spin on a wait or collaboration tool looking for a picker this thread does not have.Argument handling:
--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.$cc:adversarial-review.../../internal-skills/review-runtime/runtime.md as supporting guidance only. It is an internal reference document, not a public skill to invoke.Foreground flow:
node "<plugin-root>/scripts/claude-companion.mjs" review --view-state on-success <arguments with --wait/--background removed>sandbox_permissions: "require_escalated" and the justification Allow the Claude Code companion to contact the Claude API for this requested review. Do not first try the companion command in the default network-disabled sandbox.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.Background flow:
default subagent instead of a detached background shell command.claude_review_runner-style helper role, raw Claude CLI, or any other review executor that bypasses the resolved companion command.&, nohup, detached spawn, or any equivalent direct background process launch.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.node "<plugin-root>/scripts/claude-companion.mjs" background-routing-context --kind review --jsonjobId, pass it into the companion command as an internal --job-id <reserved-job-id> routing flag.--job-id, also pass --cwd <workspace-root> using workspaceRoot from the same helper response. Reserved job ids are workspace-scoped.ownerSessionId, include --owner-session-id <owner-session-id> in the companion command.ownerSessionId, omit --owner-session-id entirely. Never leave an empty placeholder such as --owner-session-id --job-id.parentThreadId, pass it into the child prompt as the parent thread id for one-shot completion notification.parentThreadId, omit the notification path instead of emitting a blank thread-id placeholder.spawn_agent with:
fork_context: falsereasoning_effort: "medium"agent_type and no model, so the child uses the built-in default agent and inherits the parent model. Never pin a specific Codex model name here; the available catalog is owned by the host CLI and changes between releases.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.medium effort.node "<plugin-root>/scripts/claude-companion.mjs" review --view-state defer <arguments with --wait/--background removed>exec_command, call it once in non-interactive mode and wait for command exit in that same callexec_command, pass sandbox_permissions: "require_escalated" and the justification Allow the Claude Code companion to contact the Claude API for this requested review. on that one call; do not first try the companion command in the default network-disabled sandbox--owner-session-id <owner-session-id> only when the parent resolved a non-empty owner session id--job-id <reserved-job-id> when the parent reserved one--cwd <workspace-root> whenever the command includes that reserved --job-id--owner-session-id --job-id[cc] ... lines and preserve only the final stdout-equivalent result textsend_input call after a successful shell result and before finishingsend_input literally; do not replace it with a vague instruction like "send a message to the parent"send_input call must target the provided parent thread id, must happen at most once, and must not run on failure pathssend_input call should use the exact tool shape send_input({ target: <parent-thread-id>, message: <steering-message> }) with no extra prose payloadBackground Claude Code review finished. Open it with $cc:result <reserved-job-id>.Background Claude Code review finished. Inspect it with $cc:status first, then use $cc:result for the finished job you want to open.send_input message should use one of those exact steering messages instead of inlining the raw review resultClaude 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.