Segment Anything Model Guide
Orchestra-Research/AI-Research-SKILLs
Guide to using Meta's Segment Anything Model for zero-shot image segmentation with point, box or mask prompts, or automatic mask generation.
Full-auto AI-DLC pipeline — from prompt to done. An agent skill from Chorus-AIDLC/Chorus.
$ npx skills add Chorus-AIDLC/Chorus --skill yolo -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Chorus-AIDLC/Chorus yolo --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/plugins/chorus/skills/yolo .claude/skills/yolo && 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 "yolo" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/plugins/chorus/skills/yolo into .claude/skills/yolo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yolo", 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/plugins/chorus/skills/yoloType 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 yolo -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Chorus-AIDLC/Chorus yolo --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/plugins/chorus/skills/yolo .agents/skills/yolo && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "yolo" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/plugins/chorus/skills/yolo into .agents/skills/yolo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yolo", 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 yolo -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Chorus-AIDLC/Chorus yolo --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/plugins/chorus/skills/yolo .cursor/skills/yolo && 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 "yolo" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/plugins/chorus/skills/yolo into .cursor/skills/yolo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yolo", 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 plugins/chorus/skills/yolo--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 yolo -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Chorus-AIDLC/Chorus yolo --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/plugins/chorus/skills/yolo .gemini/skills/yolo && 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 "yolo" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/plugins/chorus/skills/yolo into .gemini/skills/yolo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yolo", 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 yoloInstalls 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 yolo -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/plugins/chorus/skills/yolo .github/skills/yolo && 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 "yolo" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/plugins/chorus/skills/yolo into .github/skills/yolo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yolo", 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 yolo -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 yolo --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/plugins/chorus/skills/yolo .opencode/skills/yolo && 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 "yolo" agent skill from https://github.com/Chorus-AIDLC/Chorus/tree/main/plugins/chorus/skills/yolo into .opencode/skills/yolo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yolo", 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.
yoloFull-auto AI-DLC pipeline — from prompt to done. An agent skill from Chorus-AIDLC/Chorus.
Yolo is an agent skill from Chorus-AIDLC/Chorus. Full-auto AI-DLC pipeline — from prompt to done. Automates the entire Idea - Proposal - Execute - Verify lifecycle.
Its SKILL.md is about 6.8k 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 AI & LLM Engineering, covering Computer vision. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Yolo loads about 6.8k tokens when it runs. Until then it costs about 31 tokens; SKILL.md has 2,359 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,359 words, ~6,822 tokens.
.claude/skills/yolo/SKILL.md (or your agent's skills folder).Full-auto AI-DLC pipeline. User provides a prompt; agent drives the entire lifecycle: Idea -> Elaboration -> Proposal -> Review -> Execute -> Verify -> Done.
$yolo automates the complete AI-DLC workflow. You provide a natural language description of what you want built, and the agent handles everything:
spawn_agent$yolo <prompt>
|
v
Project + Idea + Elaboration + Proposal
|
v
Proposal Reviewer (auto, up to maxProposalReviewRounds)
|
v
Admin Approve --> Tasks materialize
|
v
Wave-based spawn_agent parallel execution
| (dev agent + task-reviewer per task)
v
Admin Verify each wave --> unblock next
|
v
Done. Report summary.Escape hatch: Ctrl+C at any time. All created entities (project, idea, proposal, tasks) persist in Chorus. Resume manually via $develop or $review.
The API key needs write + admin on every resource it touches:
| Needs | Why |
|---|---|
idea: [write] | Create ideas, run elaboration |
proposal: [write, admin] | Create proposals; approve them |
task: [write, admin] | Create, execute, verify tasks |
project: [write] | Create the project if none is given |
Check at startup:
perms = chorus_checkin().agent.permissions
need = { idea: ["write"], proposal: ["write","admin"],
task: ["write","admin"], project: ["write"] }
for resource, actions in need:
missing = [a for a in actions if a not in (perms[resource] or [])]
if missing: ABORT "$yolo needs {resource}: {missing}. Use an Admin-preset API key."$yolo <natural language prompt>
$yolo <prompt> --project <project-uuid><prompt> -- what you want built (becomes the Idea content)--project <uuid> -- optional; use an existing project instead of creating a new oneDuring planning, follow the Idea and Proposal routes to $research (shared rules): Idea before formal clarification once focused, Proposal after reusing evidence and only for new gaps or an explicit request. Carry findings and the request context across wakes and brainstorm; do not restart the same investigation on resume. Preserve the existing yolo decision/review gates. A Tracker Research action is research-only even inside a yolo-associated conversation: use the Idea research-only branch, save/report, and return without advancing to elaboration, proposal submission, or development. A yolo request alone does not prove development started; use actual execution facts.
Parse the arguments for --project <uuid>.
If --project is provided:
chorus_get_project({ projectUuid: "<uuid>" })Verify it exists and proceed.
If not provided, search for a suitable existing project first:
# 1. Search for projects matching the prompt topic
chorus_search({ query: "<key terms from prompt>", entityTypes: ["project"] })
# 2. Or list recent projects to find a match
chorus_list_projects()Review the results. If a project clearly matches the user's intent (same topic, active, relevant scope), use it. If no suitable project exists, create a new one:
chorus_admin_create_project({
name: "<short title derived from prompt>",
description: "<1-2 sentence summary of the prompt>"
})chorus_pm_create_idea({
projectUuid: "<project-uuid>",
title: "<concise title derived from prompt>",
content: "<full user prompt as-is>"
})Then claim it:
chorus_claim_idea({ ideaUuid: "<idea-uuid>" })In $yolo mode, the agent generates elaboration questions and answers them itself -- no AskUserQuestion calls. This preserves an audit trail without interrupting the user.
Self-elaboration is still a loop. If answering your own questions surfaces a new question, contradiction, or gap, loop back to
chorus_pm_start_elaborationfor another self-answered round before resolving — don't force a resolve over unresolved ambiguity. There is no human gate in YOLO, so the loop exits on your judgment that nothing material is left open (round cap 10). Steps 1–2 are one round; repeat them as needed, then resolve once in Step 3.
Generate and submit questions:
chorus_pm_start_elaboration({
ideaUuid: "<idea-uuid>",
depth: "standard",
questions: [
{
id: "q1",
text: "<question about scope, architecture, etc.>",
category: "functional",
options: [
{ id: "a", label: "<option A>" },
{ id: "b", label: "<option B>" }
]
}
// ... 5-8 questions covering functional, technical_context, scope aspects
]
})Answer immediately (agent selects best options based on the prompt):
chorus_answer_elaboration({
ideaUuid: "<idea-uuid>",
roundUuid: "<round-uuid>",
answers: [
{ questionId: "q1", selectedOptionId: "a", customText: "Rationale: ..." },
// ...
]
})Resolve — in YOLO mode the agent resolves elaboration autonomously, with no human-confirmation gate (the human-confirmation requirement that applies to the interactive $idea flow is explicitly waived under $yolo automation):
chorus_pm_validate_elaboration({
ideaUuid: "<idea-uuid>"
})
chorus_pm_validate_elaborationrequiresidea:admin.$yoloalready mandates an Admin-preset key in Prerequisites, so this is satisfied. To open another self-elaboration round instead of resolving, just callchorus_pm_start_elaborationagain.
Read the spec mode (already computed). The SessionStart hook (hooks/resolve-spec-mode.sh) has already resolved it — do NOT re-derive. Read the ## Spec Mode section: CHORUS_SPEC_MODE=<lite|openspec|off> + a routing note. Act on it: openspec (usable, shows CHORUS_OPENSPEC_ACTIVE=1) → 2a; off → 2b; lite → 2c. If it says the mode cannot be honored (explicit openspec but unusable), halt and surface it — do NOT fall back or enter 2a with no OpenSpec. (Spawned without context? Source the same helper; openspec-aware §1.) This matters because yolo runs unattended.
Create the empty proposal container. The description MUST carry the mode's locator line — OpenSpec: OpenSpec change slug: <slug>; spec-lite: Spec-lite: .chorus/specs/<slug>/<YYYY-MM-DD>-<change-slug>/; free-form: none. description is only settable at creation, so decide the slug/dated-path first.
chorus_pm_create_proposal({
projectUuid: "<project-uuid>",
title: "<feature name>",
description: "<summary>\n\nOpenSpec change slug: <slug>", // OpenSpec (2a)
// description: "<summary>\n\nSpec-lite: .chorus/specs/<slug>/<YYYY-MM-DD>-<change-slug>/", // spec-lite (2c)
// description: "<summary>", // free-form (2b)
inputType: "idea",
inputUuids: ["<idea-uuid>"]
})Then branch:
2a. OpenSpec mode (CHORUS_OPENSPEC_ACTIVE=1). Follow openspec-aware §3 end-to-end:
$SLUG, run openspec new change "$SLUG" (§3.1–§3.2).proposal.md, design.md, and one specs/<capability>/spec.md per capability locally on disk (§3.3). ADDED Requirements only; per-spec fallback to free-form Markdown if MODIFIED/REMOVED is needed.chorus_check_response helper (§6); prefer chorus mcp call … --arg-file content=<file> for mirrors (§3.4/§3.6) — the bash-wrapper fallback's $API (§2.1) + json_encode_file are only needed when chorus is not on PATH.chorus mcp call chorus_pm_add_document_draft … --arg-file content=<file> (§3.6; fallback = "$API" chorus_pm_add_document_draft "$PAYLOAD") — one call per file, with the document type from openspec-aware §5. (Codex's chorus-mcp-call.sh takes <TOOL_NAME> <JSON> directly; no mcp-tool subcommand.)⛔ Do not invoke
chorus_pm_add_document_draft/chorus_pm_update_document_draft/chorus_pm_update_documentfrom Codex's MCP harness with a hand-typedcontentfield in this branch. Re-typing the markdown body wastes 20k+ tokens per proposal and breaks byte-equality with the local files. Seeopenspec-aware§2 Rule 1.
Then continue to step 3 (task drafts).
2b. Free-form mode (resolved mode = free-form). Only when step 1 resolved to free-form — i.e. explicit CHORUS_SPEC_MODE=off (unset never comes here: it resolves to OpenSpec when usable, else spec-lite/2c). Add a tech design document draft directly via MCP, content authored inline:
chorus_pm_add_document_draft({
proposalUuid: "<proposal-uuid>",
type: "tech_design",
title: "Tech Design: <feature>",
content: "<markdown tech design covering architecture, data model, API, module contracts>"
})2c. spec-lite mode (resolved mode = lite). Load the spec-lite skill (~/.codex/skills/spec-lite/SKILL.md). Pick $SLUG (a capability). Ensure the durable .chorus/specs/<slug>/spec.md exists (local-only, no ids; use the spec-lite skill's inline durable-spec template) and update it in place. Create this change's dated folder .chorus/specs/<slug>/<YYYY-MM-DD>-<change-slug>/ with its synced Chorus-typed docs (shape = the spec-lite skill's inline dated-folder document template) — prd.md (primary), optional tech_design.md… The description carries the Spec-lite: .chorus/specs/<slug>/<YYYY-MM-DD>-<change-slug>/ locator (step 2). Mirror each dated-folder <type>.md to its persistent Document byte-exact — first time chorus mcp call chorus_pm_add_document_draft "{\"proposalUuid\":\"<uuid>\",\"type\":\"prd\",\"title\":\"PRD: <feature>\"}" --arg-file content=.chorus/specs/<slug>/<YYYY-MM-DD>-<change-slug>/prd.md, later edits via chorus_pm_update_document against the recorded documentUuid (chorus-mcp-call.sh fallback when chorus not on PATH). spec.md is never mirrored. No openspec/changes/ scaffold; no tasks.md. Then continue to step 3.
Add task drafts incrementally (use returned draftUuid for dependency chaining). acceptanceCriteriaItems is required on every draft — at least one non-blank criterion, or the call is rejected:
# First task
result1 = chorus_pm_add_task_draft({
proposalUuid: "<proposal-uuid>",
title: "<module name>",
description: "<what to build, referencing tech design>",
priority: "high",
storyPoints: 3,
acceptanceCriteriaItems: [
{ description: "<testable criterion>", required: true },
// ...
]
})
# Second task, depends on first
chorus_pm_add_task_draft({
proposalUuid: "<proposal-uuid>",
title: "<dependent module>",
description: "...",
priority: "medium",
storyPoints: 2,
acceptanceCriteriaItems: [...],
dependsOnDraftUuids: ["<result1.draftUuid>"]
})Validate:
chorus_pm_validate_proposal({ proposalUuid: "<proposal-uuid>" })Fix any errors, then proceed.
Submit:
chorus_pm_submit_proposal({ proposalUuid: "<proposal-uuid>" })After this call, the PostToolUse hook injects context instructing you to spawn the chorus-proposal-reviewer sub-agent. You MUST spawn it yourself via spawn_agent and wait for its return with wait_agent — it is NOT auto-launched.
Every gate in Phases 2, 4 and 4.5 follows the same three steps. They are written once here; the phases below only name their entity and their stage-specific actions.
spawn_agent, wait for it with wait_agent, then release the thread slot with close_agent. The agent's returned text is not the verdict — the verdict is the VERDICT: comment it posts.chorus_get_comments on the entity and find the VERDICT: comment posted after your dispatch, not an older round's. Do not advance the gate before you have read it.Absence is never a PASS, and a round limit reached by someone else is never yours to clear.
After chorus_pm_submit_proposal, the PostToolUse hook injects context instructing you to spawn the chorus-proposal-reviewer sub-agent. Mount the reviewer skill explicitly:
reviewer = spawn_agent({
items: [
{ type: "skill", name: "Chorus Proposal Reviewer", path: "chorus:chorus-proposal-reviewer" },
{ type: "text", text: "Review proposal <proposal-uuid>. Max review rounds: 3. Post VERDICT comment." }
]
})
wait_agent({ targets: [reviewer.agent_id] })Then:
Read the reviewer's VERDICT:
chorus_get_comments({ targetType: "proposal", targetUuid: "<proposal-uuid>" })Look for THIS round's VERDICT: comment — the one posted after your dispatch, not an older round's.
IMPORTANT — release thread slot: after wait_agent returns, immediately call close_agent({ target: reviewer.agent_id }). Codex caps concurrent agent threads at 6; completed status does NOT free a slot — only close_agent does. On long $yolo runs you WILL hit the limit if you don't close each reviewer after use.
Act on the VERDICT:
PASS or PASS WITH NOTES --
chorus_admin_approve_proposal({
proposalUuid: "<proposal-uuid>",
reviewNote: "PASS from reviewer. <brief summary of notes if any>"
})Tasks and documents materialize automatically. Proceed to Phase 3.
FAIL -- Read the BLOCKERs from the reviewer comment. Then:
chorus_pm_reject_proposal({
proposalUuid: "<proposal-uuid>",
reviewNote: "FAIL from reviewer. Fixing BLOCKERs: <list>"
})Revise the drafts (chorus_pm_update_document_draft, chorus_pm_update_task_draft) to address each BLOCKER, then resubmit:
chorus_pm_submit_proposal({ proposalUuid: "<proposal-uuid>" })After resubmission, the hook injects context again — spawn the reviewer yourself for Round 2.
Max rounds: Loop up to maxProposalReviewRounds (from plugin config, default 3). If exhausted:
STOP: "Proposal review failed after {maxRounds} rounds.
Remaining BLOCKERs: <list>. Human review needed.
Proposal UUID: <uuid>"No new VERDICT for this round? Apply step 3 of the Reviewer contract, reviewing the proposal yourself if the reviewer stays silent.
After proposal approval, tasks exist in open status. Execute them in dependency-ordered waves using Codex spawn_agent. If parallel spawn is not desired or too many workers in flight, fall back to sequential main-agent execution.
spawn_agent workerswave = 1
loop:
# 1. Find ready tasks
unblocked = chorus_get_unblocked_tasks({ projectUuid: "<project-uuid>" })
if no unblocked tasks and all tasks done:
break # All complete
if no unblocked tasks and some tasks not done:
# Stuck -- tasks failed review and can't proceed
break with escalation report
# 2. For each unblocked task, spawn a worker
for each task in unblocked:
spawn_agent({
items: [
{ type: "skill", name: "Chorus Develop", path: "chorus:develop" },
{ type: "text", text: f"""Implement this Chorus task:
Task UUID: {task.uuid}
Project UUID: {project_uuid}
Follow the mounted develop workflow and the task acceptance criteria. Read the task, proposal, and project documents through Chorus. After chorus_submit_for_verify, exit; the main agent owns independent review and admin verification.""" }
]
})
# 3. Wait for workers to return (use wait_agent)
# Each worker follows $develop skill:
# claim -> in_progress -> develop -> report -> self-check AC -> submit_for_verify
# 4. Proceed to Phase 4 (verification) for this wave
wave += 1What the worker prompt needs:
taskUuid (required)projectUuid (required for context lookups)$develop skill — the skill itself has all the workflow detailIf parallel spawn is not practical (rate limits, token budget, or simpler debugging wanted), fall back to executing tasks sequentially as the main agent:
for each task in unblocked:
# Follow the $develop workflow directly as main agent
chorus_claim_task({ taskUuid: "<task-uuid>" })
chorus_update_task({ taskUuid: "<task-uuid>", status: "in_progress" })
# ... implement the task: read context, write code, run tests ...
chorus_report_work({ taskUuid: "<task-uuid>", report: "..." })
chorus_report_criteria_self_check({ taskUuid: "<task-uuid>", criteria: [...] })
chorus_submit_for_verify({ taskUuid: "<task-uuid>", summary: "..." })
# PostToolUse hook injects context — you must spawn task-reviewer yourself
# Proceed to Phase 4 verification for this task before moving to nextThe fallback is slower (sequential, not parallel) but still completes the pipeline. The PostToolUse hook injects reviewer instructions the same way in both modes — you must always spawn the reviewer manually.
After each wave's sub-agents complete, verify their tasks:
for each task in wave_tasks:
# 1. Check task status
task = chorus_get_task({ taskUuid: "<task-uuid>" })
if task.status != "to_verify":
# Sub-agent may have failed; skip or handle
continue
# 2. Spawn task-reviewer in FOREGROUND and wait for it (use wait_agent)
# Mount the chorus-task-reviewer SKILL explicitly.
reviewer = spawn_agent({
items: [
{ type: "skill", name: "Chorus Task Reviewer", path: "chorus:chorus-task-reviewer" },
{ type: "text", text: "Review Chorus task <task-uuid>. Post VERDICT as a comment before exit." }
]
})
wait_agent({ targets: [reviewer.agent_id] })
close_agent({ target: reviewer.agent_id }) # completed != closed
# 3. Read task-reviewer VERDICT
comments = chorus_get_comments({ targetType: "task", targetUuid: "<task-uuid>" })
# Find THIS round's "VERDICT:" comment — the one posted after your dispatch, not an older round's
# 4. Act on VERDICT — three possible outcomes:
if VERDICT is "PASS":
# All AC verified, no issues. Mark AC and verify.
chorus_mark_acceptance_criteria({
taskUuid: "<task-uuid>",
criteria: [
{ uuid: "<ac-uuid>", status: "passed", evidence: "<from reviewer>" },
// ...
]
})
chorus_admin_verify_task({ taskUuid: "<task-uuid>" })
# Task is now "done" -- unblocks dependents
if VERDICT is "PASS WITH NOTES":
# All AC verified, minor non-blocking notes. Still mark AC and verify.
chorus_mark_acceptance_criteria({ ... })
chorus_admin_verify_task({ taskUuid: "<task-uuid>" })
if VERDICT is "FAIL":
# BLOCKERs found. Do NOT verify. Reopen for rework.
chorus_admin_reopen_task({ taskUuid: "<task-uuid>" })
# Task returns to "open", will be picked up in next waveAfter verifying all tasks in the wave, return to Phase 3 to check for newly unblocked tasks.
Max rounds per task: Tracked by maxTaskReviewRounds from plugin config (default 3). If a task has been reopened maxRounds times, skip it and flag for human escalation:
ESCALATE: "Task '{title}' failed review after {maxRounds} rounds.
Last BLOCKERs: <list>. Manual intervention needed.
Task UUID: <uuid>"Continue with remaining tasks -- do not halt the entire pipeline for one stuck task.
No new VERDICT for this round? Apply step 3 of the Reviewer contract, reviewing the task yourself if the reviewer stays silent.
Once every task of the idea's proposal is verified (done) — Phase 3 finds no more unblocked tasks and none remain non-terminal — run the final ship-time code-review gateway before the Phase 5b completion report. It reviews the whole Idea's aggregate code change across all tasks (not a single task) and posts its verdict on the Idea. After the last task is verified, the PostToolUse hook injects a reminder to spawn it.
Mount the code-reviewer skill explicitly and wait for it:
reviewer = spawn_agent({ items: [
{ type: "skill", name: "Chorus Code Reviewer", path: "chorus:chorus-code-reviewer" },
{ type: "text", text: "Review the aggregate code for idea <idea-uuid>. Round: N. Post VERDICT on the idea." }
] })
wait_agent({ targets: [reviewer.agent_id] })
close_agent({ target: reviewer.agent_id })
# Read the VERDICT on the IDEA
comments = chorus_get_comments({ targetType: "idea", targetUuid: "<idea-uuid>" })Act on the VERDICT:
$quick-dev): call chorus_create_tasks with proposalUuid set to the current approved proposal so the fix tasks attach to it — do not reopen the already-verified tasks. Group related small BLOCKERs into one cohesive task by default; split only materially large or independently testable fixes. Drive every fix task through Phase 3 → Phase 4, including AC self-check, independent task review, and admin verification. Re-spawn the code-reviewer only after every fix task is successfully done; a failed or cancelled fix task, stop the automatic loop and escalate. Loop bounded by maxCodeReviewRounds (default 3; 0 = unlimited).ESCALATE: "Idea '{title}' failed code review after {maxCodeReviewRounds} rounds.
Last BLOCKERs: <list>. Manual intervention needed. Idea UUID: <uuid>"No new VERDICT for this round? Apply step 3 of the Reviewer contract, reviewing the idea's aggregate change yourself if the reviewer stays silent.
The gateway is behavioral like the other two reviewers: its verdict is advisory and does not change the Idea's stored status; the orchestrator honors it. It runs before the completion report so the report is never written while a FAIL is outstanding.
Routine Chorus workers and reviewers start with a fresh context: their mounted skill plus entity UUIDs let them retrieve authoritative state through MCP. Use fork_context: true only when a child needs material parent-conversation evidence or decisions that cannot be conveyed cleanly in its assignment, and state why. Call wait_agent only when the next pipeline action depends on the result; use send_input to redirect an active child, close_agent promptly when interaction is finished, and resume_agent only for a previously closed child. Codex manages these execution threads; Chorus MCP remains authoritative for claims, statuses, work reports, acceptance evidence, submissions, and verdict comments.
After all waves complete, output a markdown summary:
## $yolo Complete
**Project:** <project-name> (<project-uuid>)
**Proposal:** <proposal-title> (<proposal-uuid>)
**Idea:** <idea-title> (<idea-uuid>)
### Tasks
| Task | Status | Review Rounds |
|------|--------|---------------|
| <title> | done | 1 |
| <title> | done | 2 |
| <title> | ESCALATED | 3 (max) |
### Summary
- Total tasks: N
- Completed: X / N
- Escalated: Y (need human review)
- Waves executed: WA successful $yolo run always finishes the Idea — call chorus_create_report once with proposalUuid set to the last verified proposal. The call requires title (a short report title) plus content; content's parameter description carries the three-section template (## Summary / ## Decisions / ## Follow-ups); follow it. Surface the returned documentUuid in the Phase 5 summary. Skipping is a protocol violation.
Order: write the completion report only after the Phase 4.5 code-review gateway returns PASS / PASS WITH NOTES — never while a code-review FAIL is outstanding.
| Scenario | Action |
|---|---|
| Missing permissions at startup | Abort with message listing the missing resource/action pairs (see Prerequisites). Recommend an Admin-preset API key. |
| Project creation fails | Report error, suggest user create project manually and retry with --project |
| Proposal reviewer FAIL after maxRounds | Stop pipeline, report persisting BLOCKERs, suggest manual review |
| Task reviewer FAIL after maxRounds | Flag task as escalation-needed, continue with other tasks |
| Sub-agent crash / no submit | Log error, skip task, pick it up in next wave if possible |
| Ctrl+C | All entities persist in Chorus. User can resume via $develop or $review |
$quick-dev instead -- it skips the Idea->Proposal overhead$review$develop$quick-dev$chorus© 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 plugins/chorus/skills/yolo of Chorus-AIDLC/Chorus.
Open the folder on GitHubat commit 37d62d9
Yolo 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 |
|---|---|---|---|---|---|---|
| Yolo this skillChorus-AIDLC/Chorus | 1.2k | — | ~6.8k | Automated safety check: Pass | AGPL-3.0 | |
| Segment Anything Model GuideOrchestra-Research/AI-Research-SKILLs | 13k | 8 repos | ~3.3k | Automated safety check: Pass | MIT | |
| CLIP Image-Text MatchingOrchestra-Research/AI-Research-SKILLs | 13k | 7 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Yolo Master AgentTencent/YOLO-Master | 747 | — | ~755 | Automated safety check: Pass | AGPL-3.0 | |
| Video Understandjjyaoao/HelloAgents | 3.2k | 1 repos | ~6.2k | Automated safety check: Pass | MIT | |
| LLaVA Vision-Language ModelOrchestra-Research/AI-Research-SKILLs | 13k | 6 repos | ~2k | Automated safety check: Pass | MIT |
Orchestra-Research/AI-Research-SKILLs
Guide to using Meta's Segment Anything Model for zero-shot image segmentation with point, box or mask prompts, or automatic mask generation.
Orchestra-Research/AI-Research-SKILLs
Explains OpenAI's CLIP model for zero-shot image classification, image-text similarity, semantic image search and content moderation, with install steps and code patterns.
Tencent/YOLO-Master
A skill your agent uses when the user wants to run a YOLO-Master task (train/val/predict/track/export/benchmark) or use the Agent Skill dispatcher.
jjyaoao/HelloAgents
Implement specialized video understanding capabilities using the z-ai-web-dev-sdk.
Orchestra-Research/AI-Research-SKILLs
Guide to LLaVA for image chat, visual question answering and captioning, with model sizes, CLI and Gradio usage and multi-turn conversation code.
edwardsanchez/MotionEyes
Pixel-based motion and UI change analysis from frame sequences or screenshots using computer vision and visual comparison.
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
Full-auto AI-DLC pipeline — from prompt to done. An agent skill from Chorus-AIDLC/Chorus. Yolo is an agent skill from Chorus-AIDLC/Chorus. Full-auto AI-DLC pipeline — from prompt to done.
Yolo fits situations like: tasks that involve Computer vision.
Run `npx skills add Chorus-AIDLC/Chorus --skill yolo -a claude-code`. Or copy the skill folder (plugins/chorus/skills/yolo in Chorus-AIDLC/Chorus) into .claude/skills/yolo in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Chorus-AIDLC/Chorus --skill yolo -a codex`. Or copy the skill folder (plugins/chorus/skills/yolo in Chorus-AIDLC/Chorus) into .agents/skills/yolo 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 yolo -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/yolo, .gemini/skills/yolo, .github/skills/yolo and .opencode/skills/yolo in your project.
SKILL.md names no scripts, command-line tools or credentials: Yolo is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Yolo 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 6.8k tokens (SKILL.md is roughly 27k 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 Yolo: Segment Anything Model Guide (Orchestra-Research/AI-Research-SKILLs, 13k stars), CLIP Image-Text Matching (Orchestra-Research/AI-Research-SKILLs, 13k stars), Yolo Master Agent (Tencent/YOLO-Master, 747 stars) and Video Understand (jjyaoao/HelloAgents, 3.2k 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.