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.
# Add to your Claude Code skills
git clone https://github.com/automagik-dev/genieLast scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T06:47:24.150Z",
"semgrepRan": false,
"npmAuditRan": false,
"pipAuditRan": true
}genie is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by automagik-dev. 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. It has 324 GitHub stars.
Yes. genie passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/automagik-dev/genie" and add it to your Claude Code skills directory (see the Installation section above).
genie is primarily written in TypeScript. It is open-source under automagik-dev on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh genie against similar tools.
No comments yet. Be the first to share your thoughts!
Genie is a planning-and-execution layer for AI coding agents. You describe what you want in one sentence; Genie interviews you into a plan, dispatches agents to build it in parallel, reviews the result against acceptance criteria, and hands you something ready to merge.
The whole thing is a lightweight body: a set of skills, plain-markdown documents in git, and a single per-repo SQLite file. No daemons, no Postgres, nothing resident. A command opens the database, runs one transaction, and exits.
curl -fsSL https://raw.githubusercontent.com/automagik-dev/genie/main/install.sh | bash
Every release is cosign-signed (keyless OIDC) with SLSA provenance; the installer verifies the binary — via gh attestation verify, falling back to cosign verify-blob — before it runs.
The repository-hosted .well-known/latest.json, homolog.json, and dev.json manifests are the authoritative channel pointers. GitHub's /releases/latest route and prerelease badge are deliberately not channel authority: a promotion advances only a monotonic manifest and never rewrites already-published assets or channel-significant draft/prerelease/latest metadata.
The installer detects Claude Code and Codex and installs the version-matched Genie plugin for each. Control this with --integrations auto|codex|claude|all|none or --skip-integrations. When Codex is selected, the installed plugin is the only Genie-managed skill provider: a fresh install writes zero Genie product skills into ~/.agents/skills/ and requires one enabled, exact-version plugin with a usable MCP launcher and complete skill payload before it mutates anything. An upgrade from a release that still seeded user-tier fallbacks quarantines only provably clean historical copies — and only after a single post-convergence plugin health proof passes; same-name unmanaged, modified, malformed-marker, or symlinked user copies are preserved in place and reported as user-owned collisions. Automatic integration failures warn after the verified binary succeeds; explicitly requested failures are fatal.
From inside a repo, run genie init. Use genie setup --codex to explicitly install or repair the Codex plugin, seven optional role-agent profiles, MCP routing, and the backup-first dead-OTel migration. A successful Codex setup also persists Codex maintenance consent: later, explicit genie update runs may refresh those Codex integration surfaces. That consent never writes new product skills into the user tier, never makes personal or modified skills managed, and it gives no authority to hooks. genie update is the explicit update/convergence path. When crossing from a release older than 5.260711.6 to 5.260711.6 or later, let the first update finish and run genie update one more time: the first process may only deliver the new binary/payload, while the second runs the new convergence contract. If the older release had seeded clean user-tier fallbacks, the convergence run retires them into a hidden quarantine transaction (see Codex fallback quarantine and recovery) once one health proof passes. Verify that the plugin exposes exactly H3/H4/H6, then review their hashes with /hooks and start a new task. Later updates converge in one operator-driven path. No Codex hook or Claude SessionStart hook installs software, refreshes plugins, synchronizes skills, stamps workflows, or writes project instructions.
Codex never auto-trusts plugin hooks. H4/H6 definitions bind the exact plugin launcher SHA-256 and the launcher verifies itself before spawning, so launcher changes produce new definitions; the current hook schema still cannot transitively bind the mutable platform-specific Genie binary. After setup or update, inspect the three Genie definitions with /hooks, approve only the hashes you understand, and start a new task so the reviewed definitions take effect. Until then they remain untrusted and do not run.
The lifecycle is shared by Claude Code and Codex. Claude uses slash skills. A Codex plugin install uses the unambiguous owner-qualified $genie:<skill> selector; bare $<skill> resolves the user tier, which now only ever holds a separately installed personal copy (Genie no longer seeds the user tier):
1. /brainstorm or $genie:brainstorm an idea → DESIGN.md → digest-bound mandatory design review
2. /wish or $genie:wish accepted DESIGN.md → a scoped WISH.md
3. /review or $genie:review mandatory plan review; persist APPROVED or concrete gaps
4. /work or $genie:work native role agents build each approved group
5. /review or $genie:review independent implementation review: SHIP, FIX-FIRST, or BLOCKED
These are manual invocation selectors. Codex starter cards embedded in each physical skill are selector-free, so the selected plugin-tier or user-tier card cannot redirect to its same-name copy in another tier.
Re-run genie board any time for a current snapshot of task state on the kanban. The plan documents land in git as you go; the operational state lives in .genie/genie.db.
brainstorm → design review → wish → plan review → work → implementation review, authored once for native Claude and Codex surfaces..genie/wishes/<slug>/ and .genie/brainstorms/<slug>/; you diff, review, and version them like any other code..genie/genie.db), on Bun's built-in engine.@inquirer/prompts, commander, zod, nats) — nats initializes only when the omni runner starts. A ~0.9 MB single-file bundle. Bun-powered.genie launch <slug> turns a wish's ready groups into a Warp window — one pane per group, each in its own git worktree running that group's agent on a kickoff prompt. Emitting the launch config works on any platform; opening it needs Warp (macOS/Linux). Everywhere else the config is still written for you to open by hand.genie --help
| Command | What it does |
|---|---|
genie init |
Scaffold per-repo state and reconcile project MCP files (.mcp.json, .warp/.mcp.json, and a marker-owned .codex/config.toml fallback when no installed, enabled, usable Genie plugin route is proven) |
genie launch |
Open a Warp cockpit for a wish — one pane per ready group, each in its own worktree |
genie board |
Kanban view of task state, derived live by query |
genie task |
Inspect and drive task state (SQLite, zero-daemon) |
genie install |
Run the installer-owned finishing step and explicitly install selected runtime integrations |
genie mcp |
Serve read-only Genie task/board state over stdio MCP |
genie omni |
Bridge agents to WhatsApp via Omni — remote approvals + inbound one-shots (serve, status, inbox, handshake) |
genie setup |
Configure Genie and install/repair runtime integrations |
genie doctor |
Run diagnostic checks on the installation |
genie hook |
Provider-neutral hook middleware with Claude/Codex wire adapters |
genie shortcuts |
Manage terminal keyboard shortcuts |
genie update |
Update Genie to the latest GitHub release |
genie uninstall |
Remove Genie and clean up its hooks |
genie help |
Show help for any command |
Skills are the product. Invoke them as /name in Claude, $genie:name from the Codex plugin, or $name only when intentionally selecting a corresponding personal user-tier copy you installed yourself:
| Skill | What it does |
|---|---|
brainstorm |
Explore a vague idea until it's a concrete DESIGN.md |
wish |
Turn a design into a scoped WISH.md with execution groups |
work |
Dispatch native role subagents wave by wave |
review |
Severity-gated verdict — SHIP, FIX-FIRST, or BLOCKED |
council |
Independent architecture, delivery, product, security, and dissent assessment |
Shared skill bodies use a runtime-neutral delegation contract. Codex maps it to the optional genie_* custom-agent profiles installed by the CLI; a plugin-only install still has skills but no custom agents. Codex subagents share a workspace, so task claims own scope; use genie launch when worktree isolation is required. The engineer reports completion, an independent reviewer returns a verdict, and only the orchestrator runs genie task done. /level-up remains Claude-only because it evaluates Claude Code mastery.
These five inventories are intentionally separate:
| Surface | What ships | Ownership |
|---|---|---|
| Codex plugin | 23 physical, in-root product skills with agents/openai.yaml; three untrusted hooks; MCP declaration |
Versioned |