The Agent Harness for AI-Human Collaboration, inspired by the AI-DLC (AI-Driven Development Lifecycle)
> /plugin marketplace add Chorus-AIDLC/Chorus> /plugin install chorus@chorus-plugins
Repo: Chorus-AIDLC/Chorus
What's inside
Chorus is an agent harness โ the infrastructure that wraps around LLM agents to manage session lifecycle, task state, sub-agent orchestration, observability, and failure recovery. It lets multiple AI Agents (with fine-grained, configurable permissions) and humans collaborate through the full workflow from requirements to delivery.
Inspired by the AI-DLC (AI-Driven Development Lifecycle) methodology. Core philosophy: Reversed Conversation โ AI proposes, humans verify.
Idea โโ> Proposal โโ> [Document + Task DAG] โโ> Execute โโ> Verify โโ> Done
^ ^ ^ ^ ^ ^
Human idea:write proposal:write task:write *:admin *:admin
creates + elaborate + drafts + reports + verifies + closes
The labels under each stage are the permissions an actor needs at that stage โ granted to a human, an Agent (preset or Custom), or both. There are no fixed roles; any combination of the 5 ร 3 permission matrix is possible. See docs/PERMISSIONS.md.
v0.16.0 โ A docs skill that points agents at the live docs site (doc.chorus-ai.dev), so they answer from the current docs instead of reciting from memory.
v0.15.0 โ Project-level Agent working directories: each user can bind every Agent in a project to a host and cwd, browse only daemon-approved roots, and use the same target across assignment, wake, resume, and later turns without moving active sessions. Codex now persists its resumable backend thread ID separately and drops obsolete Chorus session-management steps.
v0.14.1 โ Amazon Kiro CLI is the fourth way to connect (Kiro CLI v2): a one-command install-kiro.sh plugin and a --agent kiro daemon backend, plus daemon fixes.
v0.14.0 โ Dark mode across the app (light / dark / system). Reference artifacts: attach docs, repos, issues, and articles to any idea, proposal, or task, readable inline and over MCP. Korean and Japanese locales (Korean contributed by the community). Theme ideas for grouping, plus daemon Start Development / Yolo buttons, conversational idea entry, crash-resume, and chorus daemon install.
v0.13.0 โ Per-project resource mind-map: a new Graph view wires each project's Ideas, Proposals, Documents, and Tasks into one collapsible tree, generated from the project's own structure. Every card carries its current status (ideas show the derived pipeline status the idea tracker uses), a title search auto-expands the path to every match with highlight/dim and prev/next navigation, and the same zoom/pan canvas renders on desktop and mobile (pinch + double-tap).
v0.12.0 โ Addressable daemon instances: one chorus daemon can serve multiple working directories (--cwd), and each (agent, host, cwd) becomes an individually visible, individually targetable instance across presence, @-mention, and assignment. Pin an instance once on an idea and its proposals, tasks, and wakes inherit it; pinned wakes are delivered to exactly that instance instead of broadcast. Comment @-mentions render as live online-status badges, and comments switch to cursor-based infinite scroll.
v0.11.0 โ The Chorus Daemon: chorus daemon turns your machine into a resident agent runtime that wakes a local Claude Code on each dispatch. An Agent Connections surface gives live observability and control โ streaming transcripts, instruction injection, and interrupt / resume โ and a "Verify Elaborate" button wakes the assigned agent to write the proposal.
v0.10.0 โ Single-parent idea lineage: an idea may derive a child or be attached under another, forming a forest. The relation is intentionally weak โ a parent surfaces a read-only "+N derived" rollup and does not constrain any child's elaboration, proposal, or task flow. Idea browsing consolidates onto the Dashboard (a three-way Ideas / Lineage / Stats view switch with an adaptive default); the standalone Idea List page is retired and its URLs 308-redirect to the Dashboard.
v0.9.4 โ OpenClaw plugin rewritten on the OpenClaw 2026.4.27 Plugin SDK (native MCP registration, runEmbeddedAgent for SSE wake, reviewers as native skills); Codex plugin hooks now ship inside the package, with an installer that cleans up legacy hook copies in the user directory.
v0.9.0 โ Brainstorm skill for fuzzy ideas (open-ended chat before structured Q&A) and idea-completion reports (every shipped idea gets a Summary / Decisions / Follow-ups writeup, surfaced on the idea overview).
v0.8.0 โ OpenSpec-aware mode (Claude Code): auto-activates when an openspec/ directory and the openspec CLI are both present, adds /opsx/{explore,propose,apply,archive} and a post-verify archive-trigger hook.
Full changelog: CHANGELOG.md
Run Chorus locally with two commands โ no database, no Docker, no config files needed.
npm install -g @chorus-aidlc/chorus
chorus
That's it. Chorus starts with an embedded PostgreSQL (PGlite), runs migrations automatically, and opens at http://localhost:8637.
Note: PGlite is an embedded, single-process PostgreSQL โ great for local single-user usage, but its connection handling has limits under concurrent load. If you plan to run multiple agents or users simultaneously, use an external PostgreSQL via
DATABASE_URL=postgresql://...or the full Docker Compose stack.
Default login: admin@chorus.local / chorus
# Custom port
chorus --port 3000
# Custom data directory (default: ~/.chorus-data)
chorus --data-dir /path/to/data
# Custom credentials
DEFAULT_USER=me@example.com DEFAULT_PASSWORD=secret chorus
# Use an external PostgreSQL instead of embedded PGlite
DATABASE_URL=postgresql://user:pass@host:5432/chorus chorus
| Method | Command |
|---|---|
| npm (simplest) | npm i -g @chorus-aidlc/chorus && chorus |
| Docker (standalone) | docker compose -f docker-compose.local.yml up |
| Docker (full stack) | docker compose up (PostgreSQL + Redis + Chorus) |
| AWS CDK | Deploy to AWS |
chorus daemon โ Connect as Agent RuntimeThe chorus daemon connects your local machine to a remote Chorus server as an agent runtime and executes tasks assigned by Chorus.
Agent backends: Claude Code (default) and Codex are supported โ select with
--agent codex(orCHORUS_AGENT=codex). Support for other agent CLIs (Copilot, etc.) is planned for future releases.
chorus login # Authenticate (opens browser)
chorus daemon # Start daemon in foreground
chorus daemon -d # Start daemon in background (detached)
chorus daemon install # Install as a boot-autostart service (Linux) โ recommended
chorus daemon uninstall # Remove the installed service
chorus daemon stop # Stop the daemon (delegates to systemd when installed)
chorus daemon stop --force # Force-clean the pidfile if a stuck pid blocks stop
chorus daemon status # Check daemon status
chorus daemon restart # Restart the daemon
chorus daemon logs # View daemon logs
Key features:
claude (or codex) CLI on your PATH; pick with --agent codex-d flag; manage with stop/restart/logschorus daemon install generates a correct systemd --user unit and starts it (see below); status/stop/restart/logs then transparently delegate to systemd--chorus-only to restrict to Chorus MCP tools only--cwd (see below)The daemon requires authentication. Run chorus login first, or it will prompt for credentials interactively on first start (if running in a terminal).
chorus daemon installchorus daemon install --cwd ~/work/repo-a --cwd ~/work/repo-b # install + start now, autostart at login
chorus daemon uninstall # disable + remove the service
On Linux, install generates a systemd --user unit that runs the daemon in the foreground (Type=simple, no -d) so systemd owns the process directly, then daemon-reload + enable --now. It captures the --cwd/--agent/--chorus-only flags you pass. Do not hand-write a Type=forking unit around chorus daemon -d โ the daemon self-daemonizes, which systemd can't track and which loops on restart; let install write the right unit. On macOS/Windows, install prints a correct template you install manually. Run chorus login first so the unit can see your credentials. See docs/DAEMON.md for details.
One daemon can serve several local working directories at once โ each declared path registers as an independent connection (its own session + wake loop) under the same agent. A path is just a directory the daemon serves; it carries no project binding.
chorus daemon --cwd ~/work/repo-a --cwd ~/work/repo-b # repeatable flag
CHORUS_DAEMON_CWDS="~/work/repo-a:~/work/repo-b" chorus daemon # or env (`:`- or `,`-separated)
With no --cwd, the daemon serves the single directory it was launched from.
~/.chorus/daemon.jsonchorus login writes credentials here (mode 0600). You can also add daemon tunables to the same file. Every field is optional; flags and environment variables always take precedence over the file.
{
"url": "https://chorus.example.com",
"apiKey": "cho_xxxxxxxxxxxxxxxxxxxxxxxx",
"agentUuid": "00000000-0000-0000-0000-000000000000",
"agentName": "My Daemon Agent",
"cwds": ["~/work/repo-a", "~/work/repo-b"],
"agent": "codex",
"sigintTimeoutMs": 10000
}
| Field | Type | Written by / used for | Precedence (highest first) |
|---|---|---|---|
url | string | Remote Chorus server URL | --url flag โ CHORUS_URL โ file |
apiKey | string | Agent API key (cho_โฆ) | --api-key flag โ CHORUS_API_KEY โ file |
agentUuid / agentName | string | Authenticated identity (recorded at login) | written by chorus login |
cwds | string[] | Working directories the daemon serves (multi-path) | --cwd flag(s) โ CHORUS_DAEMON_CWDS โ file โ launch dir |
browseRoots | string[] | Roots allowed for project and temporary directory browsing | --browse-root flag(s) โ CHORUS_DAEMON_BROWSE_ROOTS โ file โ user home |
agent | string | Local agent backend to wake (claude-code / codex / kiro) | --agent flag โ CHORUS_AGENT โ file โ claude-code |
sigintTimeoutMs | number | Grace window (ms) after SIGINT before a forceful kill (default 10000) | --sigint-timeout flag โ CHORUS_DAEMON_SIGINT_TIMEOUT โ file โ 10000 |
yoloAckAt | string | Internal โ timestamp of a TTY yolo confirmation (managed automatically) | โ |
On startup the daemon banner prints the exact daemon.json path it read (and whether the file exists), so you always know which file to edit.

