Run a recipe on a schedule
With no one at the keyboard.
- For
- Anyone who runs the same recipe every week and would rather find the result waiting
- When
- Set up once
- Takes
- About ten minutes
- You get
- A scheduled job that runs a recipe with Claude Code and onecell, and a draft in onecell each time it runs
Set up a scheduled job that runs a onecell recipe with no one at the keyboard. Follow the "A scheduled agent" section of https://onecell.io/p/automations.md. - Recipe: <recipe name, e.g. Monday brief>. Fetch its prompt from https://onecell.io/p/<recipe slug>.md and save it as a prompt file, with the blanks filled in: <cluster or cell, and any other blanks>. - Schedule: <e.g. Mondays at 07:00 Europe/London>. - Where: <GitHub Actions in this repo, or cron on this machine>. - Write onecell-mcp.json with the onecell server; read ONECELL_API_KEY and ANTHROPIC_API_KEY from secrets, never from files. - Run: claude -p "$(cat <prompt file>)" --mcp-config onecell-mcp.json --strict-mcp-config --allowedTools 'mcp__onecell__*' < /dev/null - Allow only onecell's tools, so the job can't touch anything else. Show me the files, then run it once by hand so we can see the draft.
What your agent does
Fetches the recipe
From its public Markdown, and fills in the blanks once, so every run asks the same question.
Writes the job
A schedule, the MCP config and the command, with keys read from secrets.
Locks it down
Only onecell's tools are allowed, and the key is Drafts only, so the job can read and draft, and nothing more.
Runs it once with you
So you see the first draft before the schedule takes over.
What you get back
Open the full example →The Monday brief for Fernbrook, a made-up team, waiting in onecell when they start the week.
Sample Monday brief: Fernbrook, week of 18 August
- Open decisions
- 3
- Documents changed
- 17
- since last Monday
- Merged
- 11
- pull requests
Needs you
- Decide: price the annual plan at ten months or eleven? (proposed by Marco, 6 days old)
- Decide: is the fourth payment retry on annual plans intended?
- Decide: reminders that miss their window wait or skip? (Lena has a proposal)
- The Northwind renewal brief is a draft with no owner
- An empty draft, Untitled, has been in the hive since Thursday
What moved
| Cell | What changed |
|---|---|
| Engineering | Reminders handoff updated twice; the postmortem published |
| Customers | Two support answers turned into help articles |
| Marketing | Autumn newsletter drafted; voice check run on it |
| The hive | Q3 goals updated with August numbers |
Shipped
Partial payments and translated invoice PDFs went out on Thursday. The reminder fix is in dry run. Details in the repo snapshot and the postmortem.
Variations
A daily start instead of a weekly brief
Schedule it every weekday at 08:00 with the Monday brief's daily start variation, saved to your Inbox.
A weekly repo snapshot
Use the Repo snapshot recipe with <since> set to “last snapshot”, run on Fridays in the repo's own CI so it can read git.
Tell the team it ran
Add a last step that posts the draft's link to your team chat. The draft is the record; the message is only the nudge.
Tips
- Start with a recipe you already run by hand, so you know what good looks like.
- Keep the schedule's output as drafts. A person publishing it is the review.
- If a run fails, the job's log says why; onecell only sees the runs that reached it.