side·piece

The other model, on the side.

Your coding agent is good. It is also the only opinion in the room.

side-piece hands work to a different model — a review, a migration, a second read on the thing you are not sure about — and brings the answer back.

It drives the CLIs already on your machine. Your logins, your subscriptions, your terminal. Runs locally, resumes cleanly, and there is nothing new to sign up for.

Install

From inside your project, give your coding agent this prompt:

Let's install `@tjw.dev/side-piece` in this project, then tell me how to use it

Then ask for a model by name

have opus review this diff adversarially

get a second opinion from sol on the cache invalidation

ask mimo to try the migration in a worktree

Works in

Claude Code.claude/skills
Codex.agents/skills
opencode.agents/skills

Questions

Which models can it reach?
Whichever CLIs you already have installed and signed in — claude, codex, gemini, opencode. side-piece runs those binaries on your machine, as you, spending the subscriptions you already pay for. Nothing new to sign up for and no API keys to paste.
Can I resume sessions?
Yes — every run keeps one. Say push back on point three and it picks up where it left off, still holding what it read and why it said that, instead of starting over from a summary.
Where does my code go?
To the same provider your CLI already talks to, and nowhere else. side-piece is a router, not a service — there is nothing in between.
Will it pick a model I did not ask for?
Never. It checks the live catalog before routing, so it cannot invent a name, and naming a model always beats its own preference. Ask for something that is not there and it says so.
Why did you make this?
ai-cli-mcp is excellent — mkXultra made every provider CLI a resumable background job. side-piece is just a reliable way to get your agent to use it.