Finishing a Development Branch
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
Adversarial verification of a submitted Chorus task against its AC and proposal documents — read the code, verify each criterion, run tests.
$ npx skills add Chorus-AIDLC/Chorus --skill task-reviewer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Chorus-AIDLC/Chorus task-reviewer --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/packages/openclaw-plugin/skills/task-reviewer .claude/skills/task-reviewer && 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" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/packages/openclaw-plugin/skills/task-reviewer into .claude/skills/task-reviewer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-reviewer", 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/packages/openclaw-plugin/skills/task-reviewerType 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 -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Chorus-AIDLC/Chorus task-reviewer --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/packages/openclaw-plugin/skills/task-reviewer .agents/skills/task-reviewer && 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" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/packages/openclaw-plugin/skills/task-reviewer into .agents/skills/task-reviewer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-reviewer", 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 -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Chorus-AIDLC/Chorus task-reviewer --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/packages/openclaw-plugin/skills/task-reviewer .cursor/skills/task-reviewer && 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" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/packages/openclaw-plugin/skills/task-reviewer into .cursor/skills/task-reviewer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-reviewer", 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 packages/openclaw-plugin/skills/task-reviewer--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 -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Chorus-AIDLC/Chorus task-reviewer --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/packages/openclaw-plugin/skills/task-reviewer .gemini/skills/task-reviewer && 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" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/packages/openclaw-plugin/skills/task-reviewer into .gemini/skills/task-reviewer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-reviewer", 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-reviewerInstalls 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 -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/packages/openclaw-plugin/skills/task-reviewer .github/skills/task-reviewer && 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" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/packages/openclaw-plugin/skills/task-reviewer into .github/skills/task-reviewer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-reviewer", 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 -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 --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/packages/openclaw-plugin/skills/task-reviewer .opencode/skills/task-reviewer && 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" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/packages/openclaw-plugin/skills/task-reviewer into .opencode/skills/task-reviewer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "task-reviewer", 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-reviewerAdversarial verification of a submitted Chorus task against its AC and proposal documents — read the code, verify each criterion, run tests.
Task Reviewer is an agent skill from Chorus-AIDLC/Chorus. 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.
Its SKILL.md is about 4.7k 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 Development. It works with Git. 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.
Read from SKILL.md and the folder at commit 4754822. 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:
gitnpmpnpmpipcurlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, npm, pnpm, 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 loads about 4.7k tokens when it runs. Until then it costs about 57 tokens; SKILL.md has 2,593 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 4754822, republished under its AGPL-3.0 licence (© Chorus-AIDLC). 2,593 words, ~4,684 tokens.
.claude/skills/task-reviewer/SKILL.md (or your agent's skills folder).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_spawntool) and told you to run this skill against a specifictaskUuid. Read it from your task prompt. When you finish, you post oneVERDICT: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 — prependchorus__when invoking.
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.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.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. PASS items: names only. NOTE items: one-line. BLOCKER items: command + output + evidence.VERDICT: — exactly one of PASS, PASS WITH NOTES, FAIL. Has BLOCKERs → FAIL. Only NOTEs → PASS WITH NOTES. Nothing → PASS.chorus_add_comment. Incomplete findings posted beat no 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).
A taskUuid (in your task prompt). Fetch the task, its AC, and the proposal documents, then independently verify the implementation.
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.
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.
Step 7: 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.
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: 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. VERDICT: has BLOCKERs → FAIL; only NOTEs → PASS WITH NOTES; nothing → PASS.
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.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).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.
### 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]
**BLOCKER (K):**
### B<round>-<slug>
**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 / FAILPASS items: names only. NOTE items: one-line. BLOCKER items: full command/output/evidence. 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. The final line MUST start with VERDICT:.
Post the full review as a single comment, then you are done:
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
Just SKILL.md in packages/openclaw-plugin/skills/task-reviewer of Chorus-AIDLC/Chorus.
Open the folder on GitHubat commit 4754822
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Task Reviewer this skillChorus-AIDLC/Chorus | 1.2k | — | ~4.7k | Automated safety check: Pass | AGPL-3.0 | |
| Finishing a Development Branchobra/superpowers | 297k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 5 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Code Design Rationale Investigatorcursor/plugins | 10k | 9 repos | ~2.6k | Automated safety check: Pass | None | |
| Contributor-First PR MergeHKUDS/OpenHarness | 16k | 1 repos | ~847 | Automated safety check: Pass | MIT | |
| Finishing A Development Branchfarm-fe/farm | 5.6k | 34 repos | ~1.8k | Automated safety check: Pass | MIT |
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
cursor/plugins
Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.
HKUDS/OpenHarness
Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.
farm-fe/farm
A skill your agent uses when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for…
TryGhost/Ghost
Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.
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.
Works with
Categories
Adversarial verification of a submitted Chorus task against its AC and proposal documents — read the code, verify each criterion, run tests. Task Reviewer is an agent skill from Chorus-AIDLC/Chorus. Adversarial verification of a submitted Chorus task against its AC and proposal documents — read the code, verify each criterion, run tests.
Task Reviewer fits situations like: development work in your project.
Run `npx skills add Chorus-AIDLC/Chorus --skill task-reviewer -a claude-code`. Or copy the skill folder (packages/openclaw-plugin/skills/task-reviewer in Chorus-AIDLC/Chorus) into .claude/skills/task-reviewer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Chorus-AIDLC/Chorus --skill task-reviewer -a codex`. Or copy the skill folder (packages/openclaw-plugin/skills/task-reviewer in Chorus-AIDLC/Chorus) into .agents/skills/task-reviewer 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 -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, .gemini/skills/task-reviewer, .github/skills/task-reviewer and .opencode/skills/task-reviewer in your project.
Going by SKILL.md and its folder, Task Reviewer needs the command-line tools its instructions call (git, npm, pnpm, pip and curl). 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 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 4.7k tokens (SKILL.md is roughly 19k 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: Finishing a Development Branch (obra/superpowers, 297k stars), Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Code Design Rationale Investigator (cursor/plugins, 10k stars) and Contributor-First PR Merge (HKUDS/OpenHarness, 16k 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,191 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.