Soul Loop, Full Send, Full Stop - agent skills for shipping PRs unattended
- YT :: https://www.youtube.com/watch?v=5Bmp9cz1JN8
- Original title :: These 3 skills changed my life
Theo walks through three markdown skills that sit behind roughly half of his T3 Code threads: Soul Loop (cross-model review loop before a PR), Full Send (autonomous work through to a merged PR) and Full Stop (the same, but stop at "ready to merge"). Each skill encodes a behaviour he kept repeating by hand. The broader lesson: watch your own workflow, notice what you trust agents with, and turn it into skills so you manage agents at a higher layer.
Managing skills
- A repo called
fleetsyncs skills, MCPs and auth across all his machines; skills are grouped by scope (all machines, Claude-only, one machine). - Descriptions are triggers, not descriptions: "use when the user says Soul Loop". This keeps skills from being pulled in randomly.
- He lets agents edit skills to fix observed misbehaviour, but rereads them - Opus had bloated Soul Loop with slop, so he rewrote it by hand.
- He avoids
disable-model-invocation/ slash-invoking: he wants to combine several skills in one prompt ("takeover, full send") or via speech-to-text, and Claude Code puts the prompt into context twice on manual invocation.
Soul Loop
- Opus 5.5 owns the code; GPT-6.1 Sol reviews it in a loop. Fix what's right, push back on what's wrong, make the minimal change, watch for scope creep.
- Budget: 3 rounds (round 1 full, later rounds only changed code and open findings); extend to 5 only for security, permissions or data loss; stop early when only nits remain. One reviewer at a time, no nested sub-agents.
- The PR description must state "reviewed with Soul Loop, N rounds, verdict" - Opus tended to hide when Sol was unhappy.
- Access to OpenAI models from Claude Code via a self-hosted CLI proxy (also logs every request to ClickHouse). Use Codex subs anywhere; use Claude subs only inside Claude Code.
- T3 Code's Orchestrator V2 lets a thread delegate reviews to other models in their native harnesses (Codex, Gemini, Muse). Different training means different findings: OpenAI is most thorough, Claude catches odd dangerous issues, Gemini hallucinates more.
- Result: PRs take longer to open but merge faster, with less slop pushed onto the team.
Full Send
- Context: in T3 Code the sidebar is an inbox. Every thread should be either working or gone; merged PRs auto-settle the thread.
- Granted permissions are spelled out (merge when gates pass, force-push own branch with lease) because OpenAI models hesitate without explicit consent.
- Flow: finish, prove, file PR, babysit PR (use T3 Code's PR watcher), merge, report.
- Proof is evidence observed in-session: reproduce the failure, fix, watch the same reproduction pass; run CI checks; add one focused test; for UI, run the app and look. Screenshots uploaded via another skill.
- Merge gate: proof covers every change, required checks green, review bots done and findings fixed or answered, no pending human change requests, branch up to date and mergeable.
- Asking Theo: only through the harness's question tool (a plain message goes unseen), with full context and recommended options, and only when blocked.
- Stats: 32 Full Send uses, 27 merged without him looking again, none caused problems. Safety net: a nightly every 6 hours catches breakage before stable.
Full Stop
- Full Send minus the merge: keep fixing, verifying and handling CI and reviewer comments until the PR is ready, then hand it to him. Now his most used skill.
- Related: Takeover (finish someone else's PR or branch, keep the original author's credit) and Modernize (rebase, check whether the PR is still needed, close if not).
- The skills form a graph that grew organically from repeated prompts; he plans to publish them as
tstack.
Sponsor and plugs
WorkOS (enterprise SSO, MCP auth, agent sign-up standard). Mega Dev course with John Lindquist and others, meant for working devs whose employer pays.