Chorus: A Growing Collection of AI Agent Skills
4 min read

Chorus: A Growing Collection of AI Agent Skills

Chorus is a collection of AI Agent Skills. It ships with consensus, a multi-model broker, and delegate, a local agent fan-out tool.

Back to all posts

I keep running into the same problem with AI coding agents: you ask a question, you get one confident answer, and you have no idea what you are missing.

Last week I asked my agent whether I should use PostgreSQL or SQLite for a desktop tool. It said SQLite, no hesitation. Then I asked the same question through a different provider and got a strong case for PostgreSQL. Neither model mentioned that the other might disagree.

So I built Chorus. It is a collection of AI Agent Skills that live in a single repository. Two skills ship with it right now, and they solve two different problems I kept hitting.

Consensus

This is the one that fixes the “single confident answer” problem. It is a CLI broker that fans out your question to multiple AI providers in parallel and dumps every raw response back as JSON.

No judge, no hidden synthesis, no black box. (CLI-side synthesis exists, but it is opt-in.)

It is built for the agent, not for you: you could run the CLI by hand, but the point is that your agent fans out, reads the raw answers, and synthesizes them with full context of your project.

Using it looks like this:

Let's ask gpt-4o and claude-sonnet-4 to help me decide if I should use PostgreSQL or SQLite for a single-user desktop app.

The CLI queries both models at the same time, returns their raw full answers as structured JSON, and your agent compares them side by side. You see every disagreement, every blind spot, every “well actually” that a single model would have swallowed.

And the best part is that it supports 20+ providers out of the box (OpenAI, Anthropic, Google, Groq, xAI, DeepSeek, Mistral, OpenRouter, Bedrock, Azure, and more, including any OpenAI-compatible endpoint), so your agent can mix models from whatever you already have keys for.

Delegate

The second skill solves a different problem: sometimes you want to hand off focused subtasks to other local coding agents running on your machine. delegate shells out to whichever of Claude Code, Codex, OpenCode, or GitHub Copilot you already have on PATH.

It is useful for parallelizing independent work across different runtimes without babysitting each one nor leaving the harness that you are using.

Using it looks like this:

Delegate writing unit tests for src/config.ts to codex while you refactor the auth module.

Your agent runs codex exec with the subtask, keeps working on the refactor itself, and merges the results when the delegated run finishes.

Or use it for a second opinion instead of work:

Ask codex what it thinks about the retry logic in src/queue.ts and whether it would simplify it.

Your agent passes the question through and brings codex’s take back into your conversation, so you get a different perspective without switching tools.

Installation

It ships as an Agent Skill, so installing it is one command:

npx --yes skills add zaherg/chorus

Or you can specify the skill you want to install:

npx --yes skills add zaherg/chorus --skill consensus

When you first use the consensus skill, it downloads the needed CLI automatically, while delegate downloads nothing.

Configuration lives at ~/.config/chorus/config.json and you just need at least one API key:

{
  "openai_api_key": "$OPENAI_API_KEY",
  "anthropic_api_key": "$ANTHROPIC_API_KEY"
}

Note

The project is under heavy active development, so expect breaking changes. It is MIT licensed, built with Bun and TypeScript, and the source is on GitHub.

And that is my toolkit for not getting lied to by a single model, and for putting my local agents to work in parallel.