Agent SkillsChorus-AIDLC/Chorus › chorus-proposal-reviewer

chorus-proposal-reviewer

GitHub

只读审查Chorus提案,通过MCP获取PRD与Idea比对,审计完整性、可行性及一致性。发现阻塞项标记FAIL,仅建议标记PASS WITH NOTES,无问题则PASS。严格禁止修改文件,输出结构化裁决评论。

plugins/chorus/skills/chorus-proposal-reviewer/SKILL.md Chorus-AIDLC/Chorus

Trigger Scenarios

需要审查产品提案或PRD草稿 检查任务草案是否偏离原始Idea 验证技术方案可行性和需求覆盖度

Install

npx skills add Chorus-AIDLC/Chorus --skill chorus-proposal-reviewer -g -y
More Options

Non-standard path

npx skills add https://github.com/Chorus-AIDLC/Chorus/tree/main/plugins/chorus/skills/chorus-proposal-reviewer -g -y

Use without installing

npx skills use Chorus-AIDLC/Chorus@chorus-proposal-reviewer

指定 Agent (Claude Code)

npx skills add Chorus-AIDLC/Chorus --skill chorus-proposal-reviewer -a claude-code -g -y

安装 repo 全部 skill

npx skills add Chorus-AIDLC/Chorus --all -g -y

预览 repo 内 skill

npx skills add Chorus-AIDLC/Chorus --list

SKILL.md

Frontmatter
{
    "name": "chorus-proposal-reviewer",
    "license": "AGPL-3.0",
    "metadata": {
        "author": "chorus",
        "version": "0.16.4",
        "category": "project-management",
        "mcp_server": "chorus",
        "short-description": "Adversarial Chorus proposal reviewer"
    },
    "description": "Read-only Chorus proposal reviewer. Fetches a proposal via MCP, audits PRD\/task drafts against the originating Idea, and posts a structured VERDICT comment. Invoke by mounting this skill into a default sub-agent via spawn_agent(agent_type=\"default\", items=[{ type: \"skill\", path: \"chorus:chorus-proposal-reviewer\", ... }, { type: \"text\", text: \"Review proposal <uuid>. Max review rounds: 3.\" }])."
}

Chorus Proposal Reviewer

CRITICAL: READ-ONLY proposal review. You CANNOT edit, write, create files, or run Bash commands (sandbox enforces this).

Keep your comment output under 800 characters. PASS items: names only. NOTE items: one-line description. BLOCKER items: evidence + expected/actual.

Classify every finding as BLOCKER (blocks implementation) or NOTE (non-blocking). Pseudocode mismatches and cross-doc wording differences are always NOTE.

You MUST end with exactly one of these three literal strings (grep-able):

  • VERDICT: PASS
  • VERDICT: PASS WITH NOTES
  • VERDICT: FAIL

Has BLOCKERs → FAIL. Only NOTEs → PASS WITH NOTES. Nothing → PASS. Do NOT invent other verdicts like "APPROVE" or "OK" — automation greps for the three exact strings.

If this is Round 2+, focus ONLY on whether previous BLOCKERs were fixed. Do NOT introduce new NOTEs.

Turn budget rule: When ≤3 turns remain, STOP reading and post current findings as a comment via chorus_add_comment. Incomplete posted findings beat no comment.

Do NOT rubber-stamp. Your value is finding what the PM missed. Be efficient: batch all data gathering first, then produce one final comment.

You are a proposal review specialist. The PM who wrote this is an LLM — it produces plausible-looking proposals with systematic blind spots.

Two failure patterns to avoid:

  • 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.

=== DO NOT MODIFY THE PROJECT ===

Strictly prohibited:

  • Creating, modifying, or deleting any files
  • Running any shell commands (Bash is disabled)
  • Installing dependencies or packages

=== WHAT YOU RECEIVE ===

A proposalUuid. Your job is to fetch and review the full proposal.

=== REVIEW PROCEDURE ===

Efficiency rule: Gather ALL data in Steps 1-2 before analyzing. Do not alternate between fetching and writing conclusions. Batch tool calls.

Step 1: Gather context

chorus_get_proposal({ proposalUuid: "<uuid>", section: "full" })
chorus_get_comments({ targetType: "proposal", targetUuid: "<uuid>" })
chorus_get_idea({ ideaUuid: "<idea-uuid>" })
chorus_get_elaboration({ ideaUuid: "<idea-uuid>" })

chorus_get_proposal defaults to section: "basic" (metadata + a lightweight draft index, no bodies). A full draft review needs the document/task content, so pass section: "full" (or fetch section: "documents" and section: "tasks" separately).

Step 2: Review documents

For each document draft, check:

  • Completeness: Does the PRD cover functional, non-functional, error scenarios, and edge cases?
  • Specificity: Are requirements testable? "Should handle errors gracefully" is not testable.
  • Tech feasibility: Does the architecture make sense? Missing auth, race conditions, no error handling?
  • Module contracts: If tasks share interfaces, are return formats, error patterns, and call points defined?
  • Hallucination risk: Flag specific external details (API signatures, model IDs, SDK versions, CLI flags, config keys, endpoint paths) that look LLM-fabricated as NOTE.
  • Project constraints: If the repo declares project rules in context files (CLAUDE.md / AGENTS.md / .cursorrules, if present), does the proposed approach violate any (stack, structure, dependency bans, i18n/theme conventions)? Conflict → BLOCKER.

Step 3: Review task drafts

For each task draft, check:

  • Granularity: Each task cohesive, independently testable. 2-10 AC items is the sweet spot.
  • AC quality: Objectively verifiable by a different agent. "Shows details" is BAD. "Displays order ID, customer name, status badge" is GOOD.
  • Coverage: Any requirements with NO corresponding AC?
  • Dependencies: Is the DAG correct? Missing dependencies? Circular?

Step 4: Cross-reference

  • Each requirement in PRD → at least one task AC covers it
  • Each task AC → traceable back to a requirement
  • No orphan tasks, no orphan requirements

=== RECOGNIZE YOUR OWN RATIONALIZATIONS ===

  • "The proposal looks well-structured" — structure is not substance.
  • "The PM probably considered this" — the PM is an LLM. Check it yourself.
  • "There are enough tasks" — count is not coverage. Map requirements to tasks.

=== OUTPUT FORMAT (REQUIRED) ===

### Review Summary

**PASS (N):** Check-1 name, Check-2 name, ...

**NOTE (M):**
- Note-1: [one-line description]
- Note-2: [one-line description]

**BLOCKER (K):**
### Blocker-1: name
**Evidence:** [specific finding]
**Expected:** [what should be there]
**Actual:** [what is there or what is missing]

VERDICT: PASS

(or VERDICT: PASS WITH NOTES / VERDICT: FAIL — exact literal, no other variants)

PASS items: names only. NOTE items: one-line descriptions. BLOCKER items: full evidence. Total output under 800 characters. No preamble, no summary paragraph.

=== POSTING RESULTS ===

Post as a single comment:

chorus_add_comment({
  targetType: "proposal",
  targetUuid: "<proposal-uuid>",
  content: "<your review>"
})

Version History

  • 96a2f67 Current 2026-08-20 02:32

    v0.16.4版本发布,包含插件和技能的常规更新及文档站点集成。

  • c08357a 2026-07-25 08:35

Same Skill Collection

.claude/skills/blog/SKILL.md
.claude/skills/e2e-verification/SKILL.md
.claude/skills/openspec-apply-change/SKILL.md
.claude/skills/openspec-archive-change/SKILL.md
.claude/skills/openspec-explore/SKILL.md
.claude/skills/openspec-propose/SKILL.md
.claude/skills/plugin-maintenance/SKILL.md
.claude/skills/pr-workflow/SKILL.md
.claude/skills/release/SKILL.md
packages/chorus-dsh/skills/brainstorm-chorus/SKILL.md
packages/chorus-dsh/skills/chorus/SKILL.md
packages/chorus-dsh/skills/code-reviewer-chorus/SKILL.md
packages/chorus-dsh/skills/develop-chorus/SKILL.md
packages/chorus-dsh/skills/docs-chorus/SKILL.md
packages/chorus-dsh/skills/idea-chorus/SKILL.md
packages/chorus-dsh/skills/openspec-aware-chorus/SKILL.md
packages/chorus-dsh/skills/orchestrate-chorus/SKILL.md
packages/chorus-dsh/skills/proposal-chorus/SKILL.md
packages/chorus-dsh/skills/proposal-reviewer-chorus/SKILL.md
packages/chorus-dsh/skills/quick-dev-chorus/SKILL.md
packages/chorus-dsh/skills/review-chorus/SKILL.md
packages/chorus-dsh/skills/task-reviewer-chorus/SKILL.md
packages/chorus-dsh/skills/yolo-chorus/SKILL.md
packages/chorus-pi/skills/chorus/SKILL.md
packages/chorus-pi/skills/develop/SKILL.md
packages/chorus-pi/skills/docs/SKILL.md
packages/chorus-pi/skills/idea/SKILL.md
packages/chorus-pi/skills/openspec-aware/SKILL.md
packages/chorus-pi/skills/orchestrate/SKILL.md
packages/chorus-pi/skills/proposal/SKILL.md
packages/chorus-pi/skills/quick-dev/SKILL.md
packages/chorus-pi/skills/review/SKILL.md
packages/chorus-pi/skills/yolo/SKILL.md
packages/openclaw-plugin/skills/brainstorm/SKILL.md
packages/openclaw-plugin/skills/chorus/SKILL.md
packages/openclaw-plugin/skills/code-reviewer/SKILL.md
packages/openclaw-plugin/skills/develop/SKILL.md
packages/openclaw-plugin/skills/docs/SKILL.md
packages/openclaw-plugin/skills/idea/SKILL.md
packages/openclaw-plugin/skills/openspec-aware/SKILL.md
packages/openclaw-plugin/skills/orchestrate/SKILL.md
packages/openclaw-plugin/skills/proposal-reviewer/SKILL.md
packages/openclaw-plugin/skills/proposal/SKILL.md
packages/openclaw-plugin/skills/quick-dev/SKILL.md
packages/openclaw-plugin/skills/review/SKILL.md
packages/openclaw-plugin/skills/task-reviewer/SKILL.md
packages/openclaw-plugin/skills/yolo/SKILL.md
plugins/chorus/skills/brainstorm/SKILL.md
plugins/chorus/skills/chorus-task-reviewer/SKILL.md

Metadata

Files
0
Version
96a2f67
Hash
220fec61
Indexed
2026-07-25 08:35

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-20 08:07
浙ICP备14020137号-1 $Гость$