Back to Free Resources

Free Guide — April 2026

Your First Claude
Routine

Ten minutes from now you have a Claude routine running every weekday morning. Your laptop can be closed. Your computer can be off. Claude is still working.

Section 1

What a Routine Actually Is

A routine is a saved Claude Code configuration that runs on Anthropic's cloud infrastructure. You give it a prompt, point it at a repo, pick a schedule. From that point on, Claude does the work on a server you don't own, at a time you don't have to be awake for.

This is not the same thing as a scheduled prompt on your machine. A routine runs when your laptop is shut. When your computer is off. When you're on a plane, asleep, at dinner. The work happens without you.

Each routine can have three kinds of triggers:

  • Scheduled, running hourly, daily, weekdays, or weekly on a cron you set
  • GitHub event, running on a pull request or release event
  • API, running when your own code or tool POSTs to a private endpoint

You can combine triggers on one routine. For your first one, you'll use a schedule. It's the simplest and you'll feel the value immediately.

Section 2

Before You Start

Four things to check. Takes about two minutes.

1

A paid Claude plan

Routines are on Pro, Max, Team, and Enterprise. Not on Free. If you're on Free, upgrade to Pro at claude.ai/settings/billing. Pro is $20/mo and covers almost everything in this guide.

2

Claude Code on the web, enabled

Visit claude.ai/code. If you see the session list, you're good. If you hit a "not enabled" screen, the prompt will walk you through it in under a minute. If you prefer the CLI, run /web-setup in any Claude Code session.

3

A GitHub repository Claude can work in

Routines clone a repo at the start of every run. Any repo works. If you don't have one yet, go to github.com/new, create a private repo called ai-briefings, initialize it with a README, done. That's your routine's home base.

4

GitHub connected to Claude (optional for now)

When you create the routine, Claude will prompt you to connect your GitHub account if it isn't already. Let it. It's one click. This gives the routine permission to clone the repo and open PRs as you.

Section 3

Your First Routine: The Morning Briefing

You're going to build a routine that runs every weekday at 8 AM in your timezone. It scans your repo for what changed in the last 24 hours, writes a briefing, and opens a pull request with it.

Tomorrow morning, when you open GitHub, there's a new PR from Claude. The title is Morning Briefing — [today's date]. The description is the TL;DR. 20 seconds to read. Merge if you want to keep the record, close if you don't. Either way, you started your day with signal instead of noise.

I picked this one for your first routine because it needs nothing except GitHub. No Slack, no Linear, no API keys. And the prompt is generic enough that it works on literally any repo you own. Swap the prompt later for anything. You'll already know the shape.

Section 4

Set It Up in 5 Minutes

Every click, every field. Follow these in order and you'll have a live routine before the kettle boils.

1

Go to the routines page

Open claude.ai/code/routines. If you haven't used routines before, you'll see an empty state with one button: New routine. Click it.

2

Name it

Name: Morning Briefing. Keep it simple. This is the name you'll see in your routine list.

3

Paste the prompt

The big text field labeled Prompt. Copy the full prompt below and paste it in. Leave the model selector on the default (Sonnet is fine for this).

4

Select your repository

Under Repositories, click Add repository and pick the repo you want the briefing on. If this is the ai-briefings repo you just made, pick that. Leave Allow unrestricted branch pushes off. Claude will push to claude/-prefixed branches and open PRs, which is exactly what you want.

5

Leave the environment on Default

You'll see an Environment section. Stick with Default. Custom environments are useful later (API keys, setup scripts), but your first routine doesn't need any of that.

6

Pick the schedule

Under Select a trigger, choose Schedule. Frequency: Weekdays. Time: 8:00 AM. Timezone is already set to yours, but double-check. Runs may start a few minutes late due to stagger. That's normal.

7

Leave connectors alone

The Connectors section auto-includes whatever you already have connected. For this routine, Claude only needs GitHub access, which is already handled by the repo setup. You can remove the rest if you want a cleaner scope. Totally fine to leave them as is.

8

Click Create

The routine saves. You land on its detail page. It's live. It will run the next weekday morning at 8 AM automatically.

