AI Guides › Playbooks

The Plan, Goal, Background, Review Card for Claude Code

By Nigel Guy · 7 min read

Most people use Claude Code as a chat that happens to edit files. They type a task, watch it work, accept whatever comes back when it sounds finished, and read the diff afterwards. That feels efficient right up to the moment "finished" turns out to mean "stopped talking".

You may have seen a short list of four commands that supposedly fixes this: /ultra-plan, /goal, /agents and /ultra-review. Two of those are real and current, two are not what the list says, and the idea behind all four is sound. This guide keeps the idea and uses the commands that exist today.

The rule: decide what "done" means before Claude starts, let something other than Claude check it, and only review what that check produced.

What we could and couldn't confirm

Checked against Anthropic's Claude Code documentation on 2026-10-04:

Command in the list Status today
/ultra-plan Does not exist. A command called /ultraplan was a research preview and has been removed; the docs point you to plan mode instead.
/goal Exists. Sets a completion condition that a separate model checks after every turn.
/agents Exists, but no longer does what the list implies. On current versions it prints a reminder about subagents. Background work is run with /background (alias /bg) and claude agents.
/ultra-review Not the name. The command is /code-review ultra, and /ultrareview still works as an alias. It is a research preview and may change.

Commands move quickly. If one of these behaves differently on your install, type / in a session and read what your version offers.

The Four-Slot Card

Each slot has one job and one thing it produces. Fill them in order.

Slot Command What it produces
1. Plan /plan <task> (or Shift+Tab to plan mode) A plan you approve before any file is edited
2. Goal /goal <condition> A finish line a second model checks after every turn
3. Background /background or claude --bg "<prompt>" The work running while you do something else
4. Review /code-review ultra Independently verified findings on the diff

Slot 1: Plan

Plan mode makes Claude read your code and write a plan without editing your source. You enter it with /plan followed by a description, or by pressing Shift+Tab until the status bar says plan mode. When the plan is ready you choose an approval option, or "No, keep planning" and tell it what to change. Approving exits plan mode and Claude starts editing.

The usual trap is approving a plan you skimmed. Ask for a plan that is easy to check, then check it.

You are a senior engineer planning a change in this repository. Do not edit any files.

Task: [TASK_IN_ONE_PARAGRAPH]
Out of scope: [THINGS_NOT_TO_TOUCH]
How we will know it works: [TEST_COMMAND_OR_OBSERVABLE_BEHAVIOUR]

Read the relevant code first. Then give me:
1. The files you expect to change and why, in order.
2. Any assumption you are making that I should confirm.
3. The risks, and what you would do about each.
4. A verification step for each part of the plan.

If anything above is missing or ambiguous, ask me before planning rather than guessing. Before answering, check that every step in the plan has a way of being verified.

Fill in the task, the exclusions and the test command.

Slot 2: Goal

/goal sets a condition and Claude keeps taking turns until a separate small, fast model judges it met, judges it impossible, or a turn fails on an error you must fix. Run /goal with no argument to see status; /goal clear removes it. One goal is active per session, and the condition can be up to 4,000 characters.

The evaluator does not run commands or read files. It reads what Claude has shown in the conversation. So a condition must be something Claude's own output can prove, such as a test run appearing in the transcript. "Make it better" gives the evaluator nothing to judge.

/goal [END_STATE]. Prove it by running [CHECK_COMMAND] and showing the output. Do not modify [PROTECTED_FILES]. If it is not met after [N] turns, stop and report what is blocking you.

Fill in one measurable end state, the command that proves it, anything protected, and a turn limit. The turn clause is the brake: without it, a goal runs until the evaluator is satisfied.

Two details worth knowing. A goal does not change your permission mode, so in manual mode Claude still asks before unlisted tool calls and an "unattended" goal will wait for you. And /goal will not work if hooks are disabled in your settings, since the evaluator is built on the hooks system.

Slot 3: Background

Use /background (or /bg) inside a session to detach it, or start one from the shell with claude --bg "<prompt>". Open claude agents to see all background sessions grouped by state: working, needs input, idle, completed, failed, stopped. Press Space on a row to peek and reply; Enter to attach.

Background sessions edit in isolated git worktrees by default, so parallel sessions do not trample each other. They run on your machine, stop at shutdown, and use your usage allowance like any session. A session that says "needs input" is waiting on you, so look at the list, because nothing pings you.

You are working unattended on [TASK]. Work in this repository only.
Done means: [DONE_CONDITION].
If you hit a decision that only I can make, stop and state the question and your recommended answer, rather than choosing silently.
When finished, summarise what changed, what you ran to check it, and anything you were unsure about.

Slot 4: Review

/code-review ultra launches a fleet of reviewer agents in a cloud sandbox. Per the docs, each reported finding is independently reproduced and verified. With no argument it reviews your branch against the default branch, including uncommitted and staged changes. Pass a PR number, such as /code-review ultra 1234, to review a pull request; for a PR, nothing is uploaded from your machine.

Facts to hold on to:

To make it check the work against the plan, add a note in plain words, as the docs allow on recent versions:

/code-review ultra check the change against this plan: [PLAN_SUMMARY_OR_FILE_NAME]

Fill in the plan. For quick, free feedback while iterating, run plain /code-review locally and save the cloud run for the pre-merge pass.

Worked example (hypothetical)

You run a small shop and want to move discount logic out of the checkout file into its own module.

  1. /plan with the prompt above. You notice the plan skips the gift-card path, and say so. Approve the revised plan.
  2. /goal the new module exists, npm test exits 0 with output shown, and no test files were modified; stop after 15 turns.
  3. While that runs, start a second, separate task, such as updating the README, with claude --bg from another terminal; it gets its own worktree.
  4. Before merging, /code-review ultra against the branch. You read the verified findings and ask Claude to fix the real ones.

Cost at time of writing: Claude Code is included in Pro, from $20 a month billed monthly (about £15 to £16; check the £ price at checkout), and Max starts at $100 a month (check the £ price at checkout).

What to skip

Guardrails

Sources

All 751 AI guides · JulieMango plans from £17/mo