Warp GUI to Agent CLI Migration
warpdotdev/warp
Migrates the compatible subset of settings and global file-based MCP servers from the Warp desktop app into Warp Agent CLI without exposing credentials or state.
How to install, configure, and use the chorus CLI — install it, manage agents with chorus agents (add/remove/list), the connection environment variables, and MCP operations via chorus mcp.
$ npx skills add Chorus-AIDLC/Chorus --skill chorus-cli -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Chorus-AIDLC/Chorus chorus-cli --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Chorus-AIDLC/Chorus.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/chorus-hermes/chorus/skills/chorus-cli .claude/skills/chorus-cli && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "chorus-cli" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/packages/chorus-hermes/chorus/skills/chorus-cli into .claude/skills/chorus-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chorus-cli", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Chorus-AIDLC/Chorus/tree/main/packages/chorus-hermes/chorus/skills/chorus-cliType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Chorus-AIDLC/Chorus --skill chorus-cli -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Chorus-AIDLC/Chorus chorus-cli --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chorus-AIDLC/Chorus.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/chorus-hermes/chorus/skills/chorus-cli .agents/skills/chorus-cli && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "chorus-cli" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/packages/chorus-hermes/chorus/skills/chorus-cli into .agents/skills/chorus-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chorus-cli", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Chorus-AIDLC/Chorus --skill chorus-cli -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Chorus-AIDLC/Chorus chorus-cli --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chorus-AIDLC/Chorus.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/chorus-hermes/chorus/skills/chorus-cli .cursor/skills/chorus-cli && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "chorus-cli" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/packages/chorus-hermes/chorus/skills/chorus-cli into .cursor/skills/chorus-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chorus-cli", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Chorus-AIDLC/Chorus.git --path packages/chorus-hermes/chorus/skills/chorus-cli--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Chorus-AIDLC/Chorus --skill chorus-cli -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Chorus-AIDLC/Chorus chorus-cli --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chorus-AIDLC/Chorus.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/chorus-hermes/chorus/skills/chorus-cli .gemini/skills/chorus-cli && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "chorus-cli" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/packages/chorus-hermes/chorus/skills/chorus-cli into .gemini/skills/chorus-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chorus-cli", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Chorus-AIDLC/Chorus chorus-cliInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Chorus-AIDLC/Chorus --skill chorus-cli -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Chorus-AIDLC/Chorus.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/chorus-hermes/chorus/skills/chorus-cli .github/skills/chorus-cli && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "chorus-cli" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/packages/chorus-hermes/chorus/skills/chorus-cli into .github/skills/chorus-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chorus-cli", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Chorus-AIDLC/Chorus --skill chorus-cli -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Chorus-AIDLC/Chorus chorus-cli --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chorus-AIDLC/Chorus.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/chorus-hermes/chorus/skills/chorus-cli .opencode/skills/chorus-cli && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "chorus-cli" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/packages/chorus-hermes/chorus/skills/chorus-cli into .opencode/skills/chorus-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "chorus-cli", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
chorus-cliHow to install, configure, and use the chorus CLI — install it, manage agents with chorus agents (add/remove/list), the connection environment variables, and MCP operations via chorus mcp.
Chorus CLI is an agent skill from Chorus-AIDLC/Chorus. How to install, configure, and use the chorus CLI — install it, manage agents with chorus agents (add/remove/list), the connection environment variables, and MCP operations via chorus mcp. A concise shared reference for any Hermes flow that drives Chorus from the shell (via terminal).
Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Secrets management and MCP servers. It works with Model Context Protocol. The repository describes itself as: The Agent Harness for AI-Human Collaboration, inspired by the AI-DLC (AI-Driven Development Lifecycle). The licence is AGPL-3.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4754822. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
CHORUS_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Chorus CLI loads about 1.2k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 563 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
PI_KEY` in the environment or `~/.hermes/.env`._KEY` from the environment or `~/.hermes/.env`.Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Chorus-AIDLC/Chorus at commit 4754822, republished under its AGPL-3.0 licence (© Chorus-AIDLC). 563 words, ~1,240 tokens.
.claude/skills/chorus-cli/SKILL.md (or your agent's skills folder).chorus CLIchorus (published as @chorus-aidlc/chorus) is the one command that configures this
machine's coding agents for Chorus and talks to the Chorus MCP endpoint from the shell.
This is a concise reference — run chorus --help and chorus <command> --help for the
full flag surface. On Hermes, run these commands with the terminal tool.
npm install -g @chorus-aidlc/chorus # unpinned — always installs the latest
chorus --version # must be >= 0.17.0 (provides `chorus agents` + `chorus mcp`)chorus agentsAgent configuration lives in ~/.chorus/daemon.json; chorus agents is the CRUD group:
chorus agents (or chorus agents list) — list configured agents (name, UUID, backend).
The API key is never printed; the agent named by CHORUS_AGENT_PROFILE is marked.
chorus agents add [--agents <ids>] [--all] [--url <u>] [--api-key <cho_…>] [--yes] [--dsh-profile <name>]
— detect installed coding agents, install each one's Chorus plugin, and seed credentials
(this is the former chorus init). Idempotent; safe to re-run. --help lists every flag.
For Hermes, chorus agents add --agents hermes resolves the release tag to its commit SHA,
installs both Hermes plugin directories (chorus and chorus-mcp) pinned to it with
hermes plugins install … --ref <sha> --enable, and — when CHORUS_URL is not the loopback
default — writes the native mcp_servers.chorus entry into $HERMES_HOME/config.yaml
(literal <CHORUS_URL>/api/mcp URL, header kept as the Bearer ${CHORUS_API_KEY} placeholder).
A Hermes agent is stored as offline: its presence and wakes come from the plugin's own
hermes gateway connection, not the Chorus daemon.
chorus agents remove <name|uuid> — remove a configured agent from ~/.chorus/daemon.json
(matched by UUID or name; an ambiguous name → use the UUID).
chorus agents run --name <name|uuid> [--type <type>] [--] [agent args…] — launch a
configured agent's binary in the FOREGROUND with its Chorus connection injected into the
child only (CHORUS_URL / CHORUS_API_KEY / CHORUS_AGENT_PROFILE; nothing is exported to
the parent shell, and the key is never printed). Agent selection: single agent by default; else --name, else CHORUS_AGENT_PROFILE; ambiguous/none →
error. Backend defaults to the agent's stored agentType, overridable with --type.
Everything after -- is passed to the agent verbatim (never inspected). Type → binary:
claude-code/claude→claude, codex→codex, kiro→kiro-cli, pi→pi,
opencode→opencode, openclaw→openclaw, dsh→dsh. Agents added as
opencode/openclaw/dsh are stored as offline → pass --type explicitly to launch them.
For Hermes, check chorus agents run --help for a hermes type; otherwise start it directly
with hermes (interactive) or hermes gateway (stay online for Chorus wakes), with
CHORUS_URL / CHORUS_API_KEY in the environment or ~/.hermes/.env.
CHORUS_URL — the Chorus instance URL.CHORUS_API_KEY — an agent API key (cho_…).CHORUS_AGENT_PROFILE — optional name or UUID of the agent to act as. When set, chorus mcp
resolves that agent's key from ~/.chorus/daemon.json, so you need not export
CHORUS_API_KEY for the CLI path. Daemon-woken sessions receive it automatically.
The Chorus Hermes plugin itself does not read it: the plugin and its MCP entry use CHORUS_URL +
CHORUS_API_KEY from the environment or ~/.hermes/.env.chorus mcpCall any Chorus MCP tool from the shell — a byte-exact, token-free path for large content:
chorus mcp call <tool> ['<json>'] [--arg-file key=<file>] [--agent <name|uuid>] — call a tool.
--arg-file content=<file> streams a file's raw bytes into the JSON content string (no
re-typing through the model). Identity resolves from --agent → CHORUS_AGENT_PROFILE →
CHORUS_URL+CHORUS_API_KEY → a single configured agent.chorus mcp whoami — print this agent's own UUID.chorus mcp list — list the tools this agent may call.Requires chorus >= 0.17.0 (the chorus mcp subcommand). See chorus mcp --help.
When chorus is not on PATH, Hermes has no bundled shell wrapper: call the native MCP tool
directly (e.g. mcp__chorus__chorus_pm_add_document_draft) with the content read from the file
via read_file.
© Chorus-AIDLC, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in packages/chorus-hermes/chorus/skills/chorus-cli of Chorus-AIDLC/Chorus.
Open the folder on GitHubat commit 4754822
Chorus CLI next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Chorus CLI this skillChorus-AIDLC/Chorus | 1.2k | — | ~1.2k | Automated safety check: Notes | AGPL-3.0 | |
| Warp GUI to Agent CLI Migrationwarpdotdev/warp | 65k | 1 repos | ~2.1k | Automated safety check: Pass | AGPL-3.0 | |
| Flow Contextflowexec/flow | 137 | — | ~654 | Automated safety check: Pass | Apache-2.0 | |
| Add Integrationindranilbanerjee/digital-marketing-pro | 854 | 1 repos | ~1.8k | Automated safety check: Notes | MIT | |
| Auto Review Loop LLMAI4Scientist/nano-scientist | 128 | 4 repos | ~1.8k | Automated safety check: Warn | None | |
| MCP Security Auditboshi-xixixi/TraeSkill | 274 | — | ~2.2k | Automated safety check: Pass | MIT |
warpdotdev/warp
Migrates the compatible subset of settings and global file-based MCP servers from the Warp desktop app into Warp Agent CLI without exposing credentials or state.
flowexec/flow
This project uses flow for automation. An agent skill from flowexec/flow.
indranilbanerjee/digital-marketing-pro
Walk through adding a custom MCP server integration to the plugin — searches npm for an existing MCP package (or scaffolds a custom server from the plugin's guide), generates the exact .mcp.json…
AI4Scientist/nano-scientist
Autonomous research review loop using any OpenAI-compatible LLM API.
boshi-xixixi/TraeSkill
Audit MCP (Model Context Protocol) server configurations for security issues.
nanocoai/nanoclaw
Installs Codex as an agent provider for NanoClaw groups, with streaming, MCP tools, server-side history and vault-only credentials, next to or instead of Claude.
Chorus-AIDLC/Chorus
A skill your agent uses when manually verifying a Chorus frontend change in a real browser — finding local login credentials, driving the running dev server with the Playwright MCP, logging in…
Chorus-AIDLC/Chorus
Write release blog posts for Chorus — problem-first narrative, bilingual (zh/en), following the project's editorial style.
Chorus-AIDLC/Chorus
Optional divergent-then-convergent dialogue for fuzzy ideas on Hermes.
Chorus-AIDLC/Chorus
Optional divergent-then-convergent dialogue for fuzzy ideas.
Chorus-AIDLC/Chorus
Optional divergent-then-convergent dialogue for fuzzy ideas.
Chorus-AIDLC/Chorus
Optional divergent-then-convergent dialogue for fuzzy ideas.
Works with
Categories
How to install, configure, and use the chorus CLI — install it, manage agents with chorus agents (add/remove/list), the connection environment variables, and MCP operations via chorus mcp. Chorus CLI is an agent skill from Chorus-AIDLC/Chorus. How to install, configure, and use the chorus CLI — install it, manage agents with chorus agents (add/remove/list), the connection environment variables, and MCP operations via chorus mcp.
Chorus CLI fits situations like: tasks that involve Secrets management; tasks that involve MCP servers.
Run `npx skills add Chorus-AIDLC/Chorus --skill chorus-cli -a claude-code`. Or copy the skill folder (packages/chorus-hermes/chorus/skills/chorus-cli in Chorus-AIDLC/Chorus) into .claude/skills/chorus-cli in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Chorus-AIDLC/Chorus --skill chorus-cli -a codex`. Or copy the skill folder (packages/chorus-hermes/chorus/skills/chorus-cli in Chorus-AIDLC/Chorus) into .agents/skills/chorus-cli in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Chorus-AIDLC/Chorus --skill chorus-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/chorus-cli, .gemini/skills/chorus-cli, .github/skills/chorus-cli and .opencode/skills/chorus-cli in your project.
Going by SKILL.md and its folder, Chorus CLI needs the command-line tools its instructions call (npm) and credentials named CHORUS_API_KEY. Our summary lists: Node.js; A credential in CHORUS_API_KEY.
SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Chorus CLI is published under the AGPL-3.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Chorus CLI: Warp GUI to Agent CLI Migration (warpdotdev/warp, 65k stars), Flow Context (flowexec/flow, 137 stars), Add Integration (indranilbanerjee/digital-marketing-pro, 854 stars) and Auto Review Loop LLM (AI4Scientist/nano-scientist, 128 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Chorus-AIDLC (a GitHub organization) maintains it in Chorus-AIDLC/Chorus, which has 1,192 GitHub stars. The repository holds 64 skills in this directory. The repository was last updated on October 7, 2026.
Source: Chorus-AIDLC/Chorus on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.