Async Agent Routines.
Recurring work, audited.

Once your synchronous loop is reliable, the next move is turning the workflow you ran by hand into a routine that runs on a trigger — with a checkpoint artifact, a verification gate, and a human approval line you can review.

Free walkthrough. Six elements. Six worked examples. No form.

Six pieces. Name each one before you let it run.

If any of the six is missing or vague, you don't have a routine — you have a cron job that will quietly do the wrong thing. Write each one down before the agent runs unattended.

01

Trigger

The exact event that starts the routine. A cron schedule, a webhook from GitHub or Linear, a row inserted in a table, a Slack command. Write the trigger spec down — when it fires, what payload it carries, what should make it skip.

02

Repo & context

The repo, the docs, the database view, the past-week transcripts — whatever the agent needs to read to do the work. Pin it in writing. Context that drifts week to week is the most common cause of routine quality decay.

03

Allowed actions

What the agent is allowed to do, by name. Open a PR, post a draft to a Slack DM, update a row, write a file in /proposed/. Anything not on the list, it can't do. This is where you decide how much trust the routine gets.

04

Checkpoint artifact

The single file or message the routine produces every run. A markdown diff, a draft email, a CSV, a PR with a title and body. One thing you can open and read. If you can't point at the artifact, you can't audit what the routine did.

05

Verification gate

The check that runs before the artifact reaches you. Lint, tests, a self-evaluation prompt, a schema check on the JSON it produced. Cheap, deterministic, and run every time. Failure stops the routine and pings you.

06

Human approval line

Where you sit in the loop. Approve the PR, click send on the draft, mark the row reviewed. The routine never crosses this line on its own. The approval line is the difference between an agent you trust and an agent you have to babysit.

What this looks like in real work.

Each one is a routine I'd actually ship. The shape is the same six pieces — trigger, context, actions, artifact, gate, approval — applied to a specific workflow you probably already run by hand.

Weekly changelog monitor

Trigger: Monday 9am cron. Context: Anthropic, OpenAI, Gemini, Vercel AI SDK release feeds. Artifact: a markdown diff posted to a private Slack channel. Approval: you reply with the two items worth pulling into the course or harness.

PR review + patch notes

Trigger: GitHub webhook on PR opened. Context: the diff plus CLAUDE.md and AGENTS.md. Artifact: an inline review with suggested patch and a one-paragraph summary. Approval: you accept, edit, or close the suggestions.

Sales-call note → CRM update

Trigger: new transcript saved. Context: the transcript plus the account record. Artifact: a follow-up draft, a next-step checklist, and proposed CRM field updates. Approval: you send the email and click apply on the field updates.

Docs freshness audit

Trigger: first of the month. Context: the docs tree plus the recent product changelog. Artifact: a stale-docs list with proposed edits as a draft PR. Approval: you review section by section, merge or comment.

Lightweight pre-deploy QA

Trigger: CI job on merge to main. Context: the diff, the test output, the deploy preview URL. Artifact: a go/no-go note with the three things to spot-check. Approval: you click deploy, or you don't.

Competitive source watcher

Trigger: Friday afternoon cron. Context: a short list of competitor blogs, Substacks, and release pages. Artifact: a one-page brief — what shipped, what changed, what's worth a closer read. Approval: you decide what to write up or react to.

Routines come after the synchronous loop, not before.

Don't put a workflow on a cron until you've run it by hand three times and the diff looks the same every time. The harness teaches the synchronous loop; routines turn that loop into something always-on.

Start with the harness

If you haven't yet, grab the harness. AGENTS.md, CLAUDE.md, five slash commands, scope filter. Get the synchronous loop reliable first.

Run the scope filter

Use the scope filter on the workflow you'd put on a trigger. If the synchronous version can't ship in 14 days, the async version isn't ready either.

Then make it a routine

Once you trust the manual version, write the six pieces above for your workflow. The artifact and the approval line are where most operators cut corners — name them first.

I'll scope and build it with you.

Routines are exactly what the consulting and coaching engagements are for. Bring one repeated workflow — sales note review, weekly brief, docs audit, QA pass. We'll write the six pieces, ship the v1, and put it on a trigger you can audit.

1:1 coaching → · Consulting build → · Next cohort →