Migrate Core Code to Submodules
tinyhumansai/openhuman
Plans and carries out moving non-host-specific code and its tests from the OpenHuman core into vendored tiny submodule libraries, then releases the submodule and re-pins the host.
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.
$ npx skills add automagik-dev/genie --skill wish -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install automagik-dev/genie wish --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/wish .claude/skills/wish && 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 "wish" agent skill from https://github.com/automagik-dev/genie/tree/main/skills/wish into .claude/skills/wish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wish", 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/wishType 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 wish -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install automagik-dev/genie wish --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/wish .agents/skills/wish && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "wish" agent skill from https://github.com/automagik-dev/genie/tree/main/skills/wish into .agents/skills/wish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wish", 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 wish -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install automagik-dev/genie wish --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/wish .cursor/skills/wish && 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 "wish" agent skill from https://github.com/automagik-dev/genie/tree/main/skills/wish into .cursor/skills/wish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wish", 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/wish--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 wish -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install automagik-dev/genie wish --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/wish .gemini/skills/wish && 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 "wish" agent skill from https://github.com/automagik-dev/genie/tree/main/skills/wish into .gemini/skills/wish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wish", 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 wishInstalls 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 wish -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/wish .github/skills/wish && 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 "wish" agent skill from https://github.com/automagik-dev/genie/tree/main/skills/wish into .github/skills/wish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wish", 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 wish -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 wish --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/wish .opencode/skills/wish && 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 "wish" agent skill from https://github.com/automagik-dev/genie/tree/main/skills/wish into .opencode/skills/wish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wish", 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.
wishDeliver 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.
Wish is an agent skill from 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.
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including reference files (for example `agents/openai.yaml`, `references/design-preflight.md` and `references/native-fallback.md`).
It sits in Development, covering Git worktrees. 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.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f07c26f. 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.
Ships script files (TypeScript and JavaScript), which the agent can run.
Shell commands in SKILL.md call:
bungitnpxmakejustmvngradlenpmghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, npx, npm and gh, which can reach the network depending on how they are called.
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.
Wish loads about 3.7k tokens when it runs, and up to ~17k if it reads all its reference files. Until then it costs about 50 tokens; SKILL.md has 2,059 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 f07c26f, republished under its MIT licence (© automagik-dev). 2,059 words, ~3,654 tokens.
.claude/skills/wish/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub./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.
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.
The scout is read-only and estimates the work: files, insertions, independent units. The script (the parent coordinator in native mode) applies the size band from the wish-duration study — maximum 25 files and 2,000 insertions, the hard maxima; 3 units, advisory; ideal 10, 800, 2 — and a blind judge that never sees the repository decides the route: proceed, report (the cause is unknown), brainstorm (a product decision is open, or a linked design fails its preflight), or plan (too big, or the change touches a trust-boundary path: workflows, hooks, settings, release scripts, permission surfaces). Any route but proceed returns refused with nothing created. One more admission stop follows the route: when no check command froze and the validation command was refused, the run ends blocked at admission, before a worktree, a branch or an executor exists, because in that contract every hook mode ends at the same empty command. The reason names the refusal and the escape, a caller validation.
A run returns {ok, state, route?, contract, estimate, diff, head, branch, worktree, pr?, checks, review, gate, gateCommand, repairs, injectionAttempts, notConvened, scoutMikro, report}; gateCommand is the last gate's {command, mode} chosen from the contract (check, no-hook-system or no-check-command), null when no gate answered. Relay the saved workflow's report unchanged; in native mode the parent renders these same fields and state meanings from observed evidence. Run genie wish report <runId> --append and relay its output only when execution supplies a real report-compatible workflow run record and its runId. Native execution without that record explicitly reports accounting unavailable: observed evidence only, no fabricated run ID, token/time metrics or ledger append. state is one of:
merge-ready — checks pass, the remote head equals the local head, the PR's base, head and file set equal the frozen contract, and the verdict is SHIP.pr-open — the PR exists but the checks had not concluded; re-read them with gh pr checks <n> before acting.refused — admission chose a route; nothing was created.blocked — at admission (a refused validation command with no check command frozen: no worktree, branch or executor exists), before publish (a worktree, dead hooks in a repository that has a hook system, no validation command in one that has none, a hook system with neither a check nor a validation command to run, a denylist hit or a BLOCKED review verdict), at publish (the host carries no gh, so nothing was pushed and no credential was sought), or at read-back after publish (a failing check or a structural mismatch, with the PR preserved and named); the reason names which. When a PR exists, inspect it before any rerun.missed — the repair budget ran out, or a stage threw or returned nothing; the branch, commit, worktree and any PR are preserved and named.notConvened holds only agents that returned nothing; they were never counted as a pass. Merge, SHIPPED, dev→main promotion and worktree removal stay with the operator: after merge, git worktree remove <path> && git branch -d wish/<slug> (non-forcing, so an unmerged branch is refused). Retry after missed or blocked is a rerun with the same objective and slug; it adopts the named worktree when it is clean and nothing has diverged from the remote, and is otherwise blocked with a diagnostic that shows the unpushed work. The workflow never deletes a worktree or a branch.
These clauses are the lifecycle's, restated nowhere else; the parity test pins them to the skills they come from, as it does the two rules the plan entry borrows from work and quotes there.
review: "The reviewer is different from the author and remains read-only."fix: the repair budget is "default 2 when the key is unset".work: "a worker notification is not delivery evidence by itself."The direct entry for work that is bigger than one task. Do not run admission; write the plan. An existing wish is resumed by editing it in place — the scaffold below refuses a destination that exists, and task rows and Run/Task/Dispatch identifiers already in use are reconciled before anything new is created. Use brainstorm when unresolved decisions prevent testable criteria. Write .genie/wishes/<slug>/WISH.md from the bundled template. Documents hold the plan and dependency DAG; the selected runtime holds execution state, and work executes the approved plan.
Before creating or changing a wish that links a brainstorm, run the design preflight in references/design-preflight.md and take its outcome as final. Missing evidence, a non-SHIP verdict, or a content-digest mismatch cannot be waived. Never repair the failure with a locally recomputed digest.
<!-- wish-scaffold-command:start -->
set -eu
WISH_SKILL_DIR='<absolute directory containing this SKILL.md>'
WISH_SLUG='<slug>'
case "$WISH_SLUG" in
''|*[!a-z0-9-]*|-*|*-) printf 'invalid wish slug: %s\n' "$WISH_SLUG" >&2; exit 2 ;;
esac
WISH_DEST=".genie/wishes/$WISH_SLUG/WISH.md"
test -f "$WISH_SKILL_DIR/templates/wish-template.md"
test ! -e "$WISH_DEST"
mkdir -p "$(dirname "$WISH_DEST")"
cp "$WISH_SKILL_DIR/templates/wish-template.md" "$WISH_DEST"<!-- wish-scaffold-command:end -->
Fill {{slug}}, {{date}}, and every TODO. Preserve the template’s machine-consumed structure exactly: the # Wish: title, the metadata table rows, and the sections ## Summary, ## Scope with ### IN and ### OUT, ## Decisions, ## Simplicity Case, ## Dependencies, ## Success Criteria, ## Execution Strategy, ## Execution Groups holding at least one ### Group <n>: heading, ## QA Criteria, ## Assumptions / Risks, ## Review Results, and ## Files to Create/Modify. Inside every group keep the **Goal:**, **Deliverables:**, **Interfaces:**, **Acceptance Criteria:**, **Validation:**, and **depends-on:** blocks, and keep the Execution Strategy columns including Complexity and Model. Use portable roles/reasoning effort in the plan; runtime configuration selects actual models.
Pass the simplicity gate: state the smallest complete design, justify added machinery with present requirements or measurements, and keep deferred mechanisms out of execution. Give each group a goal, owned files, deliverables, testable criteria, dependencies, and a non-zero validation command; the repository’s required gate is sufficient rationale and a group’s own checks never replace it: preserve repository-required aggregate gates. Parallel writers need disjoint file ownership or dedicated worktrees; otherwise sequence them. Size the plan by the study: a group that would exceed the admission band is a sibling wish, not a bigger group. Declare wish-level **depends-on:** and **blocks:** under ## Dependencies (comma-separated slugs or none), plus per-group **depends-on:**. Fill each group's **Interfaces:** block with exact signatures, and copy the plan-wide requirements into **Global constraints:** verbatim. A wide refactor sequences expand, migrate, contract, with green promised only in a final integrate-and-verify group.
.genie/wishes, in any repository:genie wish lintIt reports structure only — template sections, the Status and Date metadata, the Execution Strategy routing columns, brainstorm links that resolve — writes nothing, and exits 0 clean or 1 with findings; --dir <repo> names another checkout. In the Genie repository the same linter is also a required stage of the repository gate, reached through its alias grep -q '"wishes:lint"' package.json 2>/dev/null && bun run wishes:lint. A linter the project does not provide is reported as a finding, and a linter that runs and fails blocks handoff.
2. Obtain independent review of the completed plan. The caller appends its evidence under ## Review Results and persists APPROVED, FIX-FIRST, or BLOCKED. work requires APPROVED on disk.
3. Create missing task rows per group (genie task create --title "<group title>" --wish <slug> --group <group-name>) and inspect for duplicates before retrying; an unavailable CLI is reported, never bypassed.
4. After APPROVED, run genie context --wish <slug> to record the wave base SHA.
Load references/native-fallback.md relative to this loaded SKILL.md before dispatch. It is the standalone execution guide for Admit, Work, Gate, Review, Repair, Publish, Read-back and Render, sufficient when the saved scripts and their runner are absent. The parent is the coordinator: dispatch native subagents with explicit briefs and prior outputs, enforce dependencies and transitions, and render the result; do not build another saved workflow. Follow the guide's discovery, frozen-contract, gate, independent-review, bounded-repair and publication safeguards, including SHIP plus a green gate before publish. Its enforcement is procedural, not script-level automation; accounting follows Relay above.
© 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 6 other files (references) in skills/wish of automagik-dev/genie.
Open the folder on GitHubat commit f07c26f
Wish 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 |
|---|---|---|---|---|---|---|
| Wish this skillautomagik-dev/genie | 346 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Migrate Core Code to Submodulestinyhumansai/openhuman | 42k | — | ~2.6k | Automated safety check: Pass | GPL-3.0 | |
| Build Px4 macOSPX4/PX4-Autopilot | 13k | — | ~1.1k | Automated safety check: Pass | BSD-3-Clause | |
| WorktreeAgentsMesh/AgentsMesh | 2.4k | — | ~553 | Automated safety check: Notes | Custom licence | |
| Git Worktree IsolationjnMetaCode/superpowers-zh | 8.3k | 1 repos | ~982 | Automated safety check: Pass | MIT | |
| Cursor Composer Task DelegateChachamaru127/claude-code-harness | 3.2k | — | ~4.4k | Automated safety check: Notes | MIT |
tinyhumansai/openhuman
Plans and carries out moving non-host-specific code and its tests from the OpenHuman core into vendored tiny submodule libraries, then releases the submodule and re-pins the host.
PX4/PX4-Autopilot
Build PX4 board firmware on macOS in the px4-dev Docker container, including git worktrees, and stage commit-labeled artifacts without flashing hardware.
AgentsMesh/AgentsMesh
Creates or reuses an isolated AgentsMesh Git worktree from a verified base branch, preserves existing changes, and optionally starts the worktree-scoped development environment.
jnMetaCode/superpowers-zh
Sets up an isolated workspace before feature work or plan execution, preferring native worktree tools and falling back to git worktree, with instructions in Chinese.
Chachamaru127/claude-code-harness
Hands one implementation task to Cursor Composer in an isolated git worktree, then reviews its diff and cherry-picks the result into the main branch.
k8zdev/k8z
Automate git worktree creation and copy private files (not tracked in git) to new workdirs.
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
Execute an approved wish in dependency order with scoped workers, independent review, bounded repairs, and verified completion.
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
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. Wish is an agent skill from 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.
Wish fits situations like: tasks that involve Git worktrees.
Run `npx skills add automagik-dev/genie --skill wish -a claude-code`. Or copy the skill folder (skills/wish in automagik-dev/genie) into .claude/skills/wish in your project. Claude Code loads it when a task matches its description.
Run `npx skills add automagik-dev/genie --skill wish -a codex`. Or copy the skill folder (skills/wish in automagik-dev/genie) into .agents/skills/wish 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 wish -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wish, .gemini/skills/wish, .github/skills/wish and .opencode/skills/wish in your project.
Going by SKILL.md and its folder, Wish needs TypeScript and JavaScript for the scripts in its folder and the command-line tools its instructions call (bun, git, npx, make, just and mvn). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use git, npx, npm and gh, which can reach the network depending on how they are called. 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.
Wish is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k 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 13k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Wish: Migrate Core Code to Submodules (tinyhumansai/openhuman, 42k stars), Build Px4 macOS (PX4/PX4-Autopilot, 13k stars), Worktree (AgentsMesh/AgentsMesh, 2.4k stars) and Git Worktree Isolation (jnMetaCode/superpowers-zh, 8.3k 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 346 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 8, 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.