用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Chorus-AIDLC/Chorus --skill chorus命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | chorus |
| description | Chorus AI Agent collaboration platform — overview, common tools, setup, and routing to stage-specific skills. |
| license | AGPL-3.0 |
| metadata | {"author":"chorus","version":"0.16.4","category":"project-management","mcp_server":"chorus"} |
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.
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:8637), referred to as <BASE_URL> below.
Skill files are hosted under the <BASE_URL>/skill/ path.
| 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 |
| quick-dev-chorus | Lightweight direct-to-task workflow (skips Idea→Proposal) | /skill/quick-dev-chorus/SKILL.md |
| brainstorm-chorus | Optional divergent→convergent dialogue, prelude to elaboration | /skill/brainstorm-chorus/SKILL.md |
| proposal-reviewer-chorus | Read-only adversarial proposal reviewer (posts VERDICT) | /skill/proposal-reviewer-chorus/SKILL.md |
| task-reviewer-chorus | Read-only adversarial task reviewer (posts VERDICT) | /skill/task-reviewer-chorus/SKILL.md |
| code-reviewer-chorus | Read-only adversarial code-review gateway — reviews an Idea's aggregate code change before ship (posts VERDICT on the Idea) | /skill/code-reviewer-chorus/SKILL.md |
| yolo-chorus | Full-auto AI-DLC pipeline — prompt to done | /skill/yolo-chorus/SKILL.md |
| package.json | Version & download metadata | /skill/package.json |
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 .claude/skills/quick-dev-chorus .claude/skills/brainstorm-chorus .claude/skills/proposal-reviewer-chorus .claude/skills/task-reviewer-chorus .claude/skills/code-reviewer-chorus .claude/skills/yolo-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/quick-dev-chorus/SKILL.md > .claude/skills/quick-dev-chorus/SKILL.md
curl -s $BASE_URL/skill/brainstorm-chorus/SKILL.md > .claude/skills/brainstorm-chorus/SKILL.md
curl -s $BASE_URL/skill/proposal-reviewer-chorus/SKILL.md > .claude/skills/proposal-reviewer-chorus/SKILL.md
curl -s $BASE_URL/skill/task-reviewer-chorus/SKILL.md > .claude/skills/task-reviewer-chorus/SKILL.md
curl -s $BASE_URL/skill/code-reviewer-chorus/SKILL.md > .claude/skills/code-reviewer-chorus/SKILL.md
curl -s $BASE_URL/skill/yolo-chorus/SKILL.md > .claude/skills/yolo-chorus/SKILL.md
curl -s $BASE_URL/skill/package.json > .claude/skills/chorus/package.json
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 ~/.moltbot/skills/quick-dev-chorus ~/.moltbot/skills/brainstorm-chorus ~/.moltbot/skills/proposal-reviewer-chorus ~/.moltbot/skills/task-reviewer-chorus ~/.moltbot/skills/code-reviewer-chorus ~/.moltbot/skills/yolo-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/quick-dev-chorus/SKILL.md > ~/.moltbot/skills/quick-dev-chorus/SKILL.md
curl -s $BASE_URL/skill/brainstorm-chorus/SKILL.md > ~/.moltbot/skills/brainstorm-chorus/SKILL.md
curl -s $BASE_URL/skill/proposal-reviewer-chorus/SKILL.md > ~/.moltbot/skills/proposal-reviewer-chorus/SKILL.md
curl -s $BASE_URL/skill/task-reviewer-chorus/SKILL.md > ~/.moltbot/skills/task-reviewer-chorus/SKILL.md
curl -s $BASE_URL/skill/code-reviewer-chorus/SKILL.md > ~/.moltbot/skills/code-reviewer-chorus/SKILL.md
curl -s $BASE_URL/skill/yolo-chorus/SKILL.md > ~/.moltbot/skills/yolo-chorus/SKILL.md
curl -s $BASE_URL/skill/package.json > ~/.moltbot/skills/chorus/package.json
curl -s <BASE_URL>/skill/package.json | grep '"version"'
Compare with your local version. If newer, re-fetch all files.
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
| Role | Responsibility | MCP Tools |
|---|---|---|
| PM Agent | Analyze Ideas, create Proposals (PRD + Task drafts), manage documents | Public + chorus_pm_* + chorus_*_idea + task:write tools (claim/release/submit/report) |
| 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 |
Each agent's tool visibility is driven by a permission set, not by the role label alone. Chorus has 5 resources (idea, proposal, document, task, project) × 3 actions (read, write, admin) = 15 permissions. Each permission-gated MCP tool declares a single required permission (see <BASE_URL>/docs/MCP_TOOLS.md for the full table).
Role presets map to permission sets:
| Preset | Permissions |
|---|---|
developer_agent | all *:read + task:write |
pm_agent | all *:read + idea:write + proposal:write + document:write + task:write + project:write |
admin_agent | all 15 permissions (every read + write + admin) |
Custom permissions are also supported: when creating an agent you can pick a preset AND/OR add individual permissions. The effective permission set is the union. Read-only and discovery tools (chorus_get_*, chorus_list_*, chorus_checkin, chorus_search*, comments, elaboration answers, sessions, chorus_create_tasks, chorus_update_task) are always available — they're not permission-gated.
Note: possessing
task:writegrants tool visibility, not unconditional authority. Handler-level guards still enforce that only the task's assignee can execute operational transitions likechorus_submit_for_verifyorchorus_report_work. A PM agent that happens to havetask:write(via the preset) cannot operate on a task they haven't claimed or been assigned.
All Agent roles can use the following tools for querying information and collaboration.
| 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 } or null — the human user who owns this agentResults 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:
X-Chorus-Project-Group takes precedence if both headers are providedAffected tools: chorus_checkin, chorus_get_my_assignments
Authorization: Bearer cho_... header on every request (your MCP client handles this automatically)| 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 |
| 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) |
| Tool | Purpose |
|---|---|
chorus_get_ideas | List project Ideas (filterable by status, paginated; rows include reportCount) |
chorus_get_idea | Get a single Idea's details (includes reports[] with full content) |
chorus_get_available_ideas | Get claimable Ideas (status=open) |
| Tool | Purpose |
|---|---|
chorus_get_documents | List project documents (filterable by type: prd, tech_design, adr, spec, guide, report) |
chorus_get_document | Get a single document's content |
A report is a short idea-completion summary persisted as a type="report" Document at end-of-Idea, authored via chorus_create_report (gated on document:write). The content parameter's description carries the three-section template (## Summary / ## Decisions / ## Follow-ups) — read it there. The yolo skill writes one mandatorily; the develop skill offers it advisorily on last-task verify.
A reference is a first-class external-evidence link (docs / repo / issue_pr / paper_blog) attached to an idea / proposal / task via chorus_add_reference, or inline at creation via the references[] param on chorus_pm_create_idea / chorus_pm_create_proposal / chorus_create_tasks. References read back inline through the chorus_get_* tools.
Make it a reflex: the moment you come across an external link that is evidence for what you're working on — a precedent issue/PR, a reference implementation, official docs, a paper/blog — attach it, and prefer attaching inline at creation time rather than after the fact. See the idea-chorus skill (<BASE_URL>/skill/idea-chorus/SKILL.md), Step 4.4, for the type-selection criteria and a worked example.
| Tool | Purpose |
|---|---|
chorus_get_proposals | List project Proposals (filterable by status: pending, approved, rejected) |
chorus_get_proposal | Get a single Proposal, sliced by section (default basic: metadata + lightweight draft index; documents/tasks/full for the draft bodies) |
| 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.
| Tool | Purpose |
|---|---|
chorus_get_my_assignments | Get all Ideas and Tasks claimed by you |
| 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)| 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) |
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:
chorus_search_mentionables({ query: "yifei" })@[Yifei](user:uuid-here) in your contentWhen to @mention:
idea-chorus)| Tool | Purpose |
|---|---|
chorus_search | Search compact summaries across tasks, ideas, proposals, documents, projects, and project groups; canonical UUIDs use exact lookup |
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)Prefer chorus_search for discovery, including exact UUID lookup. Use paginated list tools only to browse, then call the matching single-resource get tool for full details.
| 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() — check notifications.unreadCountchorus_get_notifications() — auto-marks as readchorus_get_notifications({ autoMarkRead: false })API Keys are created by the user in the Chorus Web UI.
Ask the user to:
http://localhost:8637/settings)Security notes:
idea:write to file bugs)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.
chorus_checkin()
If it fails, check: API Key correct (cho_ prefix)? URL reachable? IDE restarted?
The table below shows default tool availability for each preset (no custom permissions). Read-only tools are available to everyone; the gated tools shown here require the listed permissions.
| Tool Group | Required Permission | Developer | PM | Admin |
|---|---|---|---|---|
chorus_get_* / chorus_list_* / chorus_search* | (public, read) | Yes | Yes | Yes |
chorus_checkin | (public) | Yes | Yes | Yes |
chorus_add_comment / chorus_get_comments | (public) | Yes | Yes | Yes |
chorus_update_task (field edits + status) | (public; assignee required for status) | Yes | Yes | Yes |
chorus_claim_task / chorus_release_task / chorus_submit_for_verify / chorus_report_work / chorus_report_criteria_self_check | task:write | Yes | Yes (0.7.0+) | Yes |
chorus_claim_idea / chorus_release_idea / chorus_move_idea / chorus_pm_create_idea / chorus_edit_idea / chorus_pm_*_elaboration | idea:write | No | Yes | Yes |
chorus_pm_create_proposal / chorus_pm_*_proposal / chorus_pm_*_draft / chorus_create_tasks / chorus_pm_assign_task | proposal:write | No | Yes | Yes |
chorus_pm_create_document / chorus_pm_update_document / chorus_create_report | document:write | No | Yes | Yes |
chorus_add_reference / chorus_update_reference / chorus_remove_reference | document:write | No |
chorus_checkin() at the start to know who you are and what to dochorus_report_work or chorus_add_comment to keep the team informeddependsOnDraftUuids in task drafts to express execution orderto_verify do NOT unblock downstream dependencies — only done doesopen --> elaborating --> proposal_created --> completed
\ /
\--> closed <------------------------------/
open --> assigned --> in_progress --> to_verify --> done
\ /
\--> closed <-----------------------------------/
^ |
| v
+--- (reopen) -- in_progress
draft --> pending --> approved
\-> rejected --> revised --> pending ...
approved --> draft (via revoke — cascade-closes tasks, deletes documents)
Chorus uses independent, read-only adversarial reviewers at three gates: before a proposal is approved, before a task is verified, and before an Idea's code ships (the final aggregate gateway). The reviewer's job is to find what is wrong — not to rubber-stamp. Its output is advisory: it informs the orchestrator's decision but does not by itself approve, reject, verify, reopen, or ship anything.
This is the single canonical description of the reviewer pattern. The develop-chorus, review-chorus, and yolo-chorus skills all point back here rather than redefining it.
proposal-reviewer-chorus (<BASE_URL>/skill/proposal-reviewer-chorus/SKILL.md) — for reviewing a proposal before approval. Pass it the proposalUuid.task-reviewer-chorus (<BASE_URL>/skill/task-reviewer-chorus/SKILL.md) — for reviewing a task before verification. Pass it the taskUuid.code-reviewer-chorus (<BASE_URL>/skill/code-reviewer-chorus/SKILL.md) — the final ship-time gateway: reviews an Idea's aggregate code change (the whole feature across all its tasks) after its last task is verified, before the code ships. Pass it the ideaUuid and the review round number. Posts its VERDICT on the Idea.VERDICT comment on the proposal/task/idea via chorus_add_comment. The comment ends with one literal verdict string: VERDICT: PASS, VERDICT: PASS WITH NOTES, or VERDICT: FAIL.chorus_get_comments({ targetType, targetUuid }), read the BLOCKER / NOTE findings, then make the call:
PASS / PASS WITH NOTES → proceed (approve the proposal / verify the task / ship the feature), addressing NOTEs at your discretion.FAIL → do not proceed; route the BLOCKERs back for a fix (reject/revise the proposal, reopen/rework the task, or — for the code-review gateway — add new fix tasks to the approved proposal and re-run once they are done), then re-review. The cleanest way to run those code-review fix tasks is the quick-dev workflow (<BASE_URL>/skill/quick-dev-chorus/SKILL.md): call chorus_create_tasks with proposalUuid set to the current approved proposal so the fix tasks attach to it (not standalone), then group related small BLOCKERs by default and split only materially large or independently testable fixes. Never reopen completed tasks or apply untracked fixes. Require AC self-check, independent task review, and admin verification for every fix; re-run aggregate review only after all are successfully . A failed or cancelled fix stops the loop and escalates, while remains authoritative.The verdict is advisory: even a
FAILdoes not hard-block, and aPASSdoes not auto-approve. A human/admin (or, under/yolo, the automated orchestrator) makes the final decision. The code-review gateway in particular is a behavioral gate — it does not change the Idea's stored status; the orchestrator honors its verdict.
How you spawn the read-only sub-agent depends on your agent harness — give it the reviewer skill plus the target UUID and instruct it to post a single VERDICT comment. Concrete examples:
task-reviewer-chorus (or proposal-reviewer-chorus / code-reviewer-chorus) and pass the taskUuid / proposalUuid / ideaUuid.spawn_agent with the reviewer skill and the target UUID.When sub-agents are not available in your harness, run the review inline yourself: load the relevant reviewer skill's procedure (proposal-reviewer-chorus, task-reviewer-chorus, or code-reviewer-chorus), audit the proposal/task/idea against its checklist with the same adversarial posture, and post the single VERDICT comment yourself before acting on it. A same-agent self-review is weaker than a fresh independent reviewer, but it is far better than skipping the gate.
This is the core overview skill. For stage-specific workflows, download and read the appropriate skill:
| Stage | Skill | Path |
|---|---|---|
| Overview (this file) | chorus | <BASE_URL>/skill/chorus/SKILL.md |
| Quick Dev | quick-dev-chorus | <BASE_URL>/skill/quick-dev-chorus/SKILL.md |
| Brainstorm | brainstorm-chorus | <BASE_URL>/skill/brainstorm-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 |
| Docs | docs-chorus | <BASE_URL>/skill/docs-chorus/SKILL.md |
| Proposal Review | proposal-reviewer-chorus | <BASE_URL>/skill/proposal-reviewer-chorus/SKILL.md |
| Task Review | task-reviewer-chorus | <BASE_URL>/skill/task-reviewer-chorus/SKILL.md |
| Code Review (ship gateway) | code-reviewer-chorus | <BASE_URL>/skill/code-reviewer-chorus/SKILL.md |
| Full-Auto | yolo-chorus | <BASE_URL>/skill/yolo-chorus/SKILL.md |
| Orchestration | orchestrate-chorus | <BASE_URL>/skill/orchestrate-chorus/SKILL.md |
chorus_checkin() to learn your role and assignmentsidea-chorus then proposal-chorusdevelop-chorusreview-chorus (also has access to all PM and Developer tools)| Yes |
| Yes |
chorus_admin_create_project / chorus_admin_*_project_group / chorus_admin_move_project_to_group | project:write | No | Yes (0.7.0+) | Yes |
chorus_admin_approve_proposal / chorus_admin_close_proposal | proposal:admin | No | No | Yes |
chorus_admin_verify_task / chorus_admin_reopen_task / chorus_admin_close_task / chorus_mark_acceptance_criteria / chorus_admin_delete_task | task:admin | No | No | Yes |
chorus_admin_delete_idea | idea:admin | No | No | Yes |
chorus_admin_delete_document | document:admin | No | No | Yes |
donemaxCodeReviewRoundsOptional divergent-then-convergent dialogue for fuzzy ideas. Invoked from the idea skill as a prelude to structured elaboration; produces one ElaborationRound of decision-point Q&A and returns control. Never writes files, never posts comments, never validates elaboration.
Chorus AI Agent collaboration platform — overview, common tools, setup, and routing to stage-specific skills.
Final ship-time review of an Idea's aggregate code change — the whole feature across all its tasks, not one task. Read the integrated code, check cross-task integration / architecture / security / regression / coverage, run tests. Invoke after the last task of an idea-rooted proposal is verified; ends with a VERDICT comment on the Idea.
基于 SOC 职业分类