Section 5

The Prompt

This is the prompt Claude runs every morning. Copy it straight in. Don't rewrite it to sound like you yet. Ship the default, let it run for a week, then tune.

The structure does three things most first-time prompts miss: it names the output path, it specifies what to do if nothing happened, and it tells Claude how to write (short, no fluff, no fake insights). That's why the output is actually useful on day one.

Copy-paste prompt

You are writing a Morning Briefing for the owner of this repository.

Run every weekday morning. Save the briefing to `briefings/YYYY-MM-DD.md` using today's date in the owner's timezone. Open a pull request with it.

## What the briefing must include

1. **Heading:** `# Morning Briefing — [Day, Month D, YYYY]`

2. **TL;DR (3 bullets max):** The 3 most important things the owner should know right now. Lead with anything that needs action. Be blunt. No preamble.

3. **What happened in the last 24 hours:**
   - Commits merged to the default branch (short SHA, one-line summary, author)
   - PRs opened, merged, or closed
   - Issues opened or closed
   If a category has nothing, write `Nothing` on that line. Do not pad.

4. **Needs your attention today (top 3):**
   - Open PRs waiting on review for more than 48 hours
   - Issues labeled `bug`, `blocker`, `urgent`, or `p0`
   - Any branch prefixed `claude/` with work I started but didn't ship
   For each item, give: what it is, why it matters in one sentence, and the specific next step the owner can take in under 5 minutes.

