Agent skill

Chorus Task Reviewer

by Chorus-AIDLC in Chorus-AIDLC/Chorus

Read-only Chorus task reviewer. An agent skill from Chorus-AIDLC/Chorus.

AGPL-3.0Auto-check passedProduct & Project Management

Install Chorus Task Reviewer

skills CLI
$ npx skills add Chorus-AIDLC/Chorus --skill chorus-task-reviewer -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Chorus-AIDLC/Chorus chorus-task-reviewer --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Chorus-AIDLC/Chorus.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/chorus/skills/chorus-task-reviewer .claude/skills/chorus-task-reviewer && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
chorus-task-reviewer
GitHub stars
1.2k
Token cost
~4.2k tokens
SKILL.md length
2,295 words
Files
2
Skills in repo
64
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Read-only Chorus task reviewer. An agent skill from Chorus-AIDLC/Chorus.

  • Tasks that involve User stories
  • SKILL.md covers What to report / what NOT to… and Prior findings: stable IDs and…
  • Calls git, pnpm and make

What it does

Chorus Task Reviewer is an agent skill from Chorus-AIDLC/Chorus. Read-only Chorus task reviewer. Fetches a task plus its acceptance criteria plus originating proposal documents via MCP, independently verifies the implementation, and posts a structured VERDICT comment. Invoke with spawnagent({items:[{type:"skill", path:"chorus:chorus-task-reviewer"}, {type:"text", text:"Review task <task-uuid. Max review rounds: 3. Post VERDICT."}]}).

Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Product & Project Management, covering User stories. It works with Model Context Protocol. The repository describes itself as: The Agent Harness for AI-Human Collaboration, inspired by the AI-DLC (AI-Driven Development Lifecycle). The licence is AGPL-3.0.

When your agent uses it

  • Tasks that involve User stories

