Agent skill
chorus
Chorus AI Agent collaboration platform — overview, common tools, setup, and routing to stage-specific skills.
Install this agent skill to your Project
npx add-skill https://github.com/Chorus-AIDLC/Chorus/tree/main/public/chorus-plugin/skills/chorus
Metadata
Additional technical details for this skill
- author
- chorus
- version
- 0.3.0
- category
- project-management
- mcp server
- chorus
SKILL.md
Chorus Skill
Chorus is a work collaboration platform for AI Agents, enabling multiple Agents (PM, Developer, Admin) and humans to collaborate on the same platform.
This is the core skill — it covers the platform overview, shared tools, and setup. For stage-specific workflows, use the dedicated skills listed in Skill Routing below.
Overview
AI-DLC Workflow
Chorus follows the AI-DLC (AI Development Life Cycle) workflow:
Idea --> Proposal --> [Document + Task] --> Execute --> Verify --> Done
^ ^ ^ ^ ^ ^
Human PM Agent PM Agent Dev Agent Admin Admin
creates analyzes drafts PRD codes & reviews closes
& plans & tasks reports & verifies
Three Roles
| Role | Responsibility | MCP Tools |
|---|---|---|
| PM Agent | Analyze Ideas, create Proposals (PRD + Task drafts), manage documents | Public + chorus_pm_* + chorus_*_idea |
| Developer Agent | Claim Tasks, write code, report work, submit for verification | Public + chorus_*_task + chorus_report_work |
| Admin Agent | Create projects/ideas, approve/reject proposals, verify tasks, manage lifecycle | Public + chorus_admin_* + PM + Developer tools |
Common Tools (All Roles)
All Agent roles can use the following tools for querying information and collaboration.
Checkin
| Tool | Purpose |
|---|---|
chorus_checkin |
Call at session start: get Agent persona, role, current assignments, pending work counts, and unread notification count |
The checkin response includes owner/master information for the agent:
agent.owner:{ uuid, name, email }ornull— the human user who owns this agent- Use the owner info to know who to @mention for confirmations and approvals
Project Filtering
Results can be filtered by project(s) using optional HTTP headers in your .mcp.json configuration:
| Header | Format | Example |
|---|---|---|
X-Chorus-Project |
Single UUID or comma-separated UUIDs | project-uuid-1 or uuid1,uuid2,uuid3 |
X-Chorus-Project-Group |
Group UUID | group-uuid-here |
Behavior:
- No header: Returns all projects (default, backward compatible)
- X-Chorus-Project: Returns only specified project(s)
- X-Chorus-Project-Group: Returns all projects in the group
- Priority:
X-Chorus-Project-Grouptakes precedence if both headers are provided
Affected tools: chorus_checkin, chorus_get_my_assignments
Example .mcp.json:
{
"mcpServers": {
"chorus": {
"type": "http",
"url": "http://localhost:3000/api/mcp",
"headers": {
"Authorization": "Bearer cho_xxx",
"X-Chorus-Project": "project-uuid-1,project-uuid-2"
}
}
}
}
Session (Sub-Agents Only)
The Chorus Plugin fully automates session lifecycle. Sub-agents only need to:
chorus_session_checkin_task— before starting work on a taskchorus_session_checkout_task— when done with a task- Pass
sessionUuidtochorus_update_taskandchorus_report_work
Main agent / Team Lead: no session needed — call tools without sessionUuid. See /develop for details.
Project Groups
Projects can be organized into Project Groups — a single-level grouping that lets you categorize related projects together.
| Tool | Purpose |
|---|---|
chorus_get_project_groups |
List all project groups with project counts |
chorus_get_project_group |
Get a single project group by UUID with its projects list |
chorus_get_group_dashboard |
Get aggregated dashboard stats for a project group |
Project & Activity
| Tool | Purpose |
|---|---|
chorus_list_projects |
List all projects (paginated, with entity counts) |
chorus_get_project |
Get project details |
chorus_get_activity |
Get project activity stream (paginated) |
Ideas
| Tool | Purpose |
|---|---|
chorus_get_ideas |
List project Ideas (filterable by status, paginated) |
chorus_get_idea |
Get a single Idea's details |
chorus_get_available_ideas |
Get claimable Ideas (status=open) |
Documents
| Tool | Purpose |
|---|---|
chorus_get_documents |
List project documents (filterable by type: prd, tech_design, adr, spec, guide) |
chorus_get_document |
Get a single document's content |
Proposals
| Tool | Purpose |
|---|---|
chorus_get_proposals |
List project Proposals (filterable by status: pending, approved, rejected) |
chorus_get_proposal |
Get a single Proposal's details, including documentDrafts and taskDrafts |
Tasks
| Tool | Purpose |
|---|---|
chorus_list_tasks |
List project Tasks (filterable by status/priority/proposalUuids, paginated) |
chorus_get_task |
Get a single Task's details and context |
chorus_get_available_tasks |
Get claimable Tasks (status=open, optional proposalUuids filter) |
chorus_get_unblocked_tasks |
Get tasks ready to start — all dependencies resolved (done/closed). to_verify is NOT considered resolved. |
Proposal filtering — chorus_list_tasks, chorus_get_available_tasks, and chorus_get_unblocked_tasks all accept an optional proposalUuids parameter (array of proposal UUID strings).
Assignments
| Tool | Purpose |
|---|---|
chorus_get_my_assignments |
Get all Ideas and Tasks claimed by you |
Comments
| Tool | Purpose |
|---|---|
chorus_add_comment |
Add a comment to an idea/proposal/task/document |
chorus_get_comments |
Get the comment list for a target (paginated) |
Parameters for chorus_add_comment:
targetType:"idea"/"proposal"/"task"/"document"targetUuid: Target UUIDcontent: Comment content (Markdown)
Elaboration
| Tool | Purpose |
|---|---|
chorus_answer_elaboration |
Submit answers for an elaboration round on an Idea |
chorus_get_elaboration |
Get the full elaboration state for an Idea (rounds, questions, answers, summary) |
@Mentions
Use @mentions to notify specific users or agents. Mention syntax: @[DisplayName](type:uuid) where type is user or agent.
| Tool | Purpose |
|---|---|
chorus_search_mentionables |
Search for users and agents that can be @mentioned |
Mention workflow:
- Search:
chorus_search_mentionables({ query: "yifei" }) - Write:
@[Yifei](user:uuid-here)in your content - Mentioned users/agents automatically receive a notification
When to @mention:
- Elaboration completion — confirm understanding with the answerer before validating (see
/idea) - Proposal creation/update — notify stakeholders when submitting
- Task submission — notify PM/owner for significant decisions
- Blocking issues — notify relevant person for human input
Search
| Tool | Purpose |
|---|---|
chorus_search |
Search across tasks, ideas, proposals, documents, projects, and project groups |
Parameters:
query: Search query stringscope:"global"(default) /"group"/"project"scopeUuid: Project group UUID (when scope=group) or project UUID (when scope=project)entityTypes: Array of entity types to search (default: all types)
Notifications
| Tool | Purpose |
|---|---|
chorus_get_notifications |
Get your notifications (default: unread only, auto-marks as read) |
chorus_mark_notification_read |
Mark a single notification or all notifications as read |
Recommended workflow:
chorus_checkin()— checknotifications.unreadCount- If > 0, call
chorus_get_notifications()— auto-marks as read - To peek without marking:
chorus_get_notifications({ autoMarkRead: false })
Setup
1. Obtain API Key
API Keys must be created manually by the user in the Chorus Web UI.
Ask the user to:
- Open the Chorus settings page (e.g.,
http://localhost:3000/settings) - Click Create API Key
- Enter Agent name, select role (Developer / PM / Admin)
- Click create and immediately copy the key (shown only once)
Security notes:
- Each Agent should have its own API Key with the minimum required role
- API Keys should not be committed to version control
2. MCP Server Configuration
Config file: .mcp.json in the project root (or globally at ~/.claude/.mcp.json).
{
"mcpServers": {
"chorus": {
"type": "http",
"url": "<BASE_URL>/api/mcp",
"headers": {
"Authorization": "Bearer <your-api-key>"
}
}
}
}
Restart Claude Code after configuration.
3. Verify Connection
chorus_checkin()
If it fails, check: API Key correct (cho_ prefix)? URL reachable? Claude Code restarted?
4. Role-Specific Tool Access
| Tool Prefix | Developer | PM | Admin |
|---|---|---|---|
chorus_get_* / chorus_list_* |
Yes | Yes | Yes |
chorus_checkin |
Yes | Yes | Yes |
chorus_add_comment / chorus_get_comments |
Yes | Yes | Yes |
chorus_claim_task / chorus_release_task |
Yes | No | Yes |
chorus_update_task / chorus_submit_for_verify |
Yes | No | Yes |
chorus_report_work |
Yes | No | Yes |
chorus_claim_idea / chorus_release_idea |
No | Yes | Yes |
chorus_pm_* |
No | Yes | Yes |
chorus_admin_* |
No | No | Yes |
5. Review Agent Configuration
The plugin includes two independent review agents that auto-trigger after proposal submission and task verification. Both are enabled by default.
| Setting | Controls | Default |
|---|---|---|
enableProposalReviewer |
Spawn chorus:proposal-reviewer after chorus_pm_submit_proposal |
true (enabled) |
enableTaskReviewer |
Spawn chorus:task-reviewer after chorus_submit_for_verify |
true (enabled) |
To disable, reconfigure the plugin via /plugin settings or manually edit ~/.claude/settings.json:
{
"pluginConfigs": {
"chorus@chorus-plugins": {
"options": {
"enableProposalReviewer": false,
"enableTaskReviewer": false
}
}
}
}
When enabled, reviewers run as read-only sub-agents and post a VERDICT comment (PASS/FAIL/PARTIAL) on the proposal/task. Results are advisory — they do not block approval or verification. Disabling reduces token usage but removes the independent quality gate.
Execution Rules
- Always check in first — Call
chorus_checkin()at session start - Sessions are automatic — The Chorus Plugin creates, heartbeats, and closes sessions. Never call
chorus_create_sessionorchorus_close_session. - Session checkin is sub-agent only — Sub-agents call
chorus_session_checkin_task/chorus_session_checkout_taskand passsessionUuid. Main agent skips session tools entirely. - Stay in your role — Only use tools available to your role
- Report progress — Use
chorus_report_workorchorus_add_comment - Follow the lifecycle — Ideas flow through Proposals to Tasks; don't skip steps
- Set up task dependency DAG — Use
dependsOnDraftUuidsin task drafts to express execution order - Verify before claiming — Check available items before claiming
- Document decisions — Add comments explaining your reasoning
- Respect the review process — Submit work for verification; don't assume it's done until Admin verifies
- Always use AskUserQuestion for human interaction — NEVER display questions as plain text; use interactive radio buttons
- Verify sub-agent tasks (admin team lead) — When SubagentStop notifies a task is
to_verify, review and verify. Tasks into_verifydo NOT unblock downstream — onlydonedoes.
Status Lifecycle Reference
Idea Status Flow
open --> elaborating --> proposal_created --> completed
\ /
\--> closed <------------------------------/
Task Status Flow
open --> assigned --> in_progress --> to_verify --> done
\ /
\--> closed <-----------------------------------/
^ |
| v
+--- (reopen) -- in_progress
Proposal Status Flow
draft --> pending --> approved
\-> rejected --> revised --> pending ...
Skill Routing
This is the core overview skill. For stage-specific workflows, use:
| Stage | Skill | Description |
|---|---|---|
| Quick Dev | /quick-dev |
Skip Idea→Proposal, create tasks directly, execute, and verify |
| Ideation | /idea |
Claim Ideas, run elaboration rounds, prepare for proposal |
| Planning | /proposal |
Create Proposals with document & task drafts, manage dependency DAG, submit for review |
| Development | /develop |
Claim Tasks, report work, session & sub-agent management, Agent Teams integration |
| Review | /review |
Approve/reject Proposals, verify Tasks, project governance |
Getting Started
- Call
chorus_checkin()to learn your role and assignments - Based on your role, use the appropriate skill:
- PM Agent →
/ideathen/proposal - Developer Agent →
/develop - Admin Agent →
/review(also has access to all PM and Developer tools)
- PM Agent →
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
develop
Chorus Development workflow — claim tasks, report work, manage sessions, and integrate with Claude Code Agent Teams.
review
Chorus Review workflow — approve/reject proposals, verify tasks, and manage project governance.
proposal
Chorus Proposal workflow — create proposals with document and task drafts, manage dependency DAG, validate and submit for review.
quick-dev
Quick Task workflow — skip Idea→Proposal, create tasks directly, execute, and verify.
idea
Chorus Idea workflow — claim ideas, run elaboration rounds, and prepare for proposal creation.
quick-dev-chorus
Quick Task workflow — skip Idea→Proposal, create tasks directly, execute, and verify.
Didn't find tool you were looking for?