Lesson 07 · Loop Engineering

Connectors, and reach

A loop that can only see the filesystem is a tiny loop.

Connectors are built on MCP. They let the agent read your issue tracker, query a database, hit a staging API, or drop a message in Slack. Osmani states the payoff as a contrast:

This is the difference between an agent that says "here is the fix" and a loop that opens the PR, links the Linear ticket and pings the channel once CI is green by itself. Addy Osmani, Loop Engineering

Connectors are why the loop can act inside your environment rather than just telling you what it would do if it could.

Portability, for free

Codex and Claude Code both speak MCP, so a connector written for one usually works in the other. And plugins bundle connectors and skills together, so a teammate installs your whole setup in one go instead of rebuilding it from memory.

Assemble the whole loop

You now have every piece. This is Osmani's own worked shape, and each step links back to the lesson that taught it.

#StepPrimitive
1Every morning, a scheduled run starts on the repoAutomation
2Its prompt calls a triage skill: yesterday's CI failures, open issues, recent commitsSkill
3Findings are written to a markdown file or a Linear boardState
4Each worthwhile finding opens an isolated checkoutWorktree
5A sub-agent drafts the fix; a second reviews it against the skills and testsSub-agents
6The PR opens, the ticket updates, the channel is notifiedConnectors
7Anything the loop cannot handle lands in your triage inboxYou
8The state file lets tomorrow's run continue from hereState

Look at what happened there. You designed it once. You prompted none of those steps. That is Steinberger's claim made concrete — and it is the same loop in Codex or in Claude Code, because the pieces are the same pieces.

Grant reach carefully Write access to a ticket tracker is recoverable. Write access to a production database is not. Give a new loop read-only connectors first.

Check yourself

What do connectors change about what a loop can do?

In the assembled loop, what happens to a finding the loop cannot handle?

Reconstruct the eight-step loop from memory. Do not scroll up.

Automation fires → triage skill reads CI, issues, commits → findings to state → worktree per finding → sub-agent drafts → second sub-agent verifies → connectors open PR and update ticket → leftovers to your inbox → state carries to tomorrow.

Read the source

Primary source: the What one loop looks like section of Loop Engineering. Read it after you attempt the recall above, not before.

Ask me. I can wire your first read-only connector and dry-run the eight steps against your repo without opening a single PR.