Agent skill
wish
Convert an idea into a structured wish plan with scope, acceptance criteria, and execution groups for /work.
Install this agent skill to your Project
npx add-skill https://github.com/automagik-dev/genie/tree/main/skills/wish
SKILL.md
/wish — Plan Before You Build
Convert a validated idea into an executable wish document at .genie/wishes/<slug>/WISH.md.
When to Use
- User describes non-trivial work that needs planning before implementation.
- User wants to scope, decompose, or formalize a feature/change.
- Prior
/brainstormoutput exists and needs to become actionable.
Shared Worktree
This skill is collaborative and operates on the shared worktree:
- All wish artifacts live in
.genie/wishes/within the shared worktree - State group definitions are written to the shared worktree so other agents and skills can read them
- When invoked via dispatch, acknowledges injected context (brainstorm design, file path + extracted section)
Flow
- Gate check: if the request is fuzzy (no prior design, unclear scope, vague requirements), auto-trigger
/brainstormfirst. If a brainstorm/design exists, proceed. Otherwise ask: "This needs more clarity. Running/brainstormto refine the idea first." - Align intent: ask one question at a time until success criteria are clear.
- Define scope: explicit IN and OUT lists. OUT scope cannot be empty.
- Decompose into groups: split into small, loosely coupled execution groups.
- Write wish: create
.genie/wishes/<slug>/WISH.mdusing the Wish Template below. - Add verification: every group gets acceptance criteria + a validation command.
- Declare dependencies: declare
depends-onbetween execution groups and cross-wish dependencies. - Handoff: auto-invoke
/review(plan review) on the WISH.md. Do not suggest/workdirectly — the review gate must pass first.
Wish Document Sections
| Section | Required | Notes |
|---|---|---|
| Status / Slug / Date | Yes | Status: DRAFT on creation |
| Summary | Yes | 2-3 sentences: what and why |
| Scope IN / OUT | Yes | OUT cannot be empty |
| Decisions | Yes | Key choices with rationale |
| Success Criteria | Yes | Checkboxes, each testable |
| Execution Strategy | Yes | Wave-based parallel/sequential execution plan |
| Execution Groups | Yes | Goal, deliverables, acceptance criteria, validation command |
| Dependencies | No | depends-on / blocks using slug or repo/slug |
| QA Criteria | No | What must be verified on dev after merge |
| Assumptions / Risks | No | Flag what could invalidate the plan |
Wish Template
Use this structure when writing WISH.md:
# Wish: <Title>
| Field | Value |
|-------|-------|
| **Status** | DRAFT |
| **Slug** | `<slug>` |
| **Date** | YYYY-MM-DD |
| **Design** | [DESIGN.md](../../brainstorms/<slug>/DESIGN.md) |
## Summary
2-3 sentences: what this wish delivers and why it matters.
## Scope
### IN
- Concrete deliverable 1
- Concrete deliverable 2
### OUT
- Explicit exclusion 1 (OUT cannot be empty)
## Decisions
| Decision | Rationale |
|----------|-----------|
| Choice 1 | Why this over alternatives |
## Success Criteria
- [ ] Testable criterion 1
- [ ] Testable criterion 2
## Execution Strategy
### Wave 1 (parallel)
| Group | Agent | Description |
|-------|-------|-------------|
| 1 | engineer | <task description> |
| 2 | engineer | <task description> |
### Wave 2 (after Wave 1)
| Group | Agent | Description |
|-------|-------|-------------|
| 3 | engineer | <task description> |
| review | reviewer | Review Groups 1+2 |
## Execution Groups
### Group 1: <Name>
**Goal:** One sentence.
**Deliverables:**
1. Deliverable with acceptance criteria
2. Deliverable with acceptance criteria
**Acceptance Criteria:**
- [ ] Testable criterion
**Validation:**
```bash
# Command that exits 0 on success
depends-on: none | Group N
QA Criteria
What must be verified on dev after merge. The QA agent tests each criterion.
- <functional criterion — user-facing behavior works>
- <integration criterion — system works end-to-end>
- <regression criterion — existing behavior not broken>
Assumptions / Risks
| Risk | Severity | Mitigation |
|---|---|---|
| Risk 1 | Low/Medium/High | How to handle |
Review Results
Populated by /review after execution completes.
Files to Create/Modify
<list of files this wish will touch>
## Task Lifecycle Integration (v4)
After writing WISH.md, create corresponding PG tasks so the wish is visible in `genie task list`:
### Step 1: Create parent task
```bash
genie task create "<wish title>" --type software
Step 2: Create child tasks per execution group
genie task create "<group title>" --parent #<parent-seq>
Step 3: Add dependencies between groups
genie task dep #<child-seq> --depends-on #<dep-seq>
Summary
| Event | Command |
|---|---|
| Wish crystallized | genie task create "<wish title>" --type software |
| Per execution group | genie task create "<group title>" --parent #<parent-seq> |
| Group has dependency | genie task dep #<child-seq> --depends-on #<dep-seq> |
Graceful degradation: If PG is unavailable or genie task commands fail, warn but do not block the wish flow. The WISH.md file is the source of truth — PG tasks are an optional tracking enhancement. The wish must still be usable by /work even if no PG tasks were created.
Rules
- No implementation during
/wish— planning only. - No vague tasks ("improve everything"). Every task must be testable.
- Keep tasks bite-sized and independently shippable.
- Declare cross-wish dependencies early with
depends-on/blocks. - OUT scope must contain at least one concrete exclusion.
- Execution Strategy is mandatory — every wish must define waves, even if sequential (single wave). This forces the planner to think about ordering, parallelism, and dependencies upfront.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
genie
Single entry point for all genie operations — auto-routes natural language to the right skill, detects existing lifecycle state, and handles operational commands. Use when planning features, reporting bugs, managing teams, or asking about the system.
refine
Transform a brief or prompt into a structured, production-ready prompt via prompt-optimizer. File or text mode.
work
Execute an approved wish plan — orchestrate subagents per task group with fix loops, validation, and review handoff.
review
Validate plans, execution, or PRs against wish criteria — returns SHIP / FIX-FIRST / BLOCKED with severity-tagged gaps.
learn
Diagnose and fix agent behavioral surfaces when the user corrects a mistake — connects to Claude native memory.
dream
Batch-execute SHIP-ready wishes overnight — pick wishes, orchestrate workers, review PRs, wake up to results.
Didn't find tool you were looking for?