← All tools

Open-source Agent Skill + CLI

Get another mind on it.

Toss is the local command-line boundary underneath a simple agent gesture: “toss this to Claude” or “have another model review this”. The host agent handles the conversation; Toss keeps the actual hand-off explicit, foreground and inspectable.

  • Local
  • Foreground only
  • Explicit target
  • Apache-2.0
You

“Hey, toss this to Claude.”

Host agent

Resolves “this”, names the target and keeps each result labelled.

Toss CLItoss review claude --ro --base mainOne explicit target. One foreground run.

Natural language at the top.

Deterministic CLI underneath.

No silent writes.

The useful bit

Delegation without the vagueness.

Asking another model is easy. Knowing exactly what it received, which runtime answered and what authority it had is where things get muddy. Toss separates the friendly request from the execution boundary, so a host agent can make delegation feel natural without hiding the important choices.

The delegate’s answer is untrusted text. Toss returns it for the host agent and you to review; it does not quietly execute whatever comes back.

The agent-facing experience

Say what you want in human.

The installed Agent Skill supports these interaction patterns through a host agent. The shipped command line remains deliberately literal underneath.

Single opinion
“Toss this design to Claude.”

The host resolves the artifact in context, chooses the named runtime and returns the response with its source attached.

Named model
“Throw this to Kimi K3.”

The Agent Skill resolves friendly model names through a verified local runtime. It refuses clearly when that route is unavailable rather than substituting a different model.

Several reviewers
“Have Grok, Sol and Fable review this.”

The host makes separate Toss calls, labels each independent response, then summarises agreement and disagreement. The CLI itself does not silently fan one command out.

Available now

The skill and safe engine have shipped.

The public repository includes the portable Agent Skill and its Python CLI. The skill interprets the request; the CLI inspects local runtimes, delegates one foreground request at a time and recovers completed saved results.

Explicit commandsdoctor · models · to · review · recover

Every delegation names its runtime adapter. Codex and Claude can run read-only; TF Code is detected but currently fails closed.

Fail-closed authority

Codex and Claude support verified read-only paths. Write access is Codex-only; TF Code remains detectable but refused where Toss cannot prove a safe non-interactive authority contract.

Foreground results

No background queue and no automatic retry. If the host is interrupted after a result is saved, recovery is an explicit read—not a second model call.

Install

Clone it. Install it. Check it.

Toss requires Python 3.11 or later. Install the CLI, then link the portable skill into your host’s skills directory. The example enables Codex; run the installer again with $HOME/.claude/skills to enable Claude Code. It refuses to overwrite links it does not own.

Read the full setup guide ↗
terminal
$ git clone https://github.com/kamtS/toss.git
$ cd toss
$ python3 -m pip install .
$ scripts/install.sh --skill-dir "$HOME/.codex/skills"

$ toss doctor
$ toss models

Use the engine directly

The command tells the truth.

Each invocation names its destination and authority. Standard output is reserved for the final response, so a host agent can label and compose results without scraping terminal chatter.

Inspect, no model calltoss doctor
Review a working treetoss review codex --ro --base main
Ask one modeltoss to codex --ro -- "Review this design."
Explicit write accesstoss to codex --write --cwd "$PWD" -- "Make this change."

Two layers, one boundary

The gesture is real. So are its limits.

The shipped skill resolves contextual “this”, friendly names and requests for several reviewers. For multiple targets, the host agent launches one independent Toss command per reviewer and keeps every response labelled; the CLI itself remains single-target by design.

Model routing uses vetted static aliases, not live provider discovery. Kimi and Grok are not routable in v1, so Toss refuses those targets instead of substituting a model or weakening the boundary. No edits happen unless write authority was explicitly requested and supported.

Open source

Keep another opinion one command away.

Read the source, inspect the safety model and try the shipped CLI on GitHub.

View the repository