tstack: nine skills that take a change to a merged PR
tstack is a set of nine agent skills that Theo Browne (GitHub user t3dotgg) uses daily, cleaned up for anyone. They run in Claude Code and Codex and cover a pull request from filing through outside-model review, CI and review bots, to the merge.
git clone https://github.com/t3dotgg/tstack && cp -R tstack/skills/* ~/.claude/skills/Say "full send" and the agent carries a change from where it stands to a merged pull request while nobody watches: it proves the fix, gets it reviewed, files the PR, waits out CI and merges. That's one of nine skills in tstack, published by Theo Browne under the MIT license. Some use features of his T3 Code app when it's there and fall back to native tools when it isn't. Anthropic doesn't publish it. For how a skill loads, see what Claude skills are.
The nine skills
- full-send finishes, proves, reviews, files, babysits and merges. Saying it grants the merge and a
--force-with-leasepush to the PR's own branch. - full-stop does the same but stops when the PR is ready for you to merge.
- council asks three strong models from three providers for review and loops until they agree. Each gives a score out of 10, and the scores go into a table in the PR description.
- sol-loop has OpenAI's GPT Sol review the diff, 3 rounds by default, up to 5 when security, auth, data loss or concurrency is at stake.
- file-pr opens a short PR that starts with the problem, and checks title and body for secrets first.
- babysit-pr watches CI and review bots with a bundled
pr-waitscript, fixes real findings and answers false positives with a reason. - takeover finishes someone else's PR, branch or agent thread and keeps their credit.
- modernize rebases an old PR and decides whether it should still exist.
- leaving-pr-comments loads on its own and formats any comment posted in your name.
Several call each other, so install the set together: full-send uses sol-loop, file-pr and babysit-pr, and takeover uses modernize as well.
What counts as proof
The full-send SKILL.md defines proof as evidence the agent saw in that session. It reproduces the failure, applies the fix and watches the same reproduction pass, runs the checks CI runs, and adds one focused test if the behaviour had none. For UI changes it runs the app and looks, because "green mocked tests do not prove that the user experience works". The merge waits until required checks are green, bots have finished, no human still asks for changes and the branch is current. It never uses --admin. Both review loops also push back on scope: they prefer deleting or narrowing code and list declined nits as follow-ups.
How to install it
git clone https://github.com/t3dotgg/tstack
cp -R tstack/skills/* ~/.claude/skills/
For Codex, copy into ~/.codex/skills/ instead. You need an authenticated GitHub CLI (gh) and python3 for the pr-wait script. The README calls the skills starting points: put personal choices, such as which models sit on your council, in CLAUDE.md or AGENTS.md so updates don't overwrite them.
Example request
Fix [the bug, e.g. the date picker resets when the settings modal closes]. Keep the change to [area or files]. Full stop.
Start with full-stop to watch how it proves and reviews a change while you keep the merge button. For a second opinion on an open PR, say "council" and name the members if you want specific models.
Limits
- Full send overrides your ask-first rules. If a project file says to ask before browser automation, running the app or screenshots, the request replaces that rule for the task. It still stops for production changes, data deletion and your agent's own approval prompts.
- Other providers required. council and sol-loop need subagents on other companies' models. If nothing can run Sol, sol-loop reports the blocker and won't substitute another model.
- Built around T3 Code. Watching and delegation use T3 Code tools where available; elsewhere you rely on
pr-waitand your agent's own subagents. - GitHub only. Everything goes through
gh, and every watcher on an account shares one GraphQL rate limit. - The copy can overwrite.
cp -Rreplaces files in any existing skill folder with the same name, so check~/.claude/skillsfirst.
When to use it
It suits a developer whose repo already has CI and review bots and who wants the agent to close the loop alone. For one review pass on a diff, Claude Code's code review skill is lighter. For a test-first build process before the PR exists, see Superpowers.
Sources
- t3dotgg/tstack README on GitHub, accessed November 2026
- full-send SKILL.md on GitHub, accessed November 2026
- council SKILL.md on GitHub, accessed November 2026
- sol-loop SKILL.md on GitHub, accessed November 2026