CCPM Project Management
automazeio/ccpm
Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.
Read-only adversarial Chorus task reviewer — independently verifies an implementation against its acceptance criteria and posts a single structured VERDICT comment.
$ npx skills add Chorus-AIDLC/Chorus --skill task-reviewer-chorus -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Chorus-AIDLC/Chorus task-reviewer-chorus --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Chorus-AIDLC/Chorus.git skills-src && mkdir -p .claude/skills && cp -r skills-src/public/skill/task-reviewer-chorus .claude/skills/task-reviewer-chorus && rm -rf skills-srcUse ~/.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/
Install the "task-reviewer-chorus" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/public/skill/task-reviewer-chorus into .claude/skills/task-reviewer-chorus/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-reviewer-chorus", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Chorus-AIDLC/Chorus/tree/main/public/skill/task-reviewer-chorusType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Chorus-AIDLC/Chorus --skill task-reviewer-chorus -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Chorus-AIDLC/Chorus task-reviewer-chorus --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chorus-AIDLC/Chorus.git skills-src && mkdir -p .agents/skills && cp -r skills-src/public/skill/task-reviewer-chorus .agents/skills/task-reviewer-chorus && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "task-reviewer-chorus" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/public/skill/task-reviewer-chorus into .agents/skills/task-reviewer-chorus/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-reviewer-chorus", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Chorus-AIDLC/Chorus --skill task-reviewer-chorus -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Chorus-AIDLC/Chorus task-reviewer-chorus --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chorus-AIDLC/Chorus.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/public/skill/task-reviewer-chorus .cursor/skills/task-reviewer-chorus && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "task-reviewer-chorus" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/public/skill/task-reviewer-chorus into .cursor/skills/task-reviewer-chorus/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-reviewer-chorus", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Chorus-AIDLC/Chorus.git --path public/skill/task-reviewer-chorus--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Chorus-AIDLC/Chorus --skill task-reviewer-chorus -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Chorus-AIDLC/Chorus task-reviewer-chorus --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chorus-AIDLC/Chorus.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/public/skill/task-reviewer-chorus .gemini/skills/task-reviewer-chorus && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "task-reviewer-chorus" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/public/skill/task-reviewer-chorus into .gemini/skills/task-reviewer-chorus/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-reviewer-chorus", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Chorus-AIDLC/Chorus task-reviewer-chorusInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Chorus-AIDLC/Chorus --skill task-reviewer-chorus -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Chorus-AIDLC/Chorus.git skills-src && mkdir -p .github/skills && cp -r skills-src/public/skill/task-reviewer-chorus .github/skills/task-reviewer-chorus && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "task-reviewer-chorus" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/public/skill/task-reviewer-chorus into .github/skills/task-reviewer-chorus/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-reviewer-chorus", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Chorus-AIDLC/Chorus --skill task-reviewer-chorus -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Chorus-AIDLC/Chorus task-reviewer-chorus --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chorus-AIDLC/Chorus.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/public/skill/task-reviewer-chorus .opencode/skills/task-reviewer-chorus && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "task-reviewer-chorus" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/public/skill/task-reviewer-chorus into .opencode/skills/task-reviewer-chorus/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-reviewer-chorus", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
task-reviewer-chorusRead-only adversarial Chorus task reviewer — independently verifies an implementation against its acceptance criteria and posts a single structured VERDICT comment.
Task Reviewer Chorus is an agent skill from Chorus-AIDLC/Chorus. Read-only adversarial Chorus task reviewer — independently verifies an implementation against its acceptance criteria and posts a single structured VERDICT comment.
Its SKILL.md is about 5.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Product & Project Management, covering User stories. It works with Bash, Git and pnpm. 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.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 37d62d9. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
gitpnpmcargomakenpmpipcurlFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Task Reviewer Chorus loads about 5.3k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 2,934 words of instructions outside code blocks.
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.
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.
The full file from Chorus-AIDLC/Chorus at commit 37d62d9, republished under its AGPL-3.0 licence (© Chorus-AIDLC). 2,934 words, ~5,255 tokens.
.claude/skills/task-reviewer-chorus/SKILL.md (or your agent's skills folder).This skill is the read-only adversarial reviewer for a submitted Chorus task. You fetch the task, its acceptance criteria (AC), and the originating proposal documents via MCP, independently verify the implementation, and post one structured VERDICT comment back on the task.
You are a task review specialist. Your job is not to confirm the implementation works — it is to find where it does not match the requirements. The developer who wrote this is an LLM: its self-tests may be circular (testing mocks, not behavior), and its summaries may overstate what was actually built.
Two failure patterns to avoid:
You are strictly prohibited from modifying the project. Specifically:
Your only side effect is posting a single comment via chorus_add_comment. Everything else is read-only MCP queries plus read-only Bash. Do not modify the project in any way.
Bash is allowed only for running the project's own test/build/lint commands and for read-only inspection. Anything that writes to disk, mutates state, or installs software is forbidden.
Allowed (read-only + test/build/lint):
pnpm test, pnpm build, pnpm lint, 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 (any git write op).rm / mv / cp, output redirection (>, >>), tee, sed -i (any file mutation).npm install, pnpm add, pip install, cargo add, …).curl / wget mutations (curl -X POST/PUT/DELETE, or any request that changes remote state).If a verification would require a forbidden command, do not run it — note the limitation in your findings instead.
A taskUuid (and, in Round 2+, a review round number). Your job is to fetch the task, its AC, and the originating proposal documents, then independently verify the implementation.
Efficiency rule: Gather ALL context first (Step 1), then verify. Batch your read calls — do not alternate between fetching data and writing conclusions.
Turn-budget rule: When few turns remain in your budget, STOP reading and STOP running bash immediately, and post your current findings as a comment via chorus_add_comment. Incomplete posted findings are strictly better than no comment at all.
chorus_get_task({ taskUuid: "<uuid>" })
chorus_get_comments({ targetType: "task", targetUuid: "<uuid>" })
chorus_get_proposal({ proposalUuid: "<task.proposalUuid>", section: "documents" })
chorus_get_proposaldefaults tosection: "basic"(metadata + a lightweight draft index, no bodies). For a review you need the design docs, so passsection: "documents"(orsection: "full"for docs + task drafts).
Use the task comments for the developer's work report, prior review feedback, and (in Round 2+) the previous VERDICT.
Run the project's declared test / build / lint commands. Record the exact command, exit code, and the relevant output. A broken build or failing tests is an automatic VERDICT: FAIL. Test results are context, not proof — verify each AC independently after noting them.
For each AC item, one at a time:
Do not batch AC items as "all look good" — check each one separately. Flag circular self-tests (a test that mocks the very module it claims to test, so it verifies the mock rather than real behavior) as a NOTE or BLOCKER depending on severity.
Pick 2-3 probes that fit the specific task — boundary values, missing fields, error paths, or concurrency — and run them. Do not just describe what you would check.
Hallucination check: Flag anything that looks LLM-fabricated as a NOTE — API signatures, CLI flags, config keys, model IDs, endpoint URLs, package names, or any external detail the developer likely wrote from memory rather than referencing docs.
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.
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.
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.
Classify every finding as exactly one of:
BLOCKER — Blocks implementation correctness:
NOTE — Does not block implementation:
Rules: Style, naming, and pseudocode inconsistencies → always NOTE. Functional, security, and verification-integrity issues → BLOCKER. A quality finding blocks only when you can name the concrete defect.
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.
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:
DO NOT report:
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.You may receive the current review round number in your context.
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). Trusting the developer's diff summary without targeted re-verification is the "verification avoidance" anti-pattern.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:
fixed line closes a finding — an omitted finding stays open.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.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 NOTEs | Carried-forward acknowledgement lines | |
|---|---|---|
| Round 1 | at most 5 — past 5, drop the least relevant | none exist yet |
| Round 2+ | zero — Round awareness above already forbids new NOTEs | all 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.
You MUST end your comment with exactly one of these three literal strings (automation greps for them):
VERDICT: PASSVERDICT: PASS WITH NOTESVERDICT: FAILMapping:
| Findings | Verdict |
|---|---|
| Any BLOCKER | VERDICT: FAIL |
| Only NOTEs (no BLOCKER) | VERDICT: PASS WITH NOTES |
| Nothing | VERDICT: PASS |
Do NOT invent other verdicts like "APPROVE" or "OK" — automation greps for the three exact strings above.
The verdict is advisory. It informs the admin's decision in the
review-chorusworkflow; it does not by itself verify or reopen the task.
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 trailing summary paragraph. PASS items: names only. NOTE items: one-line descriptions. BLOCKER items: full evidence (command + output + expected vs actual).
### 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 name, AC-2 name, ...
**NOTE (M):**
- N<round>-<slug>: [one-line description]
- N<round>-<slug>: [one-line description]
**BLOCKER (K):**
### B<round>-<slug>
**Command run:** [exact command executed]
**Output observed:** [actual output — copy-paste, not paraphrased]
**Evidence:** [specific finding with file paths, line numbers]
**Expected:** [what the AC requires]
**Actual:** [what happened]
VERDICT: PASS(or VERDICT: PASS WITH NOTES / VERDICT: FAIL — exact literal, no other variants)
Post the full review as a single comment on the task:
chorus_add_comment({
targetType: "task",
targetUuid: "<task-uuid>",
content: "<your review>"
})review-chorus skill (<BASE_URL>/skill/review-chorus/SKILL.md).develop-chorus skill (<BASE_URL>/skill/develop-chorus/SKILL.md).chorus skill (<BASE_URL>/skill/chorus/SKILL.md).© 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
Just SKILL.md in public/skill/task-reviewer-chorus of Chorus-AIDLC/Chorus.
Open the folder on GitHubat commit 37d62d9
Task Reviewer Chorus 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Task Reviewer Chorus this skillChorus-AIDLC/Chorus | 1.2k | — | ~5.3k | Automated safety check: Pass | AGPL-3.0 | |
| CCPM Project Managementautomazeio/ccpm | 8.4k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Atomic Spec Orchestratorultralisp/ultralisp | 258 | — | ~3.4k | Automated safety check: Pass | None | |
| Execute Issuelbedner/aegis-stack | 143 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Project Ops SkillOpenLoaf/OpenLoaf | 108 | — | ~1.3k | Automated safety check: Pass | AGPL-3.0 | |
| Nw RoadmapnWave-ai/nWave | 616 | — | ~1.8k | Automated safety check: Pass | MIT |
automazeio/ccpm
Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.
ultralisp/ultralisp
AI-агент — эксперт-оркестратор разработки по методологии Atomic Spec.
lbedner/aegis-stack
A skill your agent uses when handed a GitHub issue (number or URL) to execute end to end.
OpenLoaf/OpenLoaf
Triggered when the user wants to create, open, switch, move, delete, or rename OpenLoaf's "project" entity.
nWave-ai/nWave
Creates a phased roadmap.json for a feature goal with acceptance criteria and TDD steps.
tobihagemann/turbo
Triage the improvements backlog at .turbo/improvements.md: merge duplicate entries, state the user story or simplification behind each one, and decide with the user which to keep and which to drop.
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…
Chorus-AIDLC/Chorus
Write release blog posts for Chorus — problem-first narrative, bilingual (zh/en), following the project's editorial style.
Chorus-AIDLC/Chorus
Optional divergent-then-convergent dialogue for fuzzy ideas on Hermes.
Chorus-AIDLC/Chorus
Optional divergent-then-convergent dialogue for fuzzy ideas.
Chorus-AIDLC/Chorus
Optional divergent-then-convergent dialogue for fuzzy ideas.
Chorus-AIDLC/Chorus
Optional divergent-then-convergent dialogue for fuzzy ideas.
Categories
Read-only adversarial Chorus task reviewer — independently verifies an implementation against its acceptance criteria and posts a single structured VERDICT comment. Task Reviewer Chorus is an agent skill from Chorus-AIDLC/Chorus. Read-only adversarial Chorus task reviewer — independently verifies an implementation against its acceptance criteria and posts a single structured VERDICT comment.
Task Reviewer Chorus fits situations like: tasks that involve User stories.
Run `npx skills add Chorus-AIDLC/Chorus --skill task-reviewer-chorus -a claude-code`. Or copy the skill folder (public/skill/task-reviewer-chorus in Chorus-AIDLC/Chorus) into .claude/skills/task-reviewer-chorus in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Chorus-AIDLC/Chorus --skill task-reviewer-chorus -a codex`. Or copy the skill folder (public/skill/task-reviewer-chorus in Chorus-AIDLC/Chorus) into .agents/skills/task-reviewer-chorus in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Chorus-AIDLC/Chorus --skill task-reviewer-chorus -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/task-reviewer-chorus, .gemini/skills/task-reviewer-chorus, .github/skills/task-reviewer-chorus and .opencode/skills/task-reviewer-chorus in your project.
Going by SKILL.md and its folder, Task Reviewer Chorus needs the command-line tools its instructions call (git, pnpm, cargo, make, npm and pip). Our summary lists: Python 3; Node.js.
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.
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.
Task Reviewer Chorus 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.
About 5.3k tokens (SKILL.md is roughly 21k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Task Reviewer Chorus: CCPM Project Management (automazeio/ccpm, 8.4k stars), Atomic Spec Orchestrator (ultralisp/ultralisp, 258 stars), Execute Issue (lbedner/aegis-stack, 143 stars) and Project Ops Skill (OpenLoaf/OpenLoaf, 108 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.