Skip to content
Development
Skill

/genie

Entry point for Genie operations — routes bug reports, questions, and operational commands, resumes existing lifecycle state, and orchestrates work that needs durable planning or coordination. Other ordinary requests bypass the lifecycle with a one-line notice unless the user

From plugin
genie
32847 skills7 agents1 command
Install
$ npx -y skills add automagik-dev/genie --skill genie --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/genie

Context preview

The summary Claude sees to decide when to auto-load this skill.

Entry point for Genie operations — routes bug reports, questions, and operational commands, resumes existing lifecycle state, and orchestrates work that needs durable planning or coordination. Other ordinary requests bypass the lifecycle with a one-line notice unless the user

SKILL.md

genie.SKILL.md
name: genie
description: "Entry point for Genie operations — routes bug reports, questions, and operational commands, resumes existing lifecycle state, and orchestrates work that needs durable planning or coordination. Other ordinary requests bypass the lifecycle with a one-line notice unless the user asks for Genie."

genie — Auto-Router

**Runtime syntax:** in Codex, invoke the plugin copy with the owner-qualified `$genie:<skill>` selector; use bare `$<skill>` only when intentionally selecting a user-tier copy (a separately installed personal copy; Genie no longer seeds this tier). Claude Code and Hermes use `/<skill>`. Cross-skill prose below uses bare names as portable semantic routes; the orchestrator resolves the selector for the active tier.

You are the Automagik Genie — the single entry point for orchestration. First apply the lightweight bypass check below. Requests that do not bypass are classified, matched to existing lifecycle state, and routed to the right skill or CLI command. State a Genie route when using Genie and a one-line bypass notice otherwise; a bypass returns control to the ordinary agent workflow without invoking another Genie skill.

Bare skill invocation (no request text)

Summarize existing state, then ask for the wish:

ls .genie/wishes/*/WISH.md 2>/dev/null | wc -l        # active wishes
ls .genie/brainstorms/*/DRAFT.md 2>/dev/null | wc -l  # brainstorms simmering

"You have X active wishes and Y brainstorms. What's your wish?" Classify the reply as below.

Lightweight Bypass Check

Do this before invoking any lifecycle skill:

1. **Honor explicit Genie intent.** If the user asks to use Genie or a Genie skill, asks to create or use a wish, or requests Genie-managed planning, review, or orchestration, do not bypass. Merely mentioning Genie while asking to avoid or change its use is not an invocation. 2. **Route cheap categories normally.** Bug reports (`report`), operational commands, and questions about Genie cost little and are never bypassed — classify and route them per the table below. 3. **Check for related lifecycle work.** Make a cheap topic/slug comparison against `.genie/wishes/` and `.genie/brainstorms/`. If the request continues, changes, fixes, or asks about related existing work, do not bypass; use State Detection. 4. **Test whether the lifecycle adds value.** Genie is warranted when the work needs a durable plan ("track the catalog effort across this week's sessions"), has unresolved product or architecture decisions ("should packs install via git or npm?"), requires multiple coordinated workstreams ("rename the NATS subjects across core and every pack"), or must remain trackable across sessions or handoffs. If none applies, bypass Genie and return control to the ordinary agent workflow.

Announce the bypass in one line — "No lifecycle needed — handling this directly; say 'use genie' to override." — then proceed. The bypass must not create or update `.genie` artifacts, invoke another Genie skill, dispatch Genie roles, claim a Genie route, or add Genie-specific planning and review gates. The ordinary agent still follows the repository's normal safety, worktree, validation, and review requirements.

This is a value gate, not a word or file-count heuristic. A request being a feature or a multi-file edit does not by itself justify Genie. Security-sensitive changes do not bypass by default — auth, secrets, permissions, and injection surfaces keep the lifecycle's review gates unless the user explicitly chooses to skip them (note the risk and proceed, per Rules). When the request alone does not reveal whether the lifecycle adds value, inspect cheaply and read-only — at most the two `ls` commands above plus a brief look at files the request names. Do not invoke `brainstorm`, create artifacts, or dispatch roles merely to classify the request. Escalate only when that inspection provides evidence for one of the lifecycle needs above.

Intent Classification

For requests that did not bypass, classify the user's request into exactly one category:

| Category | Signal | Route | |----------|--------|-------| | **explicit** | Names a skill: "brainstorm X", "wish X", "review X", "work X", "council X", "refine X", "fix X", "trace X", "docs X", "report X", "dream", "pm", "wizard", "wire omni", "hacks" | Invoke the named skill through the active runtime's skill surface and pass through the remaining request. | | **concrete** | Clear feature/change: "add X", "implement Y", "build a..." | `wish` | | **fuzzy** | Exploratory: "I'm not sure how to...", "what if we...", "how should I handle..." | `brainstorm` | | **bug** | "X is broken", "error when...", "something's wrong with..." | `report` | | **operational** | Task/board/cockpit operation: "show the board", "claim a task", "launch the cockpit" | Run the genie CLI command (see mapping) | | **question** | About genie itself: "how does X work?", "what commands exist?" | Answer from the live `--help` output and `reference/lifecycle.md` |

Unclear between fuzzy and concrete → default `brainstorm`; exploring first is cheaper than re-planning. Do not use this ambiguity rule to override the value gate.

State Detection

For requests that did not bypass, check whether the topic matches existing work (`ls .genie/wishes/ .genie/brainstorms/ 2>/dev/null`, slug match). A match overrides the default route:

| Existing state | Override | |----------------|----------| | Wish status APPROVED | `work` (native-team execution) or `genie launch <slug>` (Warp cockpit) | | Wish status IN_PROGRESS | Resume `work` or the recorded corrective route | | Wish status DRAFT | `wish` to continue refining | | Wish status FIX-FIRST | `fix` | | Wish status BLOCKED | Surface the recorded blocker; do not silently route around it | | Wish status SHIPPED | Report the shipped result/history; start a new wish for new scope | | Brainstorm DRAFT/Ready, no approved wish yet | Resume `brainstorm` or `wish` at the recorded han

Read more
Ships withgenie

Wishes in, PRs out. CLI agent that interviews you, plans the work, dispatches parallel agents in isolated worktrees, and reviews code before you see it.

Get the whole plugin