5. **One small win (optional):** If you spot a one-click improvement while reviewing the repo (broken README link, outdated dependency note, a stale TODO that's already been fixed elsewhere), name it and offer to fix it in the next run. If you don't spot one, skip this section entirely. Do not invent work.

## How to write it

- Short sentences. No fluff. No "I hope this helps."
- Plain language. Do not explain engineering jargon back to the owner.
- If the repo has been quiet, say so directly: `Nothing happened since yesterday. Enjoy the calm.`
- No emojis. No headings deeper than `###`.

## How to deliver it

1. Create a new branch: `claude/briefing-YYYY-MM-DD`
2. Commit the file `briefings/YYYY-MM-DD.md`
3. Open a pull request titled `Morning Briefing — Month D, YYYY` with the TL;DR as the PR description
4. Stop. Do not merge. The owner will read it in their GitHub inbox and decide.

## Tone

Write like a direct peer, not a corporate status report. The owner already knows what this repo is. Skip context-setting. Get to the signal.

## If this is your first run

There's no "yesterday" to compare against yet. Write a briefing that describes the current state of the repo:
- What the repo is, in one sentence, based on the README
- Number of open PRs, open issues, contributors in the last 30 days
- The 3 files that have changed most recently and what they do
- One thing that looks worth the owner's attention (stale branches, an open PR sitting for weeks, a TODO you disagree with)

Then ship it as the first briefing and pick up tomorrow with the normal flow.

Section 6

Test It Right Now

Don't wait until tomorrow morning to see if your routine works. Fire a manual run now.

1

Click Run now

On the routine's detail page, there's a Run now button. Click it. A new session opens in the tab list.

2

Watch the session

Click into the session to watch Claude clone the repo, scan the activity, write the briefing, and push a branch. First run usually takes 2 to 4 minutes. No need to stare at it. Go make coffee.

3

Check GitHub for the PR

Head to your repo on GitHub. You should see a new pull request titled Morning Briefing — [today's date]. Click in. Read the file. This is what you'll get tomorrow without lifting a finger.

4

Merge or close

Merge if you want to keep the briefing in your repo history. Close if it was just a test and you'd rather start fresh tomorrow. Either is fine. The routine runs again on schedule regardless.

Section 7

Three Upgrades for Week Two

Once your morning briefing has run a few times and you trust it, here are three upgrades worth the hour. Each builds on exactly what you already set up.

Upgrade 1

Post the briefing to Slack instead of a PR

Open the routine, scroll to the prompt, change the How to deliver it section to this:

## How to deliver it

Post the briefing as a message in the #morning-briefing Slack channel.
- TL;DR at the top as a short message
- Full briefing as a threaded reply so the channel stays scannable
- Do not open a PR. Do not commit the briefing to the repo.

Requires the Slack MCP connector to be enabled on your Claude account. Enable it once under Settings > Connectors on claude.ai. After that, any routine can read from and write to Slack.

Upgrade 2

Add a bespoke PR reviewer on the same repo

Create a second routine. Same repo. Trigger type: GitHub event. Event: pull_request.opened. Filter: is draft = false. Prompt:

Review this pull request against our team's checklist:
1. Does the PR do one thing? If it mixes
   unrelated changes, say so.
2. Are there tests for the new behavior?
3. Any obvious security issues?
   (secrets committed, unsafe SQL,
   missing auth checks)
4. Does the change match what the PR
   description says it does?

Leave inline comments on specific lines.
End with a summary comment that starts
with a clear verdict: APPROVE / REQUEST
CHANGES / NEEDS DISCUSSION.
Keep it tight. No preamble.

This routine runs on every non-draft PR. The Claude GitHub App must be installed on the repo (the trigger setup prompts you if it isn't).

Upgrade 3

Trigger a routine from anywhere with one HTTP call

Open your routine, add an API trigger, click Generate token, and copy it immediately (it's only shown once). The modal gives you a URL like api.anthropic.com/v1/claude_code/routines/trig_.../fire. POST to it from your CI, your monitoring tool, a Zapier step, a keyboard shortcut:

curl -X POST <your_routine_url>/fire \
  -H "Authorization: Bearer <your_token>" \
  -H "anthropic-beta: experimental-cc-routine-2026-04-01" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{"text": "Sentry alert fired in prod. Stack trace: ..."}'

The text field is free-form context passed to the prompt. This is how you wire Claude Code into alerts, deploys, or any internal tool that can make an HTTPS call.

Section 8

Five Mistakes to Avoid

1. Trying to do five things in one routine

The most common failure mode. Your first routine should do one small thing really well. Summarize. Review. Digest. Not "summarize, review, digest, post, tag, and notify." Ship one, let it run for a week, build the next one separately.

2. Vague prompts with no success criteria

"Write a summary of what happened" is a worse prompt than "Write a 3-bullet TL;DR at the top, then a full activity log, then top 3 items needing action." Name the output. Name the sections. Name what to do if there's nothing to say. Routines are unattended, so the prompt has to carry itself.

3. Expecting pushes to the default branch

By default, Claude can only push to branches prefixed claude/. This is good. It means routines can never accidentally modify your main branch. Work with PRs, review on your schedule, merge manually. Don't flip Allow unrestricted branch pushes on unless you have a specific reason.

4. Setting a schedule below 1 hour

The minimum interval is one hour. Anything more frequent will be rejected. If you think you need every 15 minutes, you probably want an API or GitHub trigger instead, not a schedule.

5. Forgetting routines act as you

Commits, PRs, Slack messages, Linear tickets created during a run use your identity. That's usually fine. Just know that when your team sees a PR from your GitHub handle at 8:03 AM on a Sunday, that's your routine, not you.

That's it

Your AI Works Night Shifts Now

Tomorrow morning, Claude does the first pass on your repo before you're awake. Tuesday morning, it does it again. Wednesday, again. You read 20 seconds of TL;DR and start your day with signal.

That's the whole game with routines. Pick one small unattended thing. Write the prompt as if you're handing it to a direct report who needs to know exactly what success looks like. Schedule it. Forget it.

The power isn't in any one routine. The power is what happens when you have five of them running and you don't have to think about any of them.

Go build the second one.

Zero to Automated

Get the full AI operating system

Guides are a great start. But inside Zero to Automated, you get a done-for-you AI system deployed within 48 hours, plus everything you need to keep building:

  • Claude Code 101 — 8 lessons, zero to automating real work by Sunday
  • Ready-to-install Claude Skills — a growing library with 2+ new skills every week
  • Done-for-you workflows — copy, paste, run. New ones every week.
  • Weekly live builds — watch real projects get built, ask questions, follow along
  • Small group coaching — direct access to both founders
See what's inside

Price locked for life at whatever you join at.