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/skill/chorus
Metadata
Additional technical details for this skill
- author
- chorus
- version
- 0.2.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, see Skill Routing below.
Base URL
Chorus may be deployed under different domain names. The user will provide the Chorus access URL (e.g., https://chorus.acme.com or http://localhost:3000), referred to as <BASE_URL> below.
Skill files are hosted under the <BASE_URL>/skill/ path.
Skill Files
| Skill | Description | Path |
|---|---|---|
| chorus (this file) | Core overview, common tools, setup, routing | /skill/chorus/SKILL.md |
| idea-chorus | Idea claiming + elaboration workflow | /skill/idea-chorus/SKILL.md |
| proposal-chorus | Proposal creation, drafts, DAG, submission | /skill/proposal-chorus/SKILL.md |
| develop-chorus | Task execution workflow | /skill/develop-chorus/SKILL.md |
| review-chorus | Proposal approval, task verification, governance | /skill/review-chorus/SKILL.md |
| package.json | Version & download metadata | /skill/package.json |
Install (Claude Code, project-level)
BASE_URL="<BASE_URL>"
mkdir -p .claude/skills/chorus .claude/skills/idea-chorus .claude/skills/proposal-chorus .claude/skills/develop-chorus .claude/skills/review-chorus
curl -s $BASE_URL/skill/chorus/SKILL.md > .claude/skills/chorus/SKILL.md
curl -s $BASE_URL/skill/idea-chorus/SKILL.md > .claude/skills/idea-chorus/SKILL.md
curl -s $BASE_URL/skill/proposal-chorus/SKILL.md > .claude/skills/proposal-chorus/SKILL.md
curl -s $BASE_URL/skill/develop-chorus/SKILL.md > .claude/skills/develop-chorus/SKILL.md
curl -s $BASE_URL/skill/review-chorus/SKILL.md > .claude/skills/review-chorus/SKILL.md
curl -s $BASE_URL/skill/package.json > .claude/skills/chorus/package.json
Install (Moltbot)
BASE_URL="<BASE_URL>"
mkdir -p ~/.moltbot/skills/chorus ~/.moltbot/skills/idea-chorus ~/.moltbot/skills/proposal-chorus ~/.moltbot/skills/develop-chorus ~/.moltbot/skills/review-chorus
curl -s $BASE_URL/skill/chorus/SKILL.md > ~/.moltbot/skills/chorus/SKILL.md
curl -s $BASE_URL/skill/idea-chorus/SKILL.md > ~/.moltbot/skills/idea-chorus/SKILL.md
curl -s $BASE_URL/skill/proposal-chorus/SKILL.md > ~/.moltbot/skills/proposal-chorus/SKILL.md
curl -s $BASE_URL/skill/develop-chorus/SKILL.md > ~/.moltbot/skills/develop-chorus/SKILL.md
curl -s $BASE_URL/skill/review-chorus/SKILL.md > ~/.moltbot/skills/review-chorus/SKILL.md
curl -s $BASE_URL/skill/package.json > ~/.moltbot/skills/chorus/package.json
Check for Updates
curl -s <BASE_URL>/skill/package.json | grep '"version"'
Compare with your local version. If newer, re-fetch all files.
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 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)
- 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
MCP Connection
- MCP sessions expire after 30 minutes of inactivity (sliding window)
- Each MCP request automatically renews the session
- If you receive a "Session not found" error, reinitialize the MCP connection
Project Groups
| 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.
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-chorus) - 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 are created 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
Configure the MCP server in your IDE or agent framework. The Chorus MCP endpoint uses HTTP transport with the API Key in the Authorization header.
Replace <BASE_URL> with the Chorus address provided by the user.
API Keys are prefixed with
cho_, e.g.,cho_PXPnHpnmmYk8...
Example (generic MCP config):
{
"mcpServers": {
"chorus": {
"type": "http",
"url": "<BASE_URL>/api/mcp",
"headers": {
"Authorization": "Bearer <your-api-key>"
}
}
}
}
Restart your IDE or agent after configuration.
3. Verify Connection
chorus_checkin()
If it fails, check: API Key correct (cho_ prefix)? URL reachable? IDE 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 |
Execution Rules
- Always check in first — Call
chorus_checkin()at the start to know who you are and what to do - Stay in your role — Only use tools available to your role
- Report progress — Use
chorus_report_workorchorus_add_commentto keep the team informed - Follow the lifecycle — Ideas flow through Proposals to Tasks; don't skip steps
- Set up task dependency DAG — When creating Proposals, use
dependsOnDraftUuidsin task drafts to express execution order - Verify before claiming — Check available items before claiming; don't claim what you can't finish
- Document decisions — Add comments explaining your reasoning on proposals and tasks
- Respect the review process — Submit work for verification; don't assume it's done until Admin verifies
- Use interactive prompts for human interaction — When you need user input (elaboration answers, clarifications, design decisions), prefer your IDE's interactive prompt mechanism over displaying questions as plain text
- Verify sub-agent tasks promptly (admin) — Tasks in
to_verifydo NOT unblock downstream dependencies — 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, download and read the appropriate skill:
| Stage | Skill | Path |
|---|---|---|
| Quick Dev | quick-dev-chorus |
<BASE_URL>/skill/quick-dev-chorus/SKILL.md |
| Ideation | idea-chorus |
<BASE_URL>/skill/idea-chorus/SKILL.md |
| Planning | proposal-chorus |
<BASE_URL>/skill/proposal-chorus/SKILL.md |
| Development | develop-chorus |
<BASE_URL>/skill/develop-chorus/SKILL.md |
| Review | review-chorus |
<BASE_URL>/skill/review-chorus/SKILL.md |
Getting Started
- Call
chorus_checkin()to learn your role and assignments - Based on your role, read the appropriate skill:
- PM Agent —
idea-chorusthenproposal-chorus - Developer Agent —
develop-chorus - Admin Agent —
review-chorus(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.
chorus
Chorus AI Agent collaboration platform — overview, common tools, setup, and routing to stage-specific skills.
Didn't find tool you were looking for?