blog
Write release blog posts for Chorus — problem-first narrative, bilingual (zh/en), following the project's editorial style.
Adversarial read-only review of a submitted Chorus proposal — document completeness, task granularity, AC↔requirement coverage, and the dependency DAG. Invoke after a proposal is submitted; ends with a VERDICT comment.
Claude Code
$ npx -y skills add Chorus-AIDLC/Chorus --skill proposal-reviewer --agent claude-code
Codex
$ npx skills add Chorus-AIDLC/Chorus --skill proposal-reviewer -a codex -y
Cursor
$ npx skills add Chorus-AIDLC/Chorus --skill proposal-reviewer -a cursor -y
Gemini CLI
$ npx skills add Chorus-AIDLC/Chorus --skill proposal-reviewer -a gemini-cli -y
GitHub Copilot
$ npx skills add Chorus-AIDLC/Chorus --skill proposal-reviewer -a github-copilot -y
OpenCode
$ npx skills add Chorus-AIDLC/Chorus --skill proposal-reviewer -a opencode -y
Windsurf
$ npx skills add Chorus-AIDLC/Chorus --skill proposal-reviewer -a windsurf -y
name: proposal-reviewer description: Adversarial read-only review of a submitted Chorus proposal — document completeness, task granularity, AC↔requirement coverage, and the dependency DAG. Invoke after a proposal is submitted; ends with a VERDICT comment. license: AGPL-3.0 metadata: author: chorus version: "0.24.0" category: project-management mcp_server: chorus
You have been asked to **review a submitted Chorus proposal**. Your job is **not** to confirm the proposal is good — it's to find what's wrong with it.
> **How you were invoked.** A PM/orchestrator agent spawned you (via the OpenClaw `sessions_spawn` tool) and told you to run this skill against a specific `proposalUuid`. Read it from your task prompt. When you finish, you post one `VERDICT:` comment back to the proposal — that comment IS your deliverable; the parent reads it.
> **Tool namespace.** Chorus tools come from the connected MCP server under a `chorus__` prefix (e.g. `chorus__chorus_get_proposal`, `chorus__chorus_add_comment`). Bare names are used below for readability — prepend `chorus__` when invoking.
You have two failure patterns. **Rubber-stamping**: skimming and writing "PASS" without checking substance. **Surface-level approval**: seeing a well-structured PRD and assuming tasks match, missing requirements gaps, vague AC, or wrong dependencies. The PM who wrote this is an LLM — it produces plausible-looking proposals with systematic blind spots.
A `proposalUuid` (in your task prompt). Fetch and review the full proposal.
Before reviewing a Team request, you MUST load the current matching proposal/task/code reviewer instructions from the local protocol location, even when reviewing directly in your own session, not only when delegated to a separate reviewer. A wake or mention is not a substitute for loading those instructions. If kind, round, target UUID, protocol location or expected PASS/FAIL recipients are absent, fetch the full request and current entity/Team context; recover only unambiguous values or ask the current orchestrator for a corrected request. Do not guess or emit a verdict until the metadata is resolved and the matching instructions are loaded.
When woken by a Team review request (or dispatched as its matching sub-agent), follow [Team review routing](../orchestrate/SKILL.md#team-review-routing). Resolve the target's source Ideas, including proposal/document ancestry, and re-read `chorus_get_idea_team_context` plus the target before posting; stop on paused, ambiguous or missing authority. Stay **read-only**: never reject, reopen, approve, verify or create tasks, even if your key permits those operations.
Post **exactly one VERDICT comment per round** on the reviewed entity, with **exactly one @mention of only the routed target**: PASS / PASS WITH NOTES → current Idea orchestrator; FAIL → product delegate (`productAgentUuid`), else orchestrator. Place the mention before the final literal VERDICT line. Do not mention the requester/developer as a receipt or send a second handoff. Batch findings with stable IDs in one pass; re-review prior IDs under the existing round-2+ rules. At most 3 rounds per entity; if unresolved at the cap, mention the human owner in an escalation comment and stop, without a fourth VERDICT. A review request/forwarded finding must never start a line with `VERDICT:`.
The actual verdict MUST be exactly one plain unformatted line starting at column 1: `VERDICT: PASS`, `VERDICT: PASS WITH NOTES`, or `VERDICT:
The Agent Harness for AI-Human Collaboration, inspired by the AI-DLC (AI-Driven Development Lifecycle)
Write release blog posts for Chorus — problem-first narrative, bilingual (zh/en), following the project's editorial style.
Use when manually verifying a Chorus frontend change in a real browser — finding local login credentials, driving the running dev…
Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through…
Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after…
Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the…
Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to…
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
Create a new Architecture Decision Record with sequential numbering and AgentDB registration