AI SavvyFounders Standard Operating Procedure

Standard Operating Procedure  ·  Claude Code

Stop prompting.
Start looping.

Two commands built into Claude Code keep working after you stop typing. This SOP covers what /goal and /loop each do, when to reach for which, and the exact setups to run your first one today.

20 minutes
Intermediate
Updated June 2026
Requires Claude Code v2.1.139+
01

What this covers

Most founders still use Claude one prompt at a time. You type, you wait, you read what came back, you fix it, you type again. You are holding its hand through every step.

That is fine for a single task. It falls apart the moment the work has ten steps, or needs checking, or you would rather be doing something else while it runs.

A loop takes that seat for you. You hand Claude one finish line and it keeps working turn after turn, checking its own work each time, until the finish line is actually crossed. You are not writing cleverer prompts at that point. You are setting up the thing that does the prompting for you.

A prompt is you doing the work with Claude. A loop is Claude doing the work while you go and do the part only you can do.

This SOP covers both commands, exactly when to reach for each one, and the copy-paste setups to run your first loop today.

02

Who this is for

This SOP is for anyone running Claude Code who wants to move from manual prompt-by-prompt sessions to autonomous loops that keep working while they step away.

Important

Neither /goal nor /loop will work if you type them into the normal claude.ai chat box. They are built into Claude Code only, which now runs inside the desktop app as well as the terminal.

Prerequisites before you begin:

  • a. Claude Code installed and running (desktop app or terminal)
  • b. Version 2.1.72 or later for /loop access
  • c. Version 2.1.139 or later for /goal access
  • d. At least one real multi-step task you want to hand off
03

Check your version

Before running either command, confirm you are on the correct version of Claude Code. Running an older version means the command will not exist and nothing will happen.

  • 1. Open Claude Code in the desktop app or your terminal session.
  • 2. Check the version number shown in your settings or by typing claude --version in your terminal.
  • 3. If your version is below 2.1.72, update Claude Code through the desktop app or by running the update command for your install method.
  • 4. Confirm again. You need 2.1.139 or later for /goal specifically.
Tip

After a successful update, type /goal on its own with no arguments. If the command is live, Claude Code will show you how many turns and tokens the last goal used. If nothing happens, your version is still too old.

04

Pick the right command

The two commands look similar. They are not the same tool. Reaching for the wrong one wastes setup time.

Command When to use it How it stops Driven by
/goal Work with a finish line. Clean a list until zero rows are invalid. Process a folder until every file passes. Stops automatically when the checker confirms the finish line is crossed, or when your stop clause triggers. Progress toward a provable outcome
/loop Work with a recurring rhythm. Check a site every 15 minutes. Review your task list each morning. Runs until you stop it manually (press Esc) or it reaches the session expiry (a few days). The clock

The quick test is one question: are you pushing work toward a finish line, or watching for something to change? Most real work has a done, which means most loops worth building start with /goal.

Warning

/goal is driven by progress and ends when the work is proven done. /loop is driven by the clock and ends when you say so. People reach for the wrong one first because they look like the same tool. They are not.

05

Run your first /goal

You give Claude a finish line instead of a task. It keeps working on its own, turn after turn. After every turn a small fast model reads the conversation and checks one thing: is the finish line crossed yet. If it is not, Claude starts another turn. The moment it is met, the goal stops by itself and hands you a summary.

The one rule most people get wrong

The finish line must be something Claude can prove inside the chat. The checker only reads what Claude has already put on screen. It does not open your files or run anything by itself. "Make it good" gives it nothing to check. Give it a number it can hit instead. "Every row has an email and the missing count prints zero" has a clean yes or no.

  • 1. Open a Claude Code session.
  • 2. Write your finish line as something Claude can verify on screen using a number or a clear boolean check.
  • 3. Add a stop clause at the end: or stop after 20 turns. This prevents a runaway loop if the checker gets confused.
  • 4. Type /goal followed by your finish line and paste it into Claude Code.
  • 5. Watch the first one or two turns while you are nearby. Confirm it is checking itself correctly before you step away.
  • 6. To stop a running goal: type /goal clear. To check its progress: type /goal on its own.

