idea
The Idea skill manages the ideation stage of the Chorus AI-DLC workflow, enabling PM agents to claim ideas, conduct multi-round elaboration to clarify requirements, and prepare ideas for proposal creation. Use this skill when starting new work items that need structured requirements gathering before moving into the proposal and implementation phases.
git clone --depth 1 https://github.com/Chorus-AIDLC/Chorus /tmp/idea && cp -r /tmp/idea/public/chorus-plugin/skills/idea ~/.claude/skills/ideaSKILL.md
# Idea Skill
This skill covers the **Ideation** stage of the AI-DLC workflow: claiming Ideas, running structured elaboration rounds to clarify requirements, and preparing for Proposal creation.
---
## Overview
Ideas are the starting point of the AI-DLC pipeline. Humans (or Admin agents) create Ideas describing what they need. The PM Agent claims an Idea, runs elaboration to clarify requirements, and then moves on to `/proposal` to create a Proposal with document and task drafts.
**Idea status lifecycle (3 stored states):**
```
open --> elaborating --> elaborated
```
All post-elaboration progress (planning, building, verifying, done) is **derived** from the state of linked Proposals and Tasks. No agent should set Idea status directly beyond elaboration -- all transitions are side-effects of claiming, releasing, or completing elaboration.
---
## Tools
**Idea Management:**
| Tool | Purpose |
|------|---------|
| `chorus_pm_create_idea` | Create a new idea in a project (on behalf of humans) |
| `chorus_claim_idea` | Claim an open idea (open -> elaborating) |
| `chorus_release_idea` | Release a claimed idea (elaborating -> open) |
| `chorus_move_idea` | Move an Idea to a different Project. Cascade-migrates the Idea, all linked Proposals (any status), all materialized Documents and Tasks, and all related Activities atomically. Comments, TaskDependency, AcceptanceCriterion, AgentSession, SessionTaskCheckin, Notification history, and Task assignees are NOT modified. Returns `moved: { proposals, documents, tasks, activities }` counts. Requires `idea:write` only — no project-level checks. |
**Requirements Elaboration:**
| Tool | Purpose |
|------|---------|
| `chorus_pm_start_elaboration` | Generate an elaboration round (first, follow-up, or appended-after-resolution) |
| `chorus_pm_validate_elaboration` | Mark the whole elaboration complete (requires `idea:admin`; requires human confirmation first) |
| `chorus_pm_skip_elaboration` | Skip elaboration for trivially clear Ideas |
| `chorus_answer_elaboration` | Submit answers for an elaboration round (`roundUuid` optional — auto-locates the active round) |
| `chorus_get_elaboration` | Get full elaboration state (rounds, questions, answers) |
**Shared tools** (checkin, query, comment, search, notifications): see `/chorus`
---
## Workflow
### Step 1: Check In
```
chorus_checkin()
```
Review your persona, current assignments, and pending work counts.
### Step 2: Find Work
```
chorus_get_available_ideas({ projectUuid: "<project-uuid>" })
```
Or check existing assignments:
```
chorus_get_my_assignments()
```
### Step 3: Claim an Idea
Claiming automatically transitions the Idea to `elaborating` status:
```
chorus_claim_idea({ ideaUuid: "<idea-uuid>" })
```
### Step 4: Gather Context
Before elaborating, understand the full picture:
1. **Read the idea in detail:**
```
chorus_get_idea({ ideaUuid: "<idea-uuid>" })
```
2. **Read existing project documents** (for context, tech stack, conventions):
```
chorus_get_documents({ projectUuid: "<project-uuid>" })
chorus_get_document({ documentUuid: "<doc-uuid>" })
```
3. **Review past proposals** (to understand patterns and standards):
```
chorus_get_proposals({ projectUuid: "<project-uuid>", status: "approved" })
```
4. **Check existing tasks** (to avoid duplication):
```
chorus_list_tasks({ projectUuid: "<project-uuid>" })
```
5. **Read comments** on the idea for additional context:
```
chorus_get_comments({ targetType: "idea", targetUuid: "<idea-uuid>" })
```
### Step 4.5: Brainstorm Mode (Optional Prelude)
If the Idea is fuzzy and you'd struggle to enumerate concrete multi-choice questions, offer the user a brainstorm prelude before structured elaboration. Ask once via `AskUserQuestion` (header `"Brainstorm"`, two options: `"Already clear, run structured elaboration"` and `"Brainstorm first to explore directions"`).
- **"Already clear":** Skip to Step 5.
- **"Brainstorm first":** Invoke the `/brainstorm` skill. See `/brainstorm` for the dialogue cadence and synthesis rules — do NOT re-implement them here.
When `/brainstorm` returns, you own the lifecycle decision (the brainstorm skill deliberately leaves it to you):
- If the synthesized round answers cover everything → obtain human confirmation, then call `chorus_pm_validate_elaboration` to resolve the elaboration. (Resolve needs `idea:admin` — see Step 5.6 if your key is `pm_agent`-preset.)
- If gaps remain → call `chorus_pm_start_elaboration` again to open a structured Round 2. Pick the depth yourself — do NOT re-prompt the user.
Either outcome ends Step 4.5; skip Step 5.
### Step 5: Elaborate on the Idea
**Every Idea should go through elaboration.** Skip only when requirements are completely unambiguous (e.g., bug fix with clear steps). Elaboration improves Proposal quality and reduces rejection cycles.
#### Simple Ideas (skip elaboration)
You may skip elaboration, but **you MUST ask the user for permission first** via AskUserQuestion before calling `chorus_pm_skip_elaboration`. Never skip on your own judgment alone.
```
chorus_pm_skip_elaboration({
ideaUuid: "<idea-uuid>",
reason: "Bug fix with clear reproduction steps"
})
```
#### Standard/Complex Ideas (run elaboration)
> **Elaboration is a loop, not a straight line.** Steps 2–5 below are **one round**. Keep looping back to `chorus_pm_start_elaboration` (a new round) until every open question is settled, then resolve **once** in Step 6. You re-enter the loop whenever:
> - the answers to a round **derive new questions** or surface a contradiction/gap, **or**
> - at the resolve gate (Step 5d / Step 6) the **human raises a new concern or correction**.
>
> Each new round is just another `chorus_pm_start_elaboration` call — there is no separate "follow-up" flag, and you do not resolve until the loop is genuinely done. Round cap is 10.
1. **Determine depth** based on idea complexity:
- `"minimal"` — 2-4 questionsImplement tasks from an OpenSpec change (Experimental)
Archive a completed change in the experimental workflow
Enter explore mode - think through ideas, investigate problems, clarify requirements
Propose a new change - create it and generate all artifacts in one step
Write release blog posts for Chorus — problem-first narrative, bilingual (zh/en), following the project's editorial style.
Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.
Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.
Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.