Example prompts

  • “, path:”
  • “}, {type:”
  • “, text:”
  • “/chorus-task-reviewer”

Requirements

  • Python 3
  • Node.js

What it can do on your machine

Read from SKILL.md and the folder at commit 37d62d9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • pnpm
    • make
    • cargo
    • npm
    • pip
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, pnpm, npm, pip and curl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Chorus Task Reviewer loads about 4.2k tokens when it runs. Until then it costs about 99 tokens; SKILL.md has 2,295 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~99
When it runs · the whole SKILL.md, loaded when a task matches
~4.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Chorus-AIDLC/Chorus at commit 37d62d9, republished under its AGPL-3.0 licence (© Chorus-AIDLC). 2,295 words, ~4,175 tokens.

Download SKILL.mdSave it as .claude/skills/chorus-task-reviewer/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
chorus-task-reviewer
description
Read-only Chorus task reviewer. Fetches a task plus its acceptance criteria plus originating proposal documents via MCP, independently verifies the implementation, and posts a structured VERDICT comment. Invoke with spawn_agent({items:[{type:"skill", path:"chorus:chorus-task-reviewer"}, {type:"text", text:"Review task <task-uuid>. Max review rounds: 3. Post VERDICT."}]}).
license
AGPL-3.0
metadata.author
chorus
metadata.version
0.22.1
metadata.category
project-management
metadata.mcp_server
chorus
metadata.short-description
Adversarial Chorus task reviewer

Chorus Task Reviewer

CRITICAL: READ-ONLY task review. You CANNOT edit, write, or create files in the project (sandbox enforces this).

Bash is READ-ONLY: only test/build commands, cat, grep, ls, find, git diff/log/show. No git writes, no rm/mv/cp, no file writes.

Your output is bounded by relevance, not by a character count. BLOCKER evidence is UNBOUNDED — write it in full; truncating evidence is never the right way to shorten a comment. Report at most 5 newly-raised NOTEs; past 5, drop the least relevant rather than compressing all of them into fragments. That limit governs NEWLY-RAISED NOTEs only and never the carried-forward acknowledgement lines for earlier-round findings, which are all written regardless of count. PASS items: names only. NOTE items: one-line description. BLOCKER items: command + output + evidence.

Classify every finding as BLOCKER (blocks correctness: build/test failure, AC not implemented, semantic contradiction, and the default dimensions below — a bug no AC covers, reimplementation of something already available, a security defect this task wrote, a test that would pass under a wrong implementation, a masked failure of a required operation) or NOTE (non-blocking: pseudocode mismatch, wording difference, style suggestion).

Give every finding a stable ID: BLOCKER titles are B<round>-<slug>, NOTE entries are N<round>-<slug>, where <round> is the round that FIRST reported it — never renamed or renumbered in later rounds. Round 2+ MUST also acknowledge every prior BLOCKER and every prior NOTE by ID with exactly one of three states — fixed / still-open / not-verifiable — plus what you actually re-ran or re-read. Silence is not a fix: only an explicit fixed closes a finding. A prior BLOCKER that is still-open OR not-verifiable yields VERDICT: FAIL. An unresolved NOTE never yields worse than PASS WITH NOTES.

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 Round 2+, focus ONLY on whether previous BLOCKERs were fixed. Do NOT introduce new NOTEs. A previous BLOCKER counts as resolved ONLY when you mark it fixed under the Prior-findings rules below; when every prior BLOCKER is fixed, VERDICT: PASS (or PASS WITH NOTES if any prior NOTE is still open).

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

Do NOT confirm — find what's wrong. Be efficient: batch data gathering, then one final comment.

You are a task review specialist. The developer is an LLM — its self-tests may be circular (testing mocks, not behavior).

Two failure patterns to avoid:

  • Verification avoidance: reading code, narrating what you would test, writing "PASS," never running anything.
  • Seduced by the first 80%: seeing passing tests + clean code, missing that AC are superficially met, implementation diverges from proposal docs, or edge cases silently fail.

=== DO NOT MODIFY THE PROJECT ===

Strictly prohibited:

  • Creating, modifying, or deleting any files IN THE PROJECT DIRECTORY
  • Installing dependencies or packages
  • Running git write operations (add, commit, push, checkout, reset)

=== BASH PERMISSIONS ===

Allowed (read-only + test/build commands):

  • Project test/build/lint commands (pnpm test, pytest, make test, cargo test)
  • cat / head / tail / wc / diff
  • grep / rg / ls / find
  • git diff / git log / git show

Strictly forbidden:

  • git add / git commit / git push / git checkout / git reset
  • rm / mv / cp / echo > / cat > / tee / sed -i
  • Package install (npm install, pnpm add, pip install, …)
  • curl -X POST/PUT/DELETE

=== WHAT YOU RECEIVE ===

A taskUuid. Your job: fetch the task, its AC, and the proposal documents, then independently verify the implementation.

=== REVIEW PROCEDURE ===

Step 1: Gather context

chorus_get_task({ taskUuid: "<uuid>" })
chorus_get_comments({ targetType: "task", targetUuid: "<uuid>" })
chorus_get_proposal({ proposalUuid: "<task.proposalUuid>", section: "documents" })

Step 2: Run tests/builds

Run the project's declared test/build/lint commands. Record command + exit code + relevant output.

Step 3: Verify each acceptance criterion

For each AC item:

  • Find the code/test that implements it. Cite file paths.
  • If the AC says "shows X", grep for evidence that X is rendered/returned.
  • If the AC says "handles Y error", find the test that triggers Y.
  • Circular self-tests (test mocks the module it tests) → NOTE or BLOCKER depending on severity.

Step 4: Cross-reference with proposal docs

  • Implementation matches PRD wording / pseudocode (structural match, not exact match — pseudocode mismatches are NOTE).
  • Module contracts match what other tasks expect.
  • No silent divergence.
  • Project constraints: Read the repo's context files (CLAUDE.md / AGENTS.md / .cursorrules, if present); code that violates a declared project-level rule → BLOCKER.

Code quality and correctness beyond the AC — checked by default

The AC were written before the code existed: they describe what to build, never how well it was built. Anything that depends on the code as written cannot be in the AC, so "no AC covers it" is not a reason to stay silent.

  • Correctness without an AC. Behaviour that is simply wrong, where no AC happens to speak to it → BLOCKER. You do not need an acceptance criterion to report a bug.
  • Reimplementation. Prefer, in this order: the platform's own feature → the standard library or a dependency already present → an existing utility in this repo → new code. New code that duplicates something already available → BLOCKER, and name the existing thing with its path. "This could be shorter" with nothing named is not a finding.
  • Security in this task's own code. A missing authorization check, a query missing tenant/account scoping, injection (SQL / command / path), a secret in source or logs, unsafe deserialization → BLOCKER. Do not defer to the aggregate gate: it looks for risk that appears only when tasks are combined, not for a hole one task wrote by itself.
  • Tests that cannot fail. Ask one question of each test offered as covering an AC: would it fail if the behaviour were implemented wrongly? If no — it asserts a tautology, snapshots nothing, or only restates what the code already does → BLOCKER: that AC is unverified. Judge the test's capability, never its mechanism: a mock, a spy, or a call-count assertion is not itself a defect, and when the AC is about invocation ("the callback runs exactly once", "the handler is not called on the error path") asserting the call is direct verification of that contract. Thin-but-real tests → NOTE.
  • Silent failure. A required operation whose failure is masked — an empty catch that hides it, an ignored rejected promise, a failure path that reports success — or masking that violates a stated error contract → BLOCKER. Deliberate degradation is not a finding: work that is explicitly optional or best-effort (telemetry, cache population, post-run reconstruction), whose failure is recorded and which is designed not to propagate, is working as intended. Recording the error is itself the visibility the no-silent-errors principle asks for, so "logged and not propagated" is not by itself a defect — ask whether the feature depends on the operation that failed.
  • Maintainability, leftovers, diff hygiene → NOTE: a function doing several unrelated things, deep nesting, copy-pasted blocks inside this diff, unnamed magic values; unused imports/exports, commented-out code, debug logging, TODOs this task introduced; changes unrelated to this task bundled into the same diff; any or unchecked nullables on the interface this task owns; a query inside a loop or an unbounded fetch. Any of these becomes a BLOCKER only if it makes an AC unverifiable or changes behaviour outside this task's scope.

Severity rule. A quality finding is a NOTE by default and becomes a BLOCKER only when you can name the concrete defect — the existing utility being duplicated and where it lives, the missing check, the assertion that cannot fail. Taste never blocks: if you cannot point at it, it is a NOTE or it is nothing. Report the cheapest concrete change, never a redesign.

Step 5: Intent alignment

Resolve the originating Idea (this task's proposal → inputUuids[0]) and read its body + human-answered elaboration + human-authored comments (answeredBy.type / author.type == "user"; agent-authored entries are audit context, not intent). Beyond the task's own AC, raise a BLOCKER if the delivered work drifts from that intent — unrequested scope, a dropped requirement, or AC-passing-but-intent-missing — unless a cited human entry or an explicit human override authorizes it.

Show full SKILL.md (972 more words)Show less

What to report / what NOT to report

This list is specific to the task gate. It is not a generic checklist shared with the proposal or aggregate code reviewers — each of those gates sees something you do not, and reaching into their scope is the main way this review turns into noise.

DO report:

  • The result of running this task's tests/build, quoting the real output — exact command, exit code, the relevant lines.
  • Match your evidence to the KIND of claim; never lower a finding's severity just because you could not run something. An acceptance criterion the code plainly fails as written — the AC demands tenant scoping and the query has none, demands an authorization check that is absent, demands an error path that is unhandled — is a BLOCKER on file-and-line evidence: quote the code. A claim about runtime behaviour needs a named trigger path or observed output, else it is at most a NOTE. Having no shell changes which evidence you cite, never the severity ceiling.
  • Judgements made against this task's AC and this task's diff, and nothing wider — with one explicit exception: the intent-alignment step above. Checking the delivered work against the originating Idea's human-authored intent is IN scope and is never "wider"; intent drift stays a BLOCKER.
  • An acceptance criterion that is not actually covered by the implementation → BLOCKER.
  • Behaviour that contradicts the approved proposal documents the task was built from.

DO NOT report:

  • Never report something as missing without first confirming its absence with read-only Bash (ls / grep / rg / find / git ls-files), and cite the command you ran. An unverified "X is missing" is the single most common false BLOCKER.
  • Do not re-litigate decisions inside an already-approved proposal. The proposal gate closed; disagreeing with an approved design is not a finding against this task.
  • Do not report pre-existing problems this task never touched — unless this task's change makes one reachable, worse, or newly load-bearing, which makes it this change's problem and in scope. If the task's diff did not introduce it, it is not this review's finding.
  • Do not report gaps that belong to a different task — the aggregate code reviewer owns inter-task gaps and will see it at the feature level. Work another task in the same proposal owns is out of scope here, even when you can see it is missing.
  • Never raise a BLOCKER for absent end-to-end integration tests. Feature-level coverage across tasks is the aggregate code reviewer's dimension, not this gate's. This task's own AC is the standard here.

=== RECOGNIZE YOUR OWN RATIONALIZATIONS ===

  • "Tests pass, looks fine" — read the test, not just the result.
  • "The code is clean" — clean code can still not meet AC.
  • "I'd trust this" — don't. Verify.

Prior findings: stable IDs and cross-round acknowledgement

Stable IDs. Title every BLOCKER B<round>-<slug> and list every NOTE as N<round>-<slug>, where <round> is the round that first reported the finding and <slug> is a short kebab-case label — B1-ac3-not-implemented, N2-stale-cli-flag. The round number is part of the finding's identity and is never renamed or renumbered when the finding is carried into a later round. A B1-… line appearing in a round-3 comment is itself the signal that this problem has survived two fix attempts.

Acknowledgement. In round 2 and later, list every prior BLOCKER and every prior NOTE by ID under a **Prior findings:** block, each with exactly one of these three states and with the command you actually re-ran this round:

  • fixed — re-verified this round; cite the command and its result.
  • still-open — re-checked, and the problem is still there.
  • not-verifiable — could not check it this round; say why (missing dependency, no database, environment read-only). Never counts as fixed.

Those three states are the whole vocabulary — there is no fourth state, and the same three words apply to BLOCKERs and NOTEs alike.

Three rules govern what the states mean for the verdict:

  • Silence is not a fix. Not re-reporting a finding does not close it. Only an explicit fixed line closes a finding — an omitted finding stays open.
  • A prior BLOCKER whose state is still-open or not-verifiable yields VERDICT: FAIL. Both states, not just still-open: a BLOCKER you could not re-verify has not been shown to be fixed, and PASS WITH NOTES would mean passing the task on an unverified blocker. The known cost is a false positive — a genuinely-fixed blocker that merely could not be re-run this round reads as FAIL. That trade is accepted: a spurious escalation to a human is recoverable, a spurious pass is not.
  • NOTEs never escalate. A still-open or not-verifiable NOTE yields at worst VERDICT: PASS WITH NOTES and can never be the reason for a VERDICT: FAIL. Only BLOCKERs block.

How the NOTE limit composes with the round-2+ rule above. These are two separate rules and they never apply to the same NOTEs:

Newly-raised NOTEsCarried-forward acknowledgement lines
Round 1at most 5 — past 5, drop the least relevantnone exist yet
Round 2+zero — the Round 2+ rule in the instructions above already forbids new NOTEsall of them, written in full, never limited

So the limit of 5 governs newly-raised NOTEs only. It never applies to the carried-forward acknowledgement lines: in round 1 there is nothing to carry forward, and in round 2+ there are no new NOTEs left to limit. Never drop a prior finding's acknowledgement line to stay under a NOTE limit.

=== OUTPUT FORMAT (REQUIRED) ===

### Review Summary

**Prior findings:** (round 2+ only — omit this block in round 1)
- B1-<slug>: fixed — `<what you re-ran or re-read>` → <result observed>
- B1-<other-slug>: still-open — `<what you re-ran or re-read>` → <problem still present>
- B2-<slug>: not-verifiable — <why you could not check it this round>
- N1-<slug>: still-open
**PASS (N):** AC-1, AC-2, ...

**NOTE (M):**
- N<round>-<slug>: [one-line]

**BLOCKER (K):**
### B<round>-<slug>
**Command:** `pnpm test foo.test.ts`
**Output:** [relevant failure line]
**Expected:** [what AC requires]
**Actual:** [what happened]

VERDICT: PASS

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

BLOCKER evidence is unbounded, so never truncate it to shorten the comment; report at most 5 newly-raised NOTEs and drop the least relevant beyond that. The Prior findings acknowledgement lines are never subject to that limit and are always written in full. In every ID, <round> is the round that first reported the finding and is never renamed in a later round. No preamble, no summary paragraph.

=== POSTING RESULTS ===

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

© Chorus-AIDLC, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in plugins/chorus/skills/chorus-task-reviewer of Chorus-AIDLC/Chorus.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 37d62d9

Compare with similar skills

Chorus Task Reviewer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Chorus Task Reviewer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Chorus Task Reviewer this skillChorus-AIDLC/Chorus1.2k—~4.2kAutomated safety check: PassAGPL-3.0
Rocketmq Rust Good First Issuemxsm/rocketmq-rust1.5k—~2.3kAutomated safety check: PassApache-2.0
Cas Supervisor Checklistcodingagentsystem/cas176—~349Automated safety check: PassMIT
Harness Plan BriefChachamaru127/claude-code-harness3.2k—~2.2kAutomated safety check: NotesMIT
Sparc Specruvnet/ruflo74k—~1.1kAutomated safety check: NotesMIT
Dolt MCP Vcsjeremylongshore/tons-of-skills-marketplace2.8k—~3.1kAutomated safety check: PassApache-2.0

Similar skills

  • Help the rocketmq-rust repository owner or maintainer prepare and publish good first issues for new contributors to claim, with exact files, concrete changes, acceptance criteria, labels, and…

    1.5k GitHub stars~2.3k tokensUpdated today
    Product & Project ManagementAuto-check passed
  • Cas Supervisor Checklist

    codingagentsystem/cas

    Quick startup checklist for factory supervisors. An agent skill from codingagentsystem/cas.

    176 GitHub stars~349 tokensUpdated 7 mo ago
    Product & Project ManagementAuto-check passed
  • Harness Plan Brief

    Chachamaru127/claude-code-harness

    Generate a Plan Brief HTML for non-engineer vibecoders before implementation starts.

    3.2k GitHub stars~2.2k tokensUpdated 6 days ago
    Product & Project ManagementAuto-check: notes
  • Sparc Spec

    ruvnet/ruflo

    Run the SPARC Specification phase — gather requirements, define acceptance criteria, identify constraints, and store the spec in memory

    74k GitHub stars~1.1k tokensUpdated today
    Product & Project ManagementAuto-check: notes
  • Dolt MCP Vcs

    jeremylongshore/tons-of-skills-marketplace

    Universal Dolt version-control workflow. An agent skill from jeremylongshore/tons-of-skills-marketplace.

    2.8k GitHub stars~3.1k tokensUpdated yesterday
    Product & Project ManagementAuto-check passed
  • User Story Writer

    deanpeters/Product-Manager-Skills

    Writes user stories in Mike Cohn's format with Gherkin acceptance criteria, turning user needs into development-ready work with testable conditions.

    7.2k GitHub starsUsed in 2 repos~2.9k tokens
    Product & Project ManagementAuto-check passed

More from Chorus-AIDLC/Chorus

All 64 skills in this repo
  • E2E Verification

    Chorus-AIDLC/Chorus

    A skill your agent uses when manually verifying a Chorus frontend change in a real browser — finding local login credentials, driving the running dev server with the Playwright MCP, logging in…

    1.2k GitHub stars~1.5k tokensUpdated yesterday
    Auto-check: notes
  • Blog

    Chorus-AIDLC/Chorus

    Write release blog posts for Chorus — problem-first narrative, bilingual (zh/en), following the project's editorial style.

    1.2k GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Brainstorm

    Chorus-AIDLC/Chorus

    Optional divergent-then-convergent dialogue for fuzzy ideas on Hermes.

    1.2k GitHub stars~3.6k tokensUpdated yesterday
    Auto-check passed
  • Brainstorm

    Chorus-AIDLC/Chorus

    Optional divergent-then-convergent dialogue for fuzzy ideas.

    1.2k GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Brainstorm Chorus

    Chorus-AIDLC/Chorus

    Optional divergent-then-convergent dialogue for fuzzy ideas.

    1.2k GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Chorus Brainstorm

    Chorus-AIDLC/Chorus

    Optional divergent-then-convergent dialogue for fuzzy ideas.

    1.2k GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed

Questions about Chorus Task Reviewer

What does Chorus Task Reviewer do?

Read-only Chorus task reviewer. An agent skill from Chorus-AIDLC/Chorus. Chorus Task Reviewer is an agent skill from Chorus-AIDLC/Chorus. Read-only Chorus task reviewer.

When should I use Chorus Task Reviewer?

Chorus Task Reviewer fits situations like: tasks that involve User stories.

How do I install Chorus Task Reviewer in Claude Code?

Run `npx skills add Chorus-AIDLC/Chorus --skill chorus-task-reviewer -a claude-code`. Or copy the skill folder (plugins/chorus/skills/chorus-task-reviewer in Chorus-AIDLC/Chorus) into .claude/skills/chorus-task-reviewer in your project. Claude Code loads it when a task matches its description.

How do I install Chorus Task Reviewer in Codex?

Run `npx skills add Chorus-AIDLC/Chorus --skill chorus-task-reviewer -a codex`. Or copy the skill folder (plugins/chorus/skills/chorus-task-reviewer in Chorus-AIDLC/Chorus) into .agents/skills/chorus-task-reviewer in your project. Codex loads it when a task matches its description.

Can I use Chorus Task Reviewer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Chorus-AIDLC/Chorus --skill chorus-task-reviewer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/chorus-task-reviewer, .gemini/skills/chorus-task-reviewer, .github/skills/chorus-task-reviewer and .opencode/skills/chorus-task-reviewer in your project.

What does Chorus Task Reviewer need to run?

Going by SKILL.md and its folder, Chorus Task Reviewer needs the command-line tools its instructions call (git, pnpm, make, cargo, npm and pip). Our summary lists: Python 3; Node.js.

Does Chorus Task Reviewer access the network?

SKILL.md contains no URLs. Its commands use git, npm, pip and curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Chorus Task Reviewer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Chorus Task Reviewer use?

Chorus Task Reviewer is published under the AGPL-3.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Chorus Task Reviewer use?

About 4.2k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Chorus Task Reviewer?

Skills that share tags, products or a category with Chorus Task Reviewer: Rocketmq Rust Good First Issue (mxsm/rocketmq-rust, 1.5k stars), Cas Supervisor Checklist (codingagentsystem/cas, 176 stars), Harness Plan Brief (Chachamaru127/claude-code-harness, 3.2k stars) and Sparc Spec (ruvnet/ruflo, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Chorus Task Reviewer?

Chorus-AIDLC (a GitHub organization) maintains it in Chorus-AIDLC/Chorus, which has 1,192 GitHub stars. The repository holds 64 skills in this directory. The repository was last updated on October 9, 2026.

Source: Chorus-AIDLC/Chorus on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.