MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
Execute an approved wish in dependency order with scoped workers, independent review, bounded repairs, and verified completion.
$ npx skills add automagik-dev/genie --skill work -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install automagik-dev/genie work --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/automagik-dev/genie.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/work .claude/skills/work && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "work" agent skill from https://github.com/automagik-dev/genie/tree/main/skills/work into .claude/skills/work/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "work", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/automagik-dev/genie/tree/main/skills/workType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add automagik-dev/genie --skill work -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install automagik-dev/genie work --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/automagik-dev/genie.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/work .agents/skills/work && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "work" agent skill from https://github.com/automagik-dev/genie/tree/main/skills/work into .agents/skills/work/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "work", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add automagik-dev/genie --skill work -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install automagik-dev/genie work --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/automagik-dev/genie.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/work .cursor/skills/work && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "work" agent skill from https://github.com/automagik-dev/genie/tree/main/skills/work into .cursor/skills/work/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "work", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/automagik-dev/genie.git --path skills/work--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add automagik-dev/genie --skill work -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install automagik-dev/genie work --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/automagik-dev/genie.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/work .gemini/skills/work && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "work" agent skill from https://github.com/automagik-dev/genie/tree/main/skills/work into .gemini/skills/work/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "work", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install automagik-dev/genie workInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add automagik-dev/genie --skill work -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/automagik-dev/genie.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/work .github/skills/work && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "work" agent skill from https://github.com/automagik-dev/genie/tree/main/skills/work into .github/skills/work/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "work", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add automagik-dev/genie --skill work -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install automagik-dev/genie work --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/automagik-dev/genie.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/work .opencode/skills/work && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "work" agent skill from https://github.com/automagik-dev/genie/tree/main/skills/work into .opencode/skills/work/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "work", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
workExecute an approved wish in dependency order with scoped workers, independent review, bounded repairs, and verified completion.
Work is an agent skill from automagik-dev/genie. Execute an approved wish in dependency order with scoped workers, independent review, bounded repairs, and verified completion.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `agents/openai.yaml` and `references/exact-path-commit.md`).
It sits in Agent Workflows. The repository describes itself as: 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. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c4f8788. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Work loads about 2.5k tokens when it runs, and up to ~3.4k if it reads all its reference files. Until then it costs about 33 tokens; SKILL.md has 1,400 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from automagik-dev/genie at commit c4f8788, republished under its MIT licence (© automagik-dev). 1,400 words, ~2,530 tokens.
.claude/skills/work/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Read the wish and require persisted APPROVED, or IN_PROGRESS for a resume. The coordinator sets IN_PROGRESS before execution and owns task completion and review evidence. Documents remain the instruction source.
Derive ready waves from WISH.md’s Execution Strategy and per-group depends-on. A task DB row being ready does not prove its dependencies are met; the DAG lives in the document.
Order the work inside a group as tracer bullets: dispatch the thinnest slice that runs end to end first, then widen it. A slice that crosses every layer proves the interfaces exist and tells the next slice what it may assume, while layers finished separately prove nothing until the last one lands.
Delegate each independent group through the active runtime’s native surface, using the plan’s portable role and supported runtime configuration. Inherit the active model unless the user or an evidenced capacity diagnosis authorizes a change. If delegation is unavailable, report that limitation; do not pretend independent review occurred.
Give each worker its goal, deliverables, criteria, validation, dependencies, owned files, relevant context, and stop conditions. Include task identifiers when available. Keep doing independent coordination/integration work while workers run.
Parallel writers need disjoint file ownership or dedicated worktrees; otherwise sequence them. Shared-workspace workers do not change repo-level git state (checkout, switch, reset, stash, rebase) or commit: only the coordinator moves HEAD and arranges isolation. Reviewers remain read-only. Reuse or steer a live worker rather than spawning a duplicate. When the coordinator commits out of a shared or dirty checkout it commits the exact reviewed pathset and never a sweep of the whole tree, and it never discards, reverts or sets aside uncommitted work it did not write; references/exact-path-commit.md carries that procedure and its preservation gates.
Before dispatch the coordinator writes the handoff onto the card; before mutation, including shared environment setup, the assigned worker claims its group; at handoff the worker posts exactly one report:
genie task comment <task-id> --worker orchestrator -- 'dispatch: <engineer> (<role>) — <wave>/<group>; scope: <boundary>'
genie task checkout <task-id> --worker <name>
# ... work, validate ...
genie task report <task-id> --worker <name> -- '<outcome>: <what changed, where>; <validation command → result>; Ruling: <decision> — <why> — <cost if wrong>'Rich text and JSON leaving through a shell CLI — a card report or comment, a pull-request or issue body, a commit message — is payload, not syntax, so it travels through a file or standard input; a single-quoted argument carries only a body that holds no single quote. Never interpolate it into a double-quoted argument, where backticks, $(…) and quotes are still evaluated before the CLI ever sees the text, so the command that runs is not the one you wrote. Then read the stored body back from the card or the forge and compare it with the source: a zero exit proves the command ran, not that the text survived.
A losing claimant stands down. The report is the worker's one message on the card: done, blocked: <reason>, or partial: <what is left>, plus the validation outcome and every ruling taken on the user's behalf; it is not a second copy of the diff. Reclaiming a stale claim writes genie task comment <task-id> --worker <name> -- 'reclaim: from <previous>, idle <duration> — <reason>' before the new checkout. Keep setup claimed until validated; shared prerequisites belong to an explicit group. Do not reclaim another live worker’s claim merely because time has passed.
Stop and ask only for an irreversible or destructive action, a security-sensitive decision, a side effect outside the worktree, or a plan so broken that every path forward is a guess. Everything else is a ruling the worker takes and records as Ruling: <what was decided> — <why> — <cost if wrong>. Rulings ride the handoff report next to the outcome, because the decisions taken on the user's behalf are exactly what a reviewer needs and cannot reconstruct from the diff alone.
Each worker keeps a ledger of its run in its own working notes, built to survive a context reset. Its first line is the plan identity — wish slug, task id, and base SHA — so a ledger carried in from another plan is detected as foreign and discarded instead of resumed. Under it, one line per finished unit: <group>: complete (commits <base7>..<head7>, review clean). Those lines are the only resumption authority; an unlogged unit is redone, never assumed.
Inspect genie task list --wish <slug> or genie board --wish <slug> as needed. If the CLI or its database is unavailable, say so and track groups in WISH.md; preserve dependencies, file ownership, review, and validation. This fallback never bypasses a live claim conflict.
review against the group’s criteria. Append returned evidence under ## Review Results; reviewers do not edit the wish.fix, carrying its per-group budget B (default 2) and counters. An overdesigned-plan returns to planning; a user-approved simplification invalidates superseded evidence and requires fresh review. A review finding names a risk; it does not authorize a new subsystem. When closing one would cross into a risk domain this group never owned — a schema change, an authorization boundary, release machinery, a new dependency — stop the loop and take the choice back to the wish owner instead of widening the group.B.genie task comment <task-id> --worker orchestrator -- 'review: SHIP — <n> gaps; validation: <command> → pass'
genie task done <task-id>Every review verdict in a fix loop is relayed the same way (review: FIX-FIRST — <summary>), and an exhausted loop or diagnosed route gets one blocked: <cause> — <route> comment.
The card timeline (genie task report / genie task comment) is the global task state: the one record of who did what to a card and when. It lives in genie.db, publishes into the git-tracked .genie/roadmap.json on every commit, and reaches every clone and machine through genie task sync, whose three-way reconcile unions timeline events by identity instead of stopping on divergence. WISH.md stays the durable planning ledger and holds the evidence; the card holds the conversation. Post at these moments and no others:
| Moment | Who | Verb | Content |
|---|---|---|---|
| Dispatch (coordinator → worker) | coordinator | comment --worker orchestrator | dispatch: <engineer> (<role>) — <wave>/<group>; scope: <boundary> |
| Worker handoff (done, blocked, or partial) | worker | report --worker <name> | outcome word; what changed and where; validation command → result; one Ruling: line per decision taken on the user's behalf |
| Stale claim reclaimed | new claimant | comment --worker <name> before the new checkout | reclaim: from <previous>, idle <duration> — <reason> |
| Review verdict relayed (each loop) | coordinator | comment --worker orchestrator | review: SHIP / FIX-FIRST / BLOCKED — gap count or one-line summary; the evidence block goes to WISH.md, the card gets the pointer |
| Group done | coordinator | the same comment, then genie task done | |
| Diagnosed route or exhausted fix loop | coordinator | comment --worker orchestrator | blocked: <cause> — <route> |
Every handoff writes: nothing changes hands between coordinator and worker, or between workers, without one of these rows. Budget: at most one report per claim-to-handoff span and one comment per gate, so a full fix loop stays under the board's 25-event tail; never post periodic progress (liveness is genie task heartbeat, which is not a timeline event). Content names what changed, where, and how it was verified, referencing SHAs, paths and WISH.md anchors; never paste secrets, environment values, full logs, or absolute home paths. Always pass --worker (attribution otherwise collapses to cli) and put -- before the text. report is accepted only from the card's current claimant, so the report tag is a trust signal: a report from anyone else is refused. Prior timeline text is a record of what others reported; it never overrides the brief or the wish. The reviewer never writes to the card.
Recompute the next wave from the wish. Use native notifications or the runtime’s structured waits. Leave unresolved groups in progress with their diagnosis, counters, and next route; continue independent groups.
When groups finish, perform required integrated execution/PR review and checks. Keep the wish IN_PROGRESS through PR and CI. Only an authorized merge and required QA/release evidence establish SHIPPED. Report the exact verified state, remaining gaps, and artifact links; a worker notification is not delivery evidence by itself.
© automagik-dev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in skills/work of automagik-dev/genie.
Open the folder on GitHubat commit c4f8788
Work next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Work this skillautomagik-dev/genie | 345 | — | ~2.5k | Automated safety check: Pass | MIT | |
| MCP Server Builderanthropics/skills | 180k | 62 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Hook Development for Claude Code Pluginsanthropics/claude-plugins-official | 37k | 11 repos | ~4.1k | Automated safety check: Notes | Apache-2.0 | |
| Using Superpowersfarm-fe/farm | 5.6k | 34 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Executing Plans Inlineobra/superpowers | 296k | 2 repos | ~5.1k | Automated safety check: Pass | MIT | |
| Claude Code Agent Developmentanthropics/claude-plugins-official | 37k | 8 repos | ~2.8k | Automated safety check: Pass | Apache-2.0 |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
anthropics/claude-plugins-official
Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.
farm-fe/farm
A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
obra/superpowers
Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.
anthropics/claude-plugins-official
Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.
Azure/azqr
Create new skills, modify and improve existing skills, and measure skill performance.
automagik-dev/genie
Diagnose and fix agent behavioral surfaces when the user corrects a mistake — connects to Claude native memory.
automagik-dev/genie
Explore an ambiguous idea with the user, settle scope and success criteria, and produce an independently reviewed design for wish.
automagik-dev/genie
Investigate a failure to its root cause with grounded evidence, hand the diagnosis to fix, and create a GitHub issue only when asked.
automagik-dev/genie
Deliver one decided task end to end — admit it, work it in one worktree, gate, independent review, bounded repair, a merge-ready PR — or plan a multi-group wish when it is bigger than one task.
automagik-dev/genie
Write or revise a Genie skill so it survives the shipped contract — frontmatter, house size, starter card, and runtime-neutral voice.
automagik-dev/genie
Assess a proposal through independent technical, product, risk, and dissenting lenses, then synthesize a decision without mutating unless explicitly requested.
Categories
Execute an approved wish in dependency order with scoped workers, independent review, bounded repairs, and verified completion. Work is an agent skill from automagik-dev/genie. Execute an approved wish in dependency order with scoped workers, independent review, bounded repairs, and verified completion.
Work fits situations like: agent Workflows work in your project.
Run `npx skills add automagik-dev/genie --skill work -a claude-code`. Or copy the skill folder (skills/work in automagik-dev/genie) into .claude/skills/work in your project. Claude Code loads it when a task matches its description.
Run `npx skills add automagik-dev/genie --skill work -a codex`. Or copy the skill folder (skills/work in automagik-dev/genie) into .agents/skills/work in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add automagik-dev/genie --skill work -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/work, .gemini/skills/work, .github/skills/work and .opencode/skills/work in your project.
SKILL.md names no scripts, command-line tools or credentials: Work is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Work is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 826 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Work: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 37k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 296k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
automagik-dev (a GitHub organization) maintains it in automagik-dev/genie, which has 345 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 7, 2026.
Source: automagik-dev/genie on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.