--- name: yolo description: Full-auto AI-DLC pipeline — from prompt to done. Automates the entire Idea -> Proposal -> Execute -> Verify lifecycle. license: AGPL-3.0 metadata: author: chorus version: "0.22.1" category: project-management mcp_server: chorus --- # Yolo Skill Full-auto AI-DLC pipeline. User provides a prompt; agent drives the entire lifecycle: Idea -> Elaboration -> Proposal -> Review -> Execute -> Verify -> Done. --- ## Overview `$yolo` automates the complete AI-DLC workflow. You provide a natural language description of what you want built, and the agent handles everything: 1. **Planning** -- create project, idea, self-elaboration, proposal with docs & tasks 2. **Proposal Review** -- proposal-reviewer adversarial loop 3. **Execution** -- wave-based parallel task dispatch via `spawn_agent` 4. **Verification** -- task-reviewer adversarial loop + admin verify 5. **Report** -- completion summary ``` $yolo | 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`. --- ## Prerequisites 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." ``` --- ## Input ``` $yolo $yolo --project ``` - `` -- what you want built (becomes the Idea content) - `--project ` -- optional; use an existing project instead of creating a new one --- ## Research routing During planning, follow the Idea and Proposal routes to `$research` ([shared rules](../research/SKILL.md)): 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. ## Workflow ### Phase 1: Planning #### Step 1.1: Resolve Project Parse the arguments for `--project `. **If `--project` is provided:** ``` chorus_get_project({ projectUuid: "" }) ``` 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: "", 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: "", description: "<1-2 sentence summary of the prompt>" }) ``` #### Step 1.2: Create Idea ``` chorus_pm_create_idea({ projectUuid: "", title: "", content: "" }) ``` Then claim it: ``` chorus_claim_idea({ ideaUuid: "" }) ``` #### Step 1.3: Self-Elaboration 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_elaboration` for 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. 1. **Generate and submit questions:** ``` chorus_pm_start_elaboration({ ideaUuid: "", depth: "standard", questions: [ { id: "q1", text: "", category: "functional", options: [ { id: "a", label: "