Ready-to-paste examples

Claude Code — Tidy a folder
/goal every file in the /posts folder has a meta description under 160 characters and a title under 60 characters. After each file, print both counts in the chat so they can be checked. Do not change the body text. Stop when every file passes, or after 25 files.
Claude Code — Clean a list
/goal every contact in contacts.csv has a valid email and a first name. After each pass, print how many rows are still missing one of those. Stop when that number is zero, or after 15 passes.
Why these work

Both examples give Claude a number to hit, so the checker knows the exact moment it passed. Claude edits, counts, sees it is still short, fixes it, counts again, and only moves on once the count clears. The checking you used to do by hand is now part of the job.

06

Run your first /loop

Reach for /loop when the work is not "finish a pile" but "keep an eye on something." You give it how often and what to do, and it re-runs that for you on its own.

  • 1. Open a Claude Code session.
  • 2. Decide on your interval. Units are s (seconds), m (minutes), h (hours), d (days). Lead with the interval like 30m or trail it like every 2 hours.
  • 3. Leave the interval off entirely and Claude will pick its own timing: shorter while something is active, longer once it goes quiet.
  • 4. You can also hand /loop a command or skill you have already saved, and it will run that one each round.
  • 5. To stop a running loop: press Esc while it is waiting for its next run.

Ready-to-paste examples

Claude Code — Watch something
/loop 15m check whether my homepage loads normally, and the moment it does, tell me and stop checking.
Claude Code — A daily nudge
/loop every morning, read my task list and tell me the three things this week that actually bring in money.
Session scope

A /loop lives inside the Claude Code session you started it in. It runs while that session is open and expires on its own after a few days, so a forgotten loop can never keep billing you. For something that has to survive a restart and run every single day, like a 7am brief, use the desktop Scheduled feature instead of /loop.

07

Use the Loop Charter for complex jobs

A one-line goal is enough for a small job. For a bigger one with many steps, hand the loop a charter: where the work lives, how it should check itself, how it should remember, and when to stop. This is not a separate feature. It is a prompt you feed the command.

Fill in the brackets, then paste the whole thing into Claude Code, or pair the GOAL line with /goal so the built-in checker confirms every item.

  • 1. Copy the Loop Charter template below.
  • 2. Fill in the GOAL section first. Describe the finished state in one or two sentences. Be specific about what done looks like and make it something you can point a number or a check at.
  • 3. Fill in WHERE THE WORK LIVES. Tell it where to find the work: scan a specific folder, read a specific file, check a specific source.
  • 4. Fill in the check inside HOW TO CHECK YOURSELF. Pick what fits: re-read the file and confirm it meets the goal, run the check, or take a screenshot and confirm it looks right.
  • 5. Set the stop number inside WHEN TO STOP. This caps how many items it processes per run.
  • 6. Paste the completed charter into your Claude Code session and run it. Watch the first item get processed before stepping away.
Claude Code — The Loop Charter
You are running as a loop, not answering one prompt. Here is your charter.

GOAL
[Describe the finished state in one or two sentences. Be specific about
what done looks like, and make it something you can point a number or
a check at.]

WHERE THE WORK LIVES
[Tell it where to find the work. For example: scan the /pages folder for
files with old pricing. Or: read TODO.md and treat every unchecked box
as a task.]

HOW TO WORK
Work on one item at a time and finish it before starting the next. Match
the patterns in the existing files instead of inventing new ones. If an
item needs a decision only I can make, like spending money or deleting
something, stop on that item, add it to a "needs me" list, and move to
the next.

HOW TO CHECK YOURSELF
After each item, prove it is done before marking it. [Pick what fits:
re-read the file and confirm it meets the goal, run the check, or take
a screenshot and confirm it looks right.] If the check fails, fix it
and check again, up to three tries, then log it as blocked and move on.

HOW TO REMEMBER
Keep a file called LOOP-STATE.md. After every item, write the item name,
whether it is done, blocked or needs me, what you changed, and anything
the next run should know. Read this file first at the start of every run
so you never redo finished work.

WHEN TO STOP
Stop when every item is done or logged as blocked, or when you have
completed [N] items this run. Then give me a short report: what got done,
what is blocked, what needs my call.

Start by reading LOOP-STATE.md if it exists, then find the work.
Why the memory file matters

The LOOP-STATE.md file is what turns ten separate runs into one steady employee. Without it, every run starts from nothing. With it, the loop picks up exactly where it left off, never redoing finished work, never losing track of what is blocked.

08

Add the upgrades

The two commands are the engine. A few things around them make a loop stronger and safe enough to leave running while you are not watching.

  • a.
    Train it once with a skill A skill is a short file that holds the things you keep re-explaining: how your business is set up, your formats, your rules. Write it once and every loop run starts already knowing your world, so you are not pasting the same context every time.
  • b.
    Give it keys with connectors Connectors plug Claude into your real tools: your inbox, your CRM, your drive. Without them a loop can only touch local files. With them, "find the work" can mean "read my inbox" or "check my pipeline."
  • c.
    Do not let it grade its own paper The loops you can trust keep the one doing the work separate from the one checking it. A second set of eyes on every item is what makes a loop safe enough to run while you are off doing something else.

The thread running through all three

This is the same idea as hiring.

You onboard someone with context, you give them access to the tools, and you put a check in place before their work ships. A loop is just that, built once and then running without you.

Honest notes

When a loop is the wrong tool

A one-off does not need a loop

If the work is a single answer, like writing one email or summarising one document, a normal prompt is faster. Loops earn their setup on work that repeats or has many items in it.

Loops use more of your plan

A loop that checks itself and retries is running several turns for every item, so you reach your usage limit faster than normal chatting does. Start with small batches. That is exactly what the "stop after N" line in the charter is for.

If you cannot describe the check, it is not ready

An unchecked loop just makes mistakes faster. If you cannot say how the loop should prove its own work, keep it as a prompt until you can. The check is the whole thing.

Frequently asked questions

FAQs

Can I run /goal and /loop at the same time?

One goal runs at a time. A /loop is separate and runs in its own rhythm. They do not conflict but you cannot run two /goal instances simultaneously in the same session.

What happens if I close the Claude Code session while a loop is running?

The loop is tied to the session it was started in. If you close the session, the loop stops. It will not resume when you reopen. For something that needs to survive a restart, use the desktop Scheduled feature.

Will a forgotten /loop keep billing me?

No. A /loop expires on its own after a few days even if you forget to stop it. This is a deliberate safety rail.

Can /goal access my files directly?

The checker that confirms when the goal is met only reads what Claude has put on screen in the conversation. Claude itself can read and edit files if you have given it file access in your session. The key rule is that the verifiable check must show up on screen as a number or a clear yes/no.

How do I know which version of Claude Code I have?

In your terminal, run claude --version. In the desktop app, check the settings panel. You need 2.1.72 or later for /loop and 2.1.139 or later for /goal.

Troubleshooting

Common issues

Issue Likely cause Fix
/goal or /loop does nothing You are in the normal claude.ai chat, not Claude Code Switch to Claude Code in the desktop app or terminal
Command not found error Claude Code version is too old Update to 2.1.139 or later and try again
Goal runs forever or stops too early Finish line is not verifiable on screen Rewrite the goal with a specific number or count that Claude prints each turn
Loop keeps redoing finished work No memory file in place Add the LOOP-STATE.md instruction from the Loop Charter template
Hitting usage limits faster than expected Loop is self-checking and retrying, multiplying turn count Add "stop after N items" to the charter and work in smaller batches

Go deeper

Watch the whole setup on screen.

In about an hour, see the brief that writes itself, the proposal that builds after a call, and the loops that keep working while you are off the laptop.