tstack: Theo open-sources the agent skills he uses every day, including one that merges your PR for you
SummaryTheo Browne (@theo) published tstack, nine MIT-licensed skills for Claude Code and Codex. Say "full send" and the agent takes a change all the way to a merged pull request. We read every line of the main skills. Here's what they do and what you're agreeing to.
· MODEL Editors · 3 min read
Some links may be affiliate links. Disclosure

Theo Browne (@theo, about 414,000 followers on X), the developer behind T3, published tstack overnight. "I caved. I am publishing my skills now," he wrote on X, and the announcement passed 190,000 views by Monday morning. The repo, t3dotgg/tstack (opens in a new tab), is MIT-licensed and had about 1,200 stars when we checked.
A skill is a plain Markdown playbook an agent loads when you say a trigger phrase. tstack has nine of them, written for Claude Code and Codex. Some use features of T3 Code, Theo's open-source agent app, and fall back to the harness's own tools when it isn't there.
What's in it.
- full send: takes a change all the way to a merged pull request while nobody is watching. It finishes the change, proves it, gets a review loop, files the PR, babysits CI and review bots, then merges.
- full stop: the same, but it stops when the PR is ready for you to merge.
- council: asks three strong models from three different providers to review the work, collects their scores out of 10, and loops until all three are satisfied. It tells the agent to report a missing provider rather than quietly swap one in, and to fight scope creep.
- sol loop: has GPT Sol review the change in a loop, three rounds by default and up to five for security, auth, data-loss or concurrency issues.
- babysit, take over, modernize, file a PR and leaving-pr-comments cover watching CI, finishing someone else's PR while keeping their credit, deciding whether an old PR should still exist, writing short PRs, and formatting comments the agent posts for you.
Who it's for. Developers who already run Claude Code or Codex against GitHub and want a ready-made set of habits instead of writing their own. Even if you never install it, the files are a good read on how to make an agent prove its work: full send defines "proof" as evidence the agent saw itself in that session, and says green mocked tests don't prove a UI works.
The part to read twice. Saying "full send" is a real grant of permission. Per its SKILL.md, the agent may:
- merge the PR once its own merge gate passes (proof covers the diff, required checks green, bot findings fixed or dismissed in writing, no human review requesting changes, branch up to date);
- force-push the PR's own branch with
--force-with-leaseafter a rebase; - override "ask before testing" rules in your repo's project files for the tests it needs;
- ignore automated reviews that ask for "needs human review" if it has high confidence in the change.
There are limits written in: it never uses --admin or other branch-protection bypasses, and it still has to ask before deleting data, touching production, closing a PR or force-pushing any other branch. If it can't get an answer, it leaves the PR open and unmerged. That's a sensible design, but it's your repo, so decide where you'd want full stop instead.
The catch. council and sol loop need models from other providers. T3 Code handles that with its delegate tool; anywhere else you need a harness that can run those models. You also need an authenticated GitHub CLI (gh) and python3 for the PR watcher script.
How to get it. Clone the repo and copy skills/* into ~/.claude/skills/ for Claude Code or ~/.codex/skills/ for Codex. Theo's README suggests treating them as starting points and keeping personal settings, like which models sit on your council, in your CLAUDE.md or AGENTS.md.
How we covered it: we read the README, LICENSE and the full-send, council, sol-loop and babysit-pr SKILL.md files on October 26, 2026. We have not run tstack on a real repo yet. Not sponsored, no affiliate links.
Sources
- So uh...I guess it's time to announce tstack?
Theo (@theo) on X
- t3dotgg/tstack (README, LICENSE, skills/)
GitHub
- tstack full-send skill
GitHub
- tstack council skill
GitHub
FREE · EVERY WEEK
The top AI tools this week, tested.
Every week MODEL's editors pick the AI tools worth your time, try them hands-on, and tell you what's good, what's not, and who it's for. Free, in your inbox.
Free. Unsubscribe anytime. Our picks are editorial and can't be bought.
The weekly three is editorial. A subscription does not buy a place in it.
Continue

The test
ThinkRail, tested: our agent said it changed one file. JetBrains' new IDE counted two.
ThinkRail, JetBrains' open-source IDE for the pi coding agent, gives each agent task its own git worktree and a receipt of what really changed. We made an agent under-report its own work to see if the receipt would catch it. It did. The catch is in the analytics settings.
· MODEL Editors

Builder tip
admins and аdmins are two different variables. Here's how to catch lookalike names before they ship.
One Cyrillic letter can give a Python variable a twin that looks the same in a diff. Python runs it without a word, and Ruff's default rules pass it. We tested which checks catch it and which don't.
· MODEL Editors

The test
TypeScript 7.1 beta, tested: it catches the import you forgot to label, and it moved the API
The first feature release of the Go-based TypeScript compiler adds a stable API for tools and type rules for import attributes. We ran it on our own site and on small test projects next to 7.0.2 and 5.9.3. The fixes hold. If your tooling imported the 7.0 API, it breaks.
· MODEL Editors