Godot Gdscript Patterns
925236118/AlphaAgent
Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.
Migrate a Cardinal game to world-engine v0.18 from v0.16.x (Run(w) systems, explicit Register calls, Entity handles) or from v0.17.x and the retracted v1.0.x (NewTestWorld system tests, pprof…
$ npx skills add Argus-Labs/world-engine --skill cardinal-migration -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Argus-Labs/world-engine cardinal-migration --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/Argus-Labs/world-engine.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/cardinal-migration .claude/skills/cardinal-migration && 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 "cardinal-migration" agent skill from https://github.com/Argus-Labs/world-engine/tree/main/.agents/skills/cardinal-migration into .claude/skills/cardinal-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cardinal-migration", 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/Argus-Labs/world-engine/tree/main/.agents/skills/cardinal-migrationType 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 Argus-Labs/world-engine --skill cardinal-migration -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Argus-Labs/world-engine cardinal-migration --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Argus-Labs/world-engine.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/cardinal-migration .agents/skills/cardinal-migration && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cardinal-migration" agent skill from https://github.com/Argus-Labs/world-engine/tree/main/.agents/skills/cardinal-migration into .agents/skills/cardinal-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cardinal-migration", 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 Argus-Labs/world-engine --skill cardinal-migration -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Argus-Labs/world-engine cardinal-migration --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Argus-Labs/world-engine.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/cardinal-migration .cursor/skills/cardinal-migration && 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 "cardinal-migration" agent skill from https://github.com/Argus-Labs/world-engine/tree/main/.agents/skills/cardinal-migration into .cursor/skills/cardinal-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cardinal-migration", 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/Argus-Labs/world-engine.git --path .agents/skills/cardinal-migration--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 Argus-Labs/world-engine --skill cardinal-migration -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Argus-Labs/world-engine cardinal-migration --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Argus-Labs/world-engine.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/cardinal-migration .gemini/skills/cardinal-migration && 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 "cardinal-migration" agent skill from https://github.com/Argus-Labs/world-engine/tree/main/.agents/skills/cardinal-migration into .gemini/skills/cardinal-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cardinal-migration", 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 Argus-Labs/world-engine cardinal-migrationInstalls 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 Argus-Labs/world-engine --skill cardinal-migration -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Argus-Labs/world-engine.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/cardinal-migration .github/skills/cardinal-migration && 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 "cardinal-migration" agent skill from https://github.com/Argus-Labs/world-engine/tree/main/.agents/skills/cardinal-migration into .github/skills/cardinal-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cardinal-migration", 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 Argus-Labs/world-engine --skill cardinal-migration -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Argus-Labs/world-engine cardinal-migration --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Argus-Labs/world-engine.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/cardinal-migration .opencode/skills/cardinal-migration && 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 "cardinal-migration" agent skill from https://github.com/Argus-Labs/world-engine/tree/main/.agents/skills/cardinal-migration into .opencode/skills/cardinal-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cardinal-migration", 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.
cardinal-migrationMigrate a Cardinal game to world-engine v0.18 from v0.16.x (Run(w) systems, explicit Register calls, Entity handles) or from v0.17.x and the retracted v1.0.x (NewTestWorld system tests, pprof…
Cardinal Migration is an agent skill from Argus-Labs/world-engine. Migrate a Cardinal game to world-engine v0.18 from v0.16.x (Run(w) systems, explicit Register calls, Entity handles) or from v0.17.x and the retracted v1.0.x (NewTestWorld system tests, pprof removed). Use when upgrading world-engine in a game repo, or when a build fails with errors like undefined: cardinal.BaseSystemState, undefined: cardinal.Ref, want Run(cardinal.World) or unknown field Pprof in struct literal of type cardinal.WorldOptions.
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including scripts and reference files (for example `agents/openai.yaml`, `references/bootstrap.md` and `references/entities.md`).
It sits in Game Development, covering Game development. It works with Go. The repository describes itself as: Seed of a new world. An onchain game engine, built for devs with ambition. (world/acc). The licence is LGPL-3.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 5f0797f. 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 2 files in scripts/ (Go), which the agent can run.
Shell commands in SKILL.md call:
goFrom 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.
Cardinal Migration loads about 2.3k tokens when it runs, and up to ~16k if it reads all its reference files. Until then it costs about 119 tokens; SKILL.md has 1,101 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); the scripts in this folder are not scanned.
The full file from Argus-Labs/world-engine at commit 5f0797f, republished under its LGPL-3.0 licence (© Argus-Labs). 1,101 words, ~2,274 tokens.
.claude/skills/cardinal-migration/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.Port a game to world-engine v0.18.0. v0.17 removed state-struct systems: systems are
types with Run(w *cardinal.World), every component, command, event and system event is
registered on the world before StartGame, and searches yield cardinal.Entity handles.
From v0.17.1, World CLI ships in the world-engine module, and the project's go.mod pins
it. v0.18.0 keeps that API, snapshot format and generated code. It adds
cardinal.NewTestWorld for system tests and removes the pprof server and the debug
StreamPerf RPC.
v1.0.0 and v1.0.1 are retracted. v1.0.1 is v0.17.1 plus the retraction, so migrate a
v1.0.1 pin as v0.17.1. Semver sorts it above v0.18.0, so go get must name the version.
Game behavior must not change. Do not merge, split, reorder or redesign systems while migrating. Leave game logic as it is, even where the new API invites a cleanup.
Skip the workflow below. The audit's old-API list is empty except for test reflection.
go get github.com/argus-labs/world-engine@v0.18.0 && go mod tidy.Pprof: from WorldOptions literals, and CARDINAL_PPROF from deploy config
(runtime.md, Telemetry).world sdk generate. The output must not change.cardinal.NewTestWorld (bootstrap.md, Testing one system). The
audit lists every test that reflects into cardinal.World to run Init systems or
enqueue commands. Those are the first to port.go run <skill-dir>/scripts/audit.go <game-root> and keep the output. It reports
the pinned versions, a count per old pattern with example locations, stale generated
code, and packages that look like Cardinal but do not import it.world (runtime.md, Versions). Run
world sdk generate <backend-dir> --no-emit on the untouched code, while go.mod still
pins the old release. Its undeclared list names every type an old field used
(component.Health (cardinal.Ref)): that is your registration checklist. Any other
violation is a wire shape ([]T, map, pointer or interface field). Each must be
converted before generation succeeds, and a large count is the biggest job of the
migration: see older-versions.md.github.com/argus-labs/world-engine/pkg/cardinal.
The audit lists look-alike packages (their own BaseSystemState, WithCommand, ...).
Leave them alone. If a look-alike imports the game's generated wire code or gen/
proto packages, stop and ask the user: World CLI does not generate code for its
types, so the first regenerate deletes what it imports.main.go. You will reproduce it exactly.| Step | Do | Read |
|---|---|---|
| 1 | Starting anywhere but v0.16.7 (older, or the v0.16.8/9 interim API): read that section first | references/older-versions.md |
| 2 | go get github.com/argus-labs/world-engine@v0.18.0, add the World CLI tool, go mod tidy, set go 1.27.1 | references/runtime.md |
| 3 | Add one register(w *cardinal.World) per shard: every Register* call, then plugins and systems in the recorded order | references/bootstrap.md |
| 4 | Convert each system | references/systems.md |
| 5 | Convert entity, component and search code | references/entities.md |
| 6 | Rewire plugins | references/plugins.md |
| 7 | Once go build fails only in wire code, delete stale wire.gen.go files and run the repo's world sdk generate | references/runtime.md |
| 8 | go build ./... && go vet ./... until clean, then go vet -tags per audit build constraint. Fix by the error tables | each reference |
| 9 | Port system tests to cardinal.NewTestWorld | references/bootstrap.md |
| 10 | Re-run the audit and world sdk generate --no-emit, then check every item the compiler cannot catch | references/hazards.md |
| 11 | Verify (Done when) |
Generation cannot run between steps 2 and 7. Once go.mod pins v0.18, discovery
type-checks the backend and stops with DISCOVERY FAILED while any system still uses
the v0.16 API.
Convert one package at a time. In large games, convert helpers that take a search
alias, *cardinal.BaseSystemState or cardinal.Ref[...] before their callers.
proto: cannot parse invalid wire-format data and the shard restart-loops. A v0.16.8-or-earlier build reading a
newer snapshot restores a wrong world without an error. From those versions, each
shard's snapshot must be deleted at deploy, and again before any rollback. v0.16.9,
v0.17.x and v1.0.1 snapshots load in v0.18 and back. Tell the user which case applies.
Locally, world purge deletes them with the whole local cluster. Never delete remote
snapshots yourself.e.ID() (a cardinal.EntityID) in components, commands, maps and system fields,
and rebind with w.Entity(id). Never keep a cardinal.Entity across ticks.e.Set(c), w.Broadcast(ev).
Pointers compile and panic.go build ./... and go vet ./... pass, and go vet -tags <tags> ./... with tags that
satisfy each build constraint the audit lists. go build skips test files.scripts/audit.go exits 0: no old API, no hazards, no stale generated code, and no
command, event, system event or component used without a Register* call.world sdk generate --no-emit reports nothing blocking, and every ORPHANS entry is
either registered or was unused in v0.16 too. --no-emit exits 0 on orphans.cardinal.RunDST(t, register, pre) on several seeds. Each seed fuzzes
a random subset of commands, and the seed is fixed per process, so -count repeats it.
Run separate processes, for example
for i in 1 2 3 4 5; do go test -count=1 -run DST ./shards/<id>/ || break; done.
Put commands that unlock deeper paths (a kill, a match start) in pre.
From v0.18.0, rerunning the same test with the logged TEST_SEED replays its op
schedule and command payloads. The per-test seed mixes in the test name, so keep it.
In v0.17.x, TEST_SEED does not reproduce a run that fuzzes any command; keep the
failing log's op_weights and stack trace instead.go test -tags <tags> ./...).
Tests that built state structs are rewritten as described in bootstrap.md (Tests).
System tests use cardinal.NewTestWorld (bootstrap.md, Testing one system). Ported
tests keep every scenario and assertion. Where the 1-second step clock changes what a
test observes, say so in the summary.© Argus-Labs, LGPL-3.0. 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 10 other files (scripts, references) in .agents/skills/cardinal-migration of Argus-Labs/world-engine.
Open the folder on GitHubat commit 5f0797f
Cardinal Migration 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 |
|---|---|---|---|---|---|---|
| Cardinal Migration this skillArgus-Labs/world-engine | 117 | — | ~2.3k | Automated safety check: Pass | LGPL-3.0 | |
| Godot Gdscript Patterns925236118/AlphaAgent | 103 | 10 repos | ~5k | Automated safety check: Pass | MIT | |
| Sprite Genaldegad/sprite-gen | 2.6k | — | ~4.8k | Automated safety check: Pass | Apache-2.0 | |
| 2D Map and Scene Generator0x0funky/agent-sprite-forge | 4.4k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Fantasy Framework Development Guideqq362946/Fantasy | 1.4k | — | ~5.8k | Automated safety check: Pass | Custom licence | |
| Dev StoryDonchitos/Claude-Code-Game-Studios | 26k | — | ~2.4k | Automated safety check: Notes | MIT |
925236118/AlphaAgent
Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.
aldegad/sprite-gen
Generates images and game sprites through GPT or Grok with guided provider choices, separate saved defaults, automatic cleanup and optional curation.
0x0funky/agent-sprite-forge
Plans and builds 2D game maps and scenes, from tilemaps and parallax backgrounds to HD-2D plates, with collision checks, a playable HTML preview and Tiled, Godot or LDtk export.
qq362946/Fantasy
Development and review guide for the Fantasy C# distributed game server framework: ECS, FTask, routing, service discovery, config and databases.
Donchitos/Claude-Code-Game-Studios
Implement a story: ADR guidelines, right programmer agent, code plus test.
trekawek/coffee-gb
Plays an authorized Game Boy or Game Boy Color ROM in one persistent headless Coffee GB session, inspecting frames and keeping an action trace for replay or tests.
Argus-Labs/world-engine
Apply Scott's Go engineering conventions when designing, editing, or reviewing Go code.
Argus-Labs/world-engine
Design, edit, or review Go command-line tools and terminal interfaces, including Kong commands and Bubble Tea behavior.
Works with
Categories
Migrate a Cardinal game to world-engine v0.18 from v0.16.x (Run(w) systems, explicit Register calls, Entity handles) or from v0.17.x and the retracted v1.0.x (NewTestWorld system tests, pprof…. Cardinal Migration is an agent skill from Argus-Labs/world-engine.x (NewTestWorld system tests, pprof removed).
Cardinal Migration fits situations like: upgrading world-engine in a game repo; A build fails with errors like undefined: cardinal.BaseSystemState; undefined: cardinal.Ref; want Run(cardinal.World).
Run `npx skills add Argus-Labs/world-engine --skill cardinal-migration -a claude-code`. Or copy the skill folder (.agents/skills/cardinal-migration in Argus-Labs/world-engine) into .claude/skills/cardinal-migration in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Argus-Labs/world-engine --skill cardinal-migration -a codex`. Or copy the skill folder (.agents/skills/cardinal-migration in Argus-Labs/world-engine) into .agents/skills/cardinal-migration 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 Argus-Labs/world-engine --skill cardinal-migration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cardinal-migration, .gemini/skills/cardinal-migration, .github/skills/cardinal-migration and .opencode/skills/cardinal-migration in your project.
Going by SKILL.md and its folder, Cardinal Migration needs Go for the scripts in its folder and the command-line tools its instructions call (go).
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Cardinal Migration is published under the LGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.1k 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 14k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Cardinal Migration: Godot Gdscript Patterns (925236118/AlphaAgent, 103 stars), Sprite Gen (aldegad/sprite-gen, 2.6k stars), 2D Map and Scene Generator (0x0funky/agent-sprite-forge, 4.4k stars) and Fantasy Framework Development Guide (qq362946/Fantasy, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Argus-Labs (a GitHub organization) maintains it in Argus-Labs/world-engine, which has 117 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 9, 2026.
Source: Argus-Labs/world-engine on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.