Assign an idea to a specific directory on a remote agent, then open the conversation and watch the local Claude Code pick up the work and run in real time โ no terminal, no manual resume.

Chorus auto-organizes the entire project into a mind-map โ Ideas, Proposals, Documents, and Tasks laid out as one connected tree โ and reflects what the agents are doing in real time, with each card's status updating live as work progresses.

Watch a PM Agent analyze requirements and generate a proposal with PRD and task DAG โ with real-time presence indicators showing agent activity.

The left panel is a pixel workspace where pixel characters represent each Agent's real-time working status; the right panel shows live Agent terminal output.

The Kanban board updates automatically as Agents work, with task cards flowing between To Do โ In Progress โ To Verify in real time. Agent presence indicators highlight which resources are being worked on.

Kanban board for task status tracking alongside a dependency DAG showing execution order and parallel paths.

PM Agents clarify requirements through structured Q&A rounds before creating Proposals. The panel shows idea details alongside completed elaboration rounds with answers and category tags.

Proposals generated by the PM Agent contain document drafts and task DAG drafts. Admins review and approve or reject on this panel.

Dev Agent self-checks and Admin reviews each acceptance criterion independently, with structured pass/fail evidence for every item.

A Cmd+K command palette for searching across all 6 entity types (Tasks, Ideas, Proposals, Documents, Projects, Project Groups). Supports scope filtering (Global / Group / Project), filter tabs per entity type, and keyboard navigation. Both the Web UI and AI agents (via chorus_search MCP tool) share the same search backend.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Chorus โ Agent Harness (:8637) โ
โ โ
โ โโโ Harness Capabilities โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Session Lifecycle โ Task State Machine โ Context Inject โ โ
โ โ Sub-Agent Orchestration โ Observability โ Failure Recoveryโ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ โโโ Chorus Plugin (lifecycle hooks) โโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ SubagentStart/Stop โ Heartbeat โ Skill & Context Inject โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ โโโ API Layer โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ /api/mcp โ MCP Streaming (50+ tools, permission-gated) โ โ
โ โ /api/* โ REST API (Web UI + SSE push) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ โโโ Service Layer โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ AI-DLC Workflow โ UUID-first โ Multi-tenant โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ โโโ Web UI (React 19 + Tailwind + shadcn/ui) โโโโโโโโโโโโโโโ โ
โ โ Kanban โ Task DAG โ Proposals โ Activity โ Sessions โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ โ
Agent w/ Agent w/ Agent w/ Human
idea+proposal task:write *:admin perms (Browser)
:write perms perms (proxy approval)
(LLM) (LLM) (LLM)
โ
โโโโโโโโโโโโผโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ
โ PostgreSQL + Prisma โ โ Redis (optional) โ
โโโโโโโโโโโโโโโโโโโโโโโ โ Pub/Sub for SSE โ
โโโโโโโโโโโโโโโโโโโโโโโ
| Package | Description |
|---|---|
packages/openclaw-plugin | OpenClaw Plugin โ Connects OpenClaw to Chorus via persistent SSE + MCP bridge. |
packages/chorus-cdk | AWS CDK โ Infrastructure-as-code for deploying Chorus to AWS. |
| Component | Technology |
|---|---|
| Framework | Next.js 15 (App Router, Turbopack) |
| Language | TypeScript 5 (strict mode) |
| Frontend | React 19, Tailwind CSS 4, shadcn/ui (Radix UI) |
| ORM | Prisma 7 |
| Database | PostgreSQL 16 |
| Cache/Pub-Sub | Redis 7 (ioredis) โ optional |
| Agent Integration | MCP SDK 1.26 (HTTP Streamable Transport) |
| Auth | OIDC + PKCE / API Key / SuperAdmin |
| i18n | next-intl (en, zh, ko, ja) |
| Deployment | Docker Hub / Docker Compose / AWS CDK |
No build tools or external databases required. The image bundles PGlite (embedded PostgreSQL):
git clone https://github.com/Chorus-AIDLC/chorus.git
cd chorus
DEFAULT_USER=admin@example.com DEFAULT_PASSWORD=changeme \
docker compose -f docker-compose.local.yml up -d
Open http://localhost:8637 and log in with the credentials above.
Data is persisted in a Docker volume. The embedded mode is single-instance only (no Redis).
For production with multiple replicas:
DEFAULT_USER=admin@example.com DEFAULT_PASSWORD=changeme \
docker compose up -d
See Docker Documentation for all environment variables and configuration options.
Prerequisites: Node.js 22+, pnpm 9+, Docker (for PostgreSQL/Redis)
cp .env.example .env
pnpm docker:db
pnpm install
pnpm db:migrate:dev
pnpm dev
# Open http://localhost:8637
Prerequisites: Node.js 22+, pnpm 9+
cp .env.example .env
pnpm install
pnpm dev:local # Dev server on http://localhost:8637
PGlite runs embedded PostgreSQL on port 5433. Data stored in .pglite/ โ delete to reset.
./install.sh
The interactive installer provisions VPC, Aurora Serverless v2, ElastiCache Serverless, ECS Fargate, and ALB with HTTPS. Configuration saved to default_deploy.sh for re-deploys.
The fastest path is the in-app setup wizard: open the Web UI, go to Settings โ Setup Guide โ Open setup guide, and follow the step-by-step instructions for your client (Claude Code, Codex, Kiro, OpenCode, OpenClaw, or other agents). The wizard creates the API key for you, shows the exact commands, and walks through verifying the connection.
If you'd rather read the full docs:
| Client | Guide |
|---|---|
| Claude Code | CONNECT_CLAUDE_CODE.md |
| Codex CLI | CONNECT_CODEX.md |
| Pi coding agent | CONNECT_PI.md |
| Kiro CLI | CONNECT_KIRO.md |
| OpenCode โ | CONNECT_OPENCODE.md |
| Other MCP agents (Cursor, Continue, custom, โฆ) | CONNECT_OTHER_AGENTS.md |
โ OpenCode support is provided by the community-maintained opencode-chorus plugin (npm: opencode-chorus), authored by @etnperlong. Thanks!
Create API Keys in the Web UI under Settings โ Agents โ Create API Key. Keys start with cho_ and are shown only once.

| Method | Location | Use Case |
|---|---|---|
| Plugin-embedded (Claude Code) | public/chorus-plugin/skills/ | Claude Code + Chorus plugin, automated Sessions and lifecycle hooks |
| Plugin-embedded (Codex CLI) | plugins/chorus/skills/ | Codex CLI + Chorus plugin, ported skills with $-prefixed slash commands |
| Package-embedded (Pi) | packages/chorus-pi/skills/ | Pi + Chorus package, automated Sessions and lifecycle hooks |
| Standalone | public/skill/ (served at /skill/) | Any other MCP-capable Agent (Cursor, Continue, custom), manual Session management |
PM agents that have the OpenSpec
CLI installed can author proposals in a structured proposal.md +
design.md + specs/<capability>/spec.md layout. Local files are the
working copy and Chorus documentDrafts are the mirror; reviewers see a
predictable shape (## ADDED Requirements, ### Requirement:,
#### Scenario:) instead of free-form Markdown. A PostToolUse hook on
chorus_admin_verify_task injects an openspec archive <slug> reminder
when the last task of an OpenSpec idea is verified, so finalized specs
are merged into the long-term spec set right after sign-off. The mode is
strictly opt-in: when openspec is not installed, behavior is unchanged.
Master switch on Claude Code is enableOpenSpec (plugin userConfig,
default true); both clients also honor CHORUS_OPENSPEC_MODE=off. No
new MCP tools or schema changes ship in this mode; the canonical skill
reuses the existing chorus_pm_* draft and document tools, with mirror
calls routed through the chorus-api.sh wrapper to keep multi-thousand-
line markdown out of LLM context. See
OPENSPEC_MODE.md for the full guide.
| Document | Description |
|---|---|
| PRD | Product Requirements Document |
| Architecture | Technical Architecture Document |
| MCP Tools | MCP Tools Reference |
| Permissions | Agent permission model (5 ร 3 matrix, presets, Custom mode) |
| Chorus Plugin | Plugin Design & Hook Documentation |
| OpenSpec Mode | Opt-in OpenSpec authoring mode for PM agents (Plugin 0.8.1+) |
| Search | Global Search Technical Design |
| AI-DLC Gap Analysis | AI-DLC Methodology Gap Analysis |
| AIG Implementation Plan | Agent transparency roadmap |
| Presence Design | Real-time agent presence system |
| Docker | Docker image usage & deployment |
| Logging | Structured logging architecture |
| CLAUDE.md | Development Guide |
AGPL-3.0 โ see LICENSE.txt
.agents/
plugins/
marketplace.json
skills
.claude/
.claude-plugin/
marketplace.json
commands/
opsx/
apply.md
archive.md
explore.md
propose.md
settings.json
skills/
blog/
SKILL.md
e2e-verification/
SKILL.md
oidc-login.md
openspec-apply-change/
SKILL.md
openspec-archive-change/
SKILL.md
openspec-explore/
SKILL.md
openspec-propose/
SKILL.md
plugin-maintenance/
SKILL.md
pr-workflow/
SKILL.md
release/
SKILL.md
.dockerignore
.env.example
.github/
workflows/
coverage-report.yml
test.yml
.gitignore
.vscode/
settings.json
CHANGELOG.md
chorus.mjs
CLAUDE.md
cli/
__tests__/
backfill-pending-turns.test.mjs
backfill.test.mjs
chorus-client.test.mjs
chorus-entry-daemon-d.test.mjs
claude-spawner.test.mjs
client-args.test.mjs
codex-backend-integration.test.mjs
codex-session-map.test.mjs
codex-session-start-hook.test.mjs
codex-spawner.test.mjs
codex-usage-map.test.mjs
control-handler.test.mjs
credentials.test.mjs
daemon-agent.test.mjs
daemon-banner.test.mjs
daemon-claude-notfound-warning.test.mjs
daemon-config-write.test.mjs
daemon-config.test.mjs
daemon-credential-completion.test.mjs
daemon-install-config.test.mjs
daemon-install-integration.test.mjs
daemon-integration.test.mjs
daemon-lifecycle-dispatch.test.mjs
daemon-lifecycle.test.mjs
daemon-multi-instance-directed.test.mjs
daemon-multipath.test.mjs
daemon-permission-mode.test.mjs
daemon-permission-wiring.test.mjs
daemon-rest-client.test.mjs
daemon-runtime-cwd.test.mjs
daemon-service.test.mjs
daemon-shutdown-signal.test.mjs
directory-discovery.test.mjs
embedded-db-integration.test.mjs
embedded-db.test.mjs
event-router-directed-delivery.test.mjs
event-router-instruction.test.mjs
interrupt-reporter.test.mjs
kiro-backend-integration.test.mjs
kiro-session-map.test.mjs
kiro-spawner.test.mjs
kiro-transcript.test.mjs
lineage.test.mjs
login.test.mjs
openclaw-plugin-wake-parity.test.mjs
process-killer.test.mjs
server-signal-handlers.test.mjs
spawner-select.test.mjs
sse-listener.test.mjs
sse-silent-partition.integration.test.mjs
transcript-upload-hooks.test.mjs
turn-reporter.test.mjs
upload-hooks.test.mjs
wake-orchestration.test.mjs
wake-queue.test.mjs
waker-turn-lifecycle.test.mjs
waker-wake-logs.test.mjs
backfill.mjs
chorus-client.mjs
claude-spawner.mjs
client-args.mjs
codex-session-map.mjs
codex-spawner.mjs
codex-usage-map.mjs
control-handler.mjs
credentials.mjs
daemon-agent.mjs
daemon-banner.mjs
daemon-config.mjs
daemon-install-config.mjs
daemon-lifecycle.mjs
daemon-permission-mode.mjs
daemon-rest-client.mjs
daemon-service.mjs
daemon.mjs
directory-discovery.mjs
embedded-db.mjs
event-router.mjs
interrupt-reporter.mjs
kiro-session-map.mjs
kiro-spawner.mjs
kiro-transcript.mjs
lineage.mjs
login.mjs
mcp-config.mjs
process-killer.mjs
prompts.mjs
server-signal-handlers.mjs
session-map.mjs
spawner-select.mjs
sse-listener.mjs
turn-reporter.mjs
upload-hooks.mjs
wake-queue.mjs
waker.mjs
components.json
docker-compose.local.yml
docker-compose.yml
docker-entrypoint.sh
Dockerfile
docs/
_archive/
codex-plugin-plan.history.md
AIDLC_GAP_ANALYSIS.md
ARCHITECTURE.md
ARCHITECTURE.zh.md
AUTH.md
benchmark/
MARBLE.md
PRDBENCH.md
PROJDEVBENCH.md
README.md
SWE_BENCH_PRO.md
TERMINAL_BENCH.md
blogs/
building-claude-code-plugin-for-agent-teams.md
building-claude-code-plugin-for-agent-teams.zh.md
building-openclaw-plugin-for-chorus.md
building-openclaw-plugin-for-chorus.zh.md
harness-decides-agent-ceiling.md
harness-decides-agent-ceiling.zh.md
v2ex-chorus-openspec.zh.md
v2ex-daemon-remote-wake.zh.md
v2ex-externalization.zh.md
v2ex-mcp.md
v2ex-plugin-comparison.zh.md
v2ex-shift-left.zh.md
v2ex-yolo-harness.zh.md
CHORUS_AIG_PLAN.md
chorus-plugin.md
CLAUDE_CODE_DYNAMIC_WORKFLOWS_VS_CHORUS.md
codex-plugin-plan.md
COMPARISON_Chorus_vs_Plane.md
CONNECT_CLAUDE_CODE.md
CONNECT_CLAUDE_CODE.zh.md
CONNECT_CODEX.md
CONNECT_CODEX.zh.md
CONNECT_KIRO.md
CONNECT_OPENCODE.md
CONNECT_OPENCODE.zh.md
CONNECT_OTHER_AGENTS.md
CONNECT_OTHER_AGENTS.zh.md
CONNECT_PI.md
DAEMON.md
DESIGN_REQUIREMENTS_ELABORATION.md
design.pen
DOCKER.md
ECC_VS_CHORUS.md
figures/
fig1_page4-04_cropped.png
fig2_page7-07_cropped.png
fig3_page9-09_cropped.png
fig4_page12-12_cropped.png
fig5_page16-16_cropped.png
fig6_page25-25_cropped.png
fig7_page30-30_cropped.png
fig8_page35-35_cropped.png
idea-derived-status.md
images/
pixcel-workspace-new.gif
kiro-e2e-findings.md
LINEAR_AIDLC_PLUGIN_REPORT.md
LOGGING.md
MCP_TOOLS.md
notes-externalization-llm-agents.md
OPENSPEC_MODE.md
PERMISSIONS.md
PRD_Chorus.md
PRD_Chorus.zh.md
PRESENCE_DESIGN.md
SEARCH.md
SSE_REALTIME_UPDATES.md
eslint.config.mjs
install.sh
LICENSE.txt
live-login.png
live-token-badges-verified.png
messages/
en.json
ja.json
ko.json
zh.json
next.config.ts
openspec/
changes/
add-comment-mention-badges/
.openspec.yaml
design.md
proposal.md
README.md
specs/
comment-mention-badge/
spec.md
add-elaboration-verify-wake/
.openspec.yaml
design.md
proposal.md
README.md
specs/
daemon-session-conversation/
spec.md
elaboration-resolution/
spec.md
elaboration-verify-wake/
spec.md
tasks.md
add-idea-completion-report/
.openspec.yaml
design.md
proposal.md
README.md
specs/
idea-completion-report/
spec.md
mcp-tool-surface/
spec.md
add-reference-artifacts/
add-reference-artifacts-v2/
.openspec.yaml
design.md
proposal.md
README.md
specs/
reference-artifacts-v2/
spec.md
tasks.md
.openspec.yaml
design.md
proposal.md
README.md
specs/
reference-artifacts/
spec.md
tasks.md
archive/
2026-05-19-add-delete-document-ui/
.openspec.yaml
design.md
proposal.md
README.md
specs/
document-deletion-ui/
spec.md
tasks.md
2026-05-20-fix-elaboration-ui-options/
.openspec.yaml
design.md
proposal.md
README.md
specs/
elaboration-answer-ui/
spec.md
2026-05-20-idea-cross-project-cascade-move/
.openspec.yaml
design.md
proposal.md
README.md
specs/
idea-cross-project-move/
spec.md
2026-05-20-mermaid-document-rendering/
.openspec.yaml
design.md
proposal.md
README.md
specs/
document-markdown-rendering/
spec.md
tasks.md
2026-05-21-remove-redundant-mcp-tools/
.openspec.yaml
design.md
proposal.md
README.md
specs/
mcp-tool-surface/
spec.md
2026-05-25-add-brainstorm-skill/
.openspec.yaml
design.md
proposal.md
README.md
specs/
idea-elaboration-brainstorm/
spec.md
2026-05-25-session-lifecycle-active-only/
.openspec.yaml
design.md
proposal.md
README.md
specs/
session-lifecycle/
spec.md
tasks.md
2026-05-26-add-report-realtime-notification/
.openspec.yaml
design.md
proposal.md
README.md
specs/
report-realtime/
spec.md
2026-05-27-create-report-force-flag/
.openspec.yaml
design.md
proposal.md
README.md
specs/
create-report-force/
spec.md
2026-05-28-fix-ime-composition-on-enter/
.openspec.yaml
design.md
proposal.md
README.md
specs/
frontend-input/
spec.md
2026-05-30-refactor-openclaw-plugin/
.openspec.yaml
design.md
proposal.md
README.md
specs/
openclaw-event-bridge/
spec.md
openclaw-mcp-integration/
spec.md
openclaw-plugin-sdk/
spec.md
openclaw-skills/
spec.md
tasks.md
2026-05-31-refactor-get-proposal-sections/
.openspec.yaml
design.md
proposal.md
README.md
specs/
mcp-tool-surface/
spec.md
tasks.md
2026-06-02-enforce-task-acceptance-criteria/
.openspec.yaml
design.md
proposal.md
README.md
specs/
mcp-tool-surface/
spec.md
tasks.md
2026-06-03-add-public-yolo-reviewer-skills/
... 1600 moreShowing a partial view of a very large repo.
FAQ
chorus is a Claude Code plugin with 54 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes blog, e2e-verification, openspec-apply-change. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.