wish

Convert an idea into a structured wish plan with scope, acceptance criteria, and execution groups for /work.

272 stars

Best use case

wish is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Convert an idea into a structured wish plan with scope, acceptance criteria, and execution groups for /work.

Teams using wish should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/wish/SKILL.md --create-dirs "https://raw.githubusercontent.com/automagik-dev/genie/main/skills/wish/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/wish/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How wish Compares

Feature / AgentwishStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Convert an idea into a structured wish plan with scope, acceptance criteria, and execution groups for /work.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# /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 `/brainstorm` output 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
1. **Gate check:** if the request is fuzzy (no prior design, unclear scope, vague requirements), auto-trigger `/brainstorm` first. If a brainstorm/design exists, proceed. Otherwise ask: "This needs more clarity. Running `/brainstorm` to refine the idea first."
2. **Align intent:** ask one question at a time until success criteria are clear.
3. **Define scope:** explicit IN and OUT lists. OUT scope cannot be empty.
4. **Decompose into groups:** split into small, loosely coupled execution groups.
5. **Write wish:** create `.genie/wishes/<slug>/WISH.md` using the Wish Template below.
6. **Add verification:** every group gets acceptance criteria + a validation command.
7. **Declare dependencies:** declare `depends-on` between execution groups and cross-wish dependencies.
8. **Handoff:** auto-invoke `/review` (plan review) on the WISH.md. Do not suggest `/work` directly — 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`:

```markdown
# 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>
```
```

## 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.

Related Skills

work

272
from automagik-dev/genie

Execute an approved wish plan — orchestrate subagents per task group with fix loops, validation, and review handoff.

trace

272
from automagik-dev/genie

Dispatch trace subagent to investigate unknown issues — reproduces, traces, and reports root cause for /fix handoff.

review

272
from automagik-dev/genie

Validate plans, execution, or PRs against wish criteria — returns SHIP / FIX-FIRST / BLOCKED with severity-tagged gaps.

report

272
from automagik-dev/genie

Investigate bugs comprehensively — cascade through /trace, capture browser evidence, extract observability data, and auto-create a GitHub issue with all findings.

refine

272
from automagik-dev/genie

Transform a brief or prompt into a structured, production-ready prompt via prompt-optimizer. File or text mode.

learn

272
from automagik-dev/genie

Diagnose and fix agent behavioral surfaces when the user corrects a mistake — connects to Claude native memory.

genie

272
from automagik-dev/genie

Transform any Claude Code session into an Automagik Genie orchestrator — guide users through brainstorm, wish, team, and PR lifecycle.

fix

272
from automagik-dev/genie

Dispatch fix subagent for FIX-FIRST gaps from /review, re-review, and escalate after 2 failed loops.

dream

272
from automagik-dev/genie

Batch-execute SHIP-ready wishes overnight — pick wishes, orchestrate workers, review PRs, wake up to results.

docs

272
from automagik-dev/genie

Dispatch docs subagent to audit, generate, and validate documentation against the codebase.

council

272
from automagik-dev/genie

Brainstorm and critique with 10 specialist viewpoints. Use for architecture, plan reviews, or tradeoffs.

brainstorm

272
from automagik-dev/genie

Explore ambiguous or early-stage ideas interactively — tracks wish-readiness and crystallizes into a design for /wish.