Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add automagik-dev/genie --skill wishgit clone --depth 1 https://github.com/automagik-dev/genieWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/automagik-dev/genie/wish)<a href="https://agentmods.dev/skills/automagik-dev/genie/wish"><img src="https://agentmods.dev/badge/skills/automagik-dev/genie/wish/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/automagik-dev/genie/wish"><img src="https://agentmods.dev/badge/skills/automagik-dev/genie/wish.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00047 | $0.03316 |
| Opus 5.5 | $0.00019 | $0.01326 |
| Sonnet 5.5 | $0.00009 | $0.00663 |
| Haiku 4.5 | $0.00005 | $0.00332 |
Grade A, and why
wish scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 22d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 86 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Wish
/wish is one task delivered, as soon as possible. Give it a decided, bounded objective and it comes back with a merge-ready PR against the base branch, or with a refusal that names the route the request needs instead. Everything else in the lifecycle — brainstorm, plan review, work over many groups, fix, verify — is auxiliary to that.
Prefer the saved workflow: .claude/workflows/wish.js in the genie repository's workflow catalog (see .claude/workflows/README.md there) is authoritative for saved execution. On a runtime that runs saved workflows, run the script at <repository root>/.claude/workflows/wish.js when that file exists, otherwise ~/.claude/workflows/wish.js (delivered by genie install / genie update); give the runtime that explicit script path, never a bare name — both scopes now carry these names and the order a name resolves in is undocumented — and relay the returned result unchanged. If the runtime cannot run saved workflows or neither script exists, use the native fallback below; it needs neither script nor its runner.
Invoke
Pass {objective, issue?, context?, slug?, base?, repairBudget?, model?, gateModel?, publishModel?, check?, install?, validation?, timestamp} through args, or record them as coordinator input in native mode. objective is the one task, frozen: no stage re-asks, narrows or widens it. issue is a number or URL the scout reads and the PR links. context is frozen caller context (a file set, a decision reference) framed as data. slug names the branch wish/<slug> and the worktree .claude/worktrees/wish-<slug>; pass the brainstorm slug when one exists so the design preflight and the branch agree. base defaults to dev; anything that is not a plain branch name, and any spelling that resolves to the default branch (main, master, HEAD, origin/main, refs/heads/master), is rejected before any agent runs. repairBudget defaults to 2 and is capped at 3; pass the value of genie config get budgets.maxEscalationsPerGroup when the repository sets one. Saved execution uses the script's configured worker and reasoner tiers. model pins one model for every stage. gateModel and publishModel pin the two mechanical stages — the gate runs the repository check and reads an exit code, the publisher runs an allowlisted push/PR sequence — and win over model; the order is gateModel/publishModel, then model, then the tier. Native execution uses available role-appropriate models with that override precedence. The scout discovers the repository's check and install commands from its own root files (package.json scripts and the lockfile, or a Makefile, justfile or Taskfile target) and quotes what each one runs. The script, never the judge, writes them into the contract at the judge step, and freezes one empty when it is not exactly one of the forms the discovery rules produce, when the scout quoted nothing for it, or when its text or quoted body spells an obvious push, remote change or publish. In native mode the parent coordinator takes this discovery-validation and freezing responsibility, freezing the objective, scope and acceptance criteria before edits. check and install override them and face only that last test, on the command as written. It is a check against obvious push and publish commands, not a guarantee: it reads only the command and the quoted bodies one level deep, so a variable, an encoded string, a script the body calls, or a quote that does not match the file passes it. validation is the one command the gate runs verbatim when the repository has no hook system or no check command: without it the script freezes the judge's or the scout's answer to ONE focused test invocation over the declared file set — a runner from the closed list, no second command, and after the runner only files the declaration carries (a bare name with no / included) plus a tiny per-runner allowlist (--bail for bun test, -- for the script runners, run for npx vitest). Every other flag is refused, since a flag can load, configure or run code, and so are VAR=value, shell syntax, a .. segment, an absolute path and @file; a task runner (make test, just test, task test, rake test, tox, nox, mvn test, gradle test and the wrappers) takes no argument at all. That bounds what the command can name, not what the declared test files do when they run. validation overrides that answer, exempt from the shape and still checked as written. A refused answer stops the run at admission only when no check command froze (none discovered, or the one proposed was refused), because then the gate's only possible command is the validation command whatever the hook system; with a frozen check command, whether a refused validation command matters depends on a hook system only the gate classifies, so that stop stays at the gate. /wish runs the repository's own install and check commands, and an install such as npm ci runs every dependency's install scripts, so point it only at repositories you trust. timestamp is the caller's clock; the workflow has none.
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 22d ago Changed a641967c5ebf
- 25d ago Changed 23d9108f82cd
- 28d ago Changed 20c871566f7d
- 1mo ago Changed · -3 lines a6f37c0fe953
- 1mo ago Changed fd9098df7f5b
- 1mo ago Changed · +10 lines · +23 tokens per session e20bd80268fe
- 1mo ago Changed · -35 lines · +2 tokens per session 7be7311770b3
- 1mo ago First seen · 114 lines · 22 tokens per session scan A 7b58f5de3012
wish is a skill published in the GitHub repository automagik-dev/genie (345 stars, last pushed today), licensed MIT. It adds 47 tokens to every session and 3,316 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
telegram
Telegram Bot skill for sending and editing Telegram messages via Bot API. Use when Bub needs to: (1) Send a message to a Telegram user/group/channel, (2) Reply to a specific Telegram message with replytomessageid, (3) Edit an existing Telegram message, or (4) Push proactive Telegram notifications. Prefer rich…
gh
GitHub CLI skill for interacting with GitHub via the gh command line tool. Use when Bub needs to (1) Create, view, or manage GitHub repositories, (2) Work with issues and pull requests, (3) Create and manage releases, (4) Run and monitor GitHub Actions workflows, (5) Create and manage gists, (6) Install and manage…
static
Stash is your personal home for agent work. Everything you create is scoped to your account — it is yours alone, with nothing to pick or set up first. Your Stash has three primary surfaces.
brief
Brief the user on what they saved in a period — the thread running through it, not a list.
resurface
Pick a few old saves worth revisiting now, and say why now.
cleanup
Find duplicates, dead links and untagged items in a saved library and propose what to do about each.