Erick Manrique
Agentic build system · OneLook orchestrator · 2026

I stopped being the router between my own AI tools.

Cursor would finish building a feature. I’d switch to a project-manager chat, confirm the work was done, then dispatch Claude Code to commit it to git. Fifteen to thirty minutes of overhead. Every single feature. That’s not a workflow — it’s middleware with a pulse. So I removed myself from the handoff.

Problem

The solo-builder-with-AI bottleneck isn’t "how do I get AI to do more." It’s "where am I still doing work a routing layer could do?" Every time you copy output from one tool and paste it into another, you’re the middleware.

Build

I wrote a custom TypeScript MCP orchestrator — ~440 lines, 5 registered tools (run_command, read_handoff_file, write_handoff_file, run_backend_agent, run_frontend_agent). run_backend_agent invokes the Claude Agent SDK in-process and captures the git diff; run_frontend_agent spawns the cursor-agent CLI as a fire-and-forget subprocess, then auto-chains back to stage and commit. The agents are stateless — they coordinate only through a shared AGENT_HANDOFF.md. The loop closes itself: Cursor builds a feature, the orchestrator chains Claude Code to commit and close the handoff, no human in the routing seat. It produced a first fully-automated commit with no human in the loop.

FIG 2.1the self-closing build loop: spec → Cursor builds → orchestrator captures diff → Claude Code commits + closes handoff → next.

War stories

Three Node process/env bugs I can defend in full: an MCP 60-second timeout I fixed by rewriting to fire-and-forget; stdin pollution of the spawned cursor-agent, fixed with stdio: ["ignore","pipe","pipe"]; and a PATH / spawn ENOENT I fixed by passing process.env plus a PATH fallback into the SDK options.

Supporting evidence

The orchestrator isn’t a one-off. The same discipline shows up in career-ops — a job-application pipeline with two independent Claude subagents (a draft agent constrained to sanctioned facts; an adversarial verify agent that red-teams every claim against an integrity deny-list, looping up to 3×), with the submit decision kept human and guardrail tests asserting no script can auto-apply (5 suites, 103 checks). And in StudyAgent’s two-agent spec⇄implementation handoff. Around all of it: deterministic CI, branch protection, git-worktree fan-out for parallel agents, and model-tiered advisory AI code review.

~440lines, the orchestrator
5MCP tools registered
103guardrail checks (career-ops)

The shipped artifact is the build system — the orchestrator, the verify pipeline, and the CI discipline are real, working, validated code. The OneLook app it was built for never shipped: no TestFlight, no users. Most of its Swift was agent-authored under my direction. The system is the credential, not the app.

  • TypeScript
  • Claude Agent SDK
  • MCP
  • cursor-agent CLI
  • Node
  • GitHub Actions