"Loop Engineering" — Addy Osmani
Verdict: READ (15-20 min). As of this writing this is the most complete anatomy-of-a-loop treatment in circulation — the single cleanest vocabulary for "what a loop is actually made of." Read it once end to end; it's the reference doc you'd point a new hire at before explaining why RDCO's Agent Brigade goes further.
Why this is in the vault
"Loop engineering" crystallized as a named practitioner discipline in June 2026 around Boris Cherny's line "I don't prompt Claude anymore… my job is to write loops." Osmani's essay is the serious six-part practitioner treatment of what that actually means to build. RDCO's Agent Brigade pattern (skill-agent-brigade plugin) independently arrived at several of the same primitives before this essay published — this note grounds exactly what Osmani prescribes, unfiltered, so the companion mapping note ([[2026-07-04-loop-engineering-vs-agent-brigade]]) isn't vibes-based.
Published 2026-06-07 (per the fetched page).
The core argument
Osmani's frame: loop engineering means you stop prompting an agent turn-by-turn and instead design the system that runs the agent for you — "you design the system that does it instead." He breaks the anatomy into five pieces (plus a sixth, state/memory, folded in) and walks each in turn:
- Automations — "the heartbeat." Scheduled, recurring, autonomous discovery/triage runs are what make a loop a loop rather than a one-off session. This is the continuity layer everything else sits on.
- Worktrees — so parallel doesn't turn into chaos. Running multiple agents against the same repo at once needs filesystem isolation or "two agents writing the same file is the exact same headache" as two humans doing it. He ties this concretely to
git worktree(--worktreeflag) as the primitive. - Skills — so you stop explaining your project every session. Reusable, codified project knowledge (
SKILL.md+ assets, invoked with$name) replaces re-briefing the agent from scratch each run. - Plugins and connectors — the loop touches your real tools. MCP-based connectors are the difference between "an agent that says 'here is the fix'" and one that actually ships it — the moment a loop stops reporting and starts acting on real external systems.
- Sub-agents — keep the maker away from the checker. The model that wrote the code "is way too nice grading its own homework," so a second, structurally separate agent verifies. He names Codex's Automations/Skills/Subagents (TOML in
.codex/agents/) and Claude Code's/loop,/goal, cron, hooks, and.claude/agents/as the concrete tool surface for both halves of this split. - State/memory — markdown files, Linear boards,
AGENTS.md, and progress files as the substrate that lets a loop pick up where it left off across runs.
He closes with a concrete "what one loop looks like" worked example, then a limitations section ("what the loop still does not do for you") before the closing argument, "Build the loop. Stay the engineer."
Author bio / bias read
Per the page's own footer: Osmani "spent over 14 years at Google leading developer experience across Chrome and, in recent years, AI (Gemini, coding agents, and agentic engineering), most recently as a Director at Google Cloud AI." The page carries an explicit disclaimer that his views are his own, not Google's.
Bias read: low contamination risk, but worth naming precisely. He is even-handed across vendors in this piece — he covers OpenAI's Codex app and Anthropic's Claude Code side by side with roughly equal specificity, and does not push Gemini in this essay at all, which cuts against a naive "Google guy plugging Google" prior. The residual tilt is structural rather than product-specific: as a Director at Google Cloud AI, his professional interest is in agentic-AI adoption broadly continuing to be the exciting frontier, regardless of which vendor's tools people use. Treat this as a credible practitioner survey, not promotional content — but note the built-in optimism bias of someone whose job depends on this category mattering.
What's genuinely new vs. repackaged
- New: the six-part vocabulary itself. Automations / worktrees / skills / connectors / sub-agents / memory hadn't been codified this crisply as a checklist before this piece, as far as this fetch surfaced.
- New-ish and worth flagging: worktrees as a first-class loop primitive. Explicit
git worktreeisolation for concurrent agents is a genuine technique RDCO's brigade rail does not currently have (see the mapping note's gap #1) — the rail is queue/lease-based and, per BRIGADE-INTERFACE.md, "one-walker-enforced," not filesystem-parallel. - New-ish: connectors framed as a risk-tier boundary, not just a capability — the moment a loop starts acting (merging PRs, sending messages) rather than reporting is treated as qualitatively different. Worth checking whether RDCO's MCP/resolver design has an explicit write-action gating story (the docs read for this task didn't surface one — see mapping note gap #3).
- Repackaged, from an RDCO vantage: "sub-agent as checker, don't let the maker grade its own homework." This is exactly RDCO's critic-ADVISES / expo-DECIDES separation, already built and reasoned through independently in skill-agent-brigade's DESIGN.md before this essay published. Nothing new here for RDCO specifically, though it's validating that the industry converged on the same instinct.
- Repackaged: skills-as-reusable-context. RDCO's station model (an atomic skill = one phase/one concern) already implements this; the word "skill" is literally shared vocabulary between Osmani's essay and the brigade's own naming.
Author's own caveats (not RDCO's gloss — his own words)
- Token cost discipline: "you absolutely have to be careful about token costs."
- Unattended risk: "a loop running unattended is also a loop making mistakes unattended."
- Comprehension debt: "the faster the loop ships code you did not write, the bigger the gap between what exists and what you actually get."
- Cognitive surrender warning: "the comfortable posture is the dangerous one… tempting to stop having an opinion."
- Variance: "two people can build the exact same loop and get completely opposite results."
- His own closing balance: prompting agents directly by hand is still effective too — "it's all about finding the right balance."
Related
- [[2026-07-04-armin-ronacher-the-coming-loop]] — the skeptical counterweight essay, read as a pair with this one
- [[2026-07-04-loop-engineering-vs-agent-brigade]] — full anatomy-to-brigade mapping table, including honest gap-check
- [[2026-06-29-cherny-five-archetypes-agent-native-roles]] — Cherny's role-taxonomy piece; his "I don't prompt Claude anymore" line is the shared origin quote both loop-engineering essays orbit