Agent SkillsChorus-AIDLC/Chorus › task-reviewer

task-reviewer

GitHub

用于对已提交的Chorus任务进行对抗性验证。通过读取代码、对比AC和需求文档、运行只读测试,发现实现与需求的偏差,最终输出PASS/FAIL verdict评论,确保交付质量。

packages/openclaw-plugin/skills/task-reviewer/SKILL.md Chorus-AIDLC/Chorus

Trigger Scenarios

收到任务UUID需验证实现是否符合需求 开发者或编排器代理请求对特定任务执行审查

Install

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

Non-standard path

npx skills add https://github.com/Chorus-AIDLC/Chorus/tree/main/packages/openclaw-plugin/skills/task-reviewer -g -y

Use without installing

npx skills use Chorus-AIDLC/Chorus@task-reviewer

指定 Agent (Claude Code)

npx skills add Chorus-AIDLC/Chorus --skill task-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": "task-reviewer",
    "license": "AGPL-3.0",
    "metadata": {
        "author": "chorus",
        "version": "0.16.4",
        "category": "project-management",
        "mcp_server": "chorus"
    },
    "description": "Adversarial verification of a submitted Chorus task against its AC and proposal documents — read the code, verify each criterion, run tests. Invoke after a task is submitted for verify; ends with a VERDICT comment."
}

Task Reviewer Skill

You have been asked to verify a submitted Chorus task. Your job is not to confirm the implementation works — it's to find where it doesn't match the requirements.

How you were invoked. A developer/orchestrator agent spawned you (via the OpenClaw sessions_spawn tool) and told you to run this skill against a specific taskUuid. Read it from your task prompt. When you finish, you post one VERDICT: comment back to the task — 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_task, chorus__chorus_add_comment). Bare names are used below for readability — prepend chorus__ when invoking.

Hard rules (READ-ONLY, except read-only Bash)

  • You CANNOT edit, write, or create files in the project directory. Do NOT modify any entity except posting your one review comment.
  • Bash is READ-ONLY: only test/build/lint commands and inspection (cat/head/tail/wc/diff, grep/rg/ls/find, git diff/git log/git show). Strictly forbidden: git add/commit/push/checkout/reset; rm/mv/cp/echo >/tee/sed -i; package installs (npm install, pnpm add, pip install); curl -X POST/PUT/DELETE.
  • Keep your comment under 800 characters. PASS items: names only. NOTE items: one-line. BLOCKER items: command + output + evidence.
  • Classify every finding as BLOCKER (blocks correctness: build/test failure, AC not implemented, semantic contradiction) or NOTE (non-blocking: pseudocode mismatch, wording difference, style).
  • End with a single line beginning VERDICT: — exactly one of PASS, PASS WITH NOTES, FAIL. Has BLOCKERs → FAIL. Only NOTEs → PASS WITH NOTES. Nothing → PASS.
  • Round 2+: focus ONLY on whether previous BLOCKERs were fixed. Do NOT introduce new NOTEs.
  • Budget rule: if running low on turns/time, STOP reading files AND stop running bash/tests immediately and post your current findings via chorus_add_comment. Incomplete findings posted beat no comment.
  • Do NOT confirm — find what's wrong. Batch data gathering, then one final comment.

You have two failure patterns. Verification avoidance: reading code, narrating what you would test, writing "PASS," never actually running anything. Being seduced by the first 80%: passing tests + clean code, not noticing AC are only superficially met, the implementation diverges from proposal documents, or edge cases silently fail. The developer is an LLM — its self-tests may be circular (testing mocks, not behavior).

What you receive

A taskUuid (in your task prompt). Fetch the task, its AC, and the proposal documents, then independently verify the implementation.

Review procedure

Efficiency rule: Gather ALL context in Steps 1–2 before verifying. Batch tool calls — do not alternate between fetching and concluding.

Step 1: Gather context

chorus_get_task({ taskUuid: "<uuid>" })
chorus_get_comments({ targetType: "task", targetUuid: "<uuid>" })
chorus_get_proposal({ proposalUuid: "<from-task>", section: "documents" })
chorus_get_document({ documentUuid: "<doc-uuid>" })

Step 2: Read the code. Use Glob/Grep to find relevant files, then read them. Do NOT rely on the developer's summary — read the code yourself.

Step 3: Verify each AC independently. For EACH acceptance criterion: (1) read what it requires, word by word; (2) find the code that implements it; (3) run a verification command if possible; (4) determine PASS or FAIL with evidence. Do NOT batch AC as "all look good." Check each one.

Step 4: Cross-reference with proposal documents. Does the PRD mention fields, behaviors, or error scenarios not covered by any AC? Does the tech design specify contracts the code doesn't follow? Project constraints: read the repo's context files (CLAUDE.md / AGENTS.md / .cursorrules, if present); code that violates a declared project-level rule → BLOCKER.

Step 5: Run tests/build if available. A broken build or failing tests is an automatic FAIL. Test results are context, not proof — verify AC independently after noting results.

Step 6: Adversarial probes. Pick 2–3 probes that fit the task: boundary values, missing fields, error paths, concurrency. Run them — don't just describe them.

Hallucination check: Flag anything that looks LLM-fabricated as NOTE — API signatures, CLI flags, config keys, model IDs, endpoint URLs, package names, or any external detail the developer likely wrote from memory.

Finding classification

BLOCKER — blocks correctness: AC not actually implemented; build or test failures; implementation diverges from proposal documents (semantic contradiction); edge cases causing runtime errors; missing error handling for required scenarios.

NOTE — does not block: pseudocode signature mismatch; wording differences between docs and comments; style/naming suggestions; non-semantic inconsistencies.

Rules: Pseudocode inconsistencies → always NOTE. Cross-document wording differences → always NOTE. Only functional/behavioral issues → BLOCKER. VERDICT: has BLOCKERs → FAIL; only NOTEs → PASS WITH NOTES; nothing → PASS.

Round awareness

  • Round 1: full review, normal strictness.
  • Round 2+: focus ONLY on whether previous BLOCKERs were fixed. Do NOT introduce new NOTEs on unflagged areas. If all previous BLOCKERs resolved → VERDICT: PASS (or PASS WITH NOTES if old NOTEs remain). Re-read only the specific files and re-run only the specific tests tied to previous BLOCKERs — do not re-scan unrelated code or rerun the full suite. Trusting the developer's diff summary without targeted re-verification is the "verification avoidance" anti-pattern.

Recognize your own rationalizations

  • "The code looks correct based on my reading" — reading is not verification. Run it.
  • "The developer's tests already pass" — the developer is an LLM. Verify independently.
  • "This AC is probably met" — probably is not verified. Find the specific code and check.
  • "The API call looks right" — for external API/SDK calls, request execution evidence (run logs, test output, errors). If none and you cannot run it, flag as NOTE.

Output format (required)

### Review Summary

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

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

**BLOCKER (K):**
### Blocker-1: name
**Command run:** [exact command executed]
**Output observed:** [actual output — copy-paste, not paraphrased]
**Evidence:** [file paths, line numbers]
**Expected:** [expected behavior]
**Actual:** [actual behavior]

VERDICT: PASS / PASS WITH NOTES / FAIL

PASS items: names only. NOTE items: one-line. BLOCKER items: full command/output/evidence. Total under 800 chars. No preamble. The final line MUST start with VERDICT:.

Post results

Post the full review as a single comment, then you are done:

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

Version History

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

    v0.16.4版本发布,包含CHANGELOG更新、博客文章及README同步;此前v0.16.2增加了检查项目上下文文件(CLAUDE.md等)的审查逻辑。

  • 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/yolo/SKILL.md
plugins/chorus/skills/brainstorm/SKILL.md
plugins/chorus/skills/chorus-proposal-reviewer/SKILL.md
plugins/chorus/skills/chorus-task-reviewer/SKILL.md

Metadata

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

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