open-game-skills

agent
Security Audit
Warn
Health Warn
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 6 GitHub stars
Code Pass
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Open-source agent skill cluster for games: engine-neutral feel/camera/combat + studio presets (Nintendo/Zelda, Capcom, Konami, Blizzard, indie) + Three.js/PixiJS/Unity/Unreal/Godot adapters + 2D/Spine + art pipeline. by jammyfu / PaintingCoder

README.md

open-game-skills

open-game-skills

English · 简体中文 · 繁體中文 · 日本語 · 한국어

Generic agent skills for making games.
Speak normally. The dispatcher picks skills and columns.
Studios and engines are columns you stack — not games you clone.

repo license lang

Open-source skill cluster for OpenClaw, Claude Code, Codex, Cursor, and anything that reads SKILL.md.

Speak first

Install the pack. Point the agent at skills/SKILL.md. It loads dispatcher and answers in this shape:

USE:
- <skill> / <column>
ENGINE: none | unknown | custom | threejs | pixijs | phaser | cocos | godot | unity | unreal
ASK: <one necessary question or empty>
DEFER: <later phases or empty>

You do not name files. At most three specialized skills (including assets/2D) plus one necessary engine per phase. Continue with deferred work. none means design-only work needs no engine; unknown means unresolved; custom means an actual custom runtime, not a guessed default.

Read the shared contract for scope and evidence rules. The complete generated catalog lists every skill; the tables below are highlights, not the full inventory.

You say Agent should load
Capcom-like 3D fighter fighting-design / grounded-footsies · action-feel / short-special · kb-mouse-map / fighter-plane
Open world, no quest arrows world-map / open-air · camera-anti-clip / orbit-third
Jump feels floaty platform-jump · jump-leniency
Can a stranger finish this? gameplay-validation / real-input
Stun is too long / elite has no punish hitstun-recover · enemy-kit-balance
Cutscene should give the stick back cutscene-handoff
Invasive low-angle character framing camera-modesty / modest
Moving platform + lava moving-platform · hazard-volume
Branching dialogue dialogue-flags
Rhythm timing / deckbuilder rhythm-judge or deck-build

How it stacks

engine adapter     custom / three.js / PixiJS / Phaser / Cocos / Godot / Unity / Unreal
        ↓
discipline         feel · kit · traversal · camera · world · validate …
        ↓
one column         short-special · consume · drift-kart · region-tier …

One combat clock per actor. One wear column per item. A studio name only picks columns.

Engine adapters bind six primitives: poll_input · now_logical_frame · play_pose · query_hits · apply_knockback · juice_hook.

Iron laws

  1. Hitstop ≠ hitstun. Hitstop freezes both colliding clocks. Hitstun is what the victim cannot do after that. Advantage = victim first-action tick − attacker first-action tick. Stun minus remaining recovery is only the equal-clock special case.
  2. Do not balance a monster by stealing player i-frames or stretching player stun. Tune tell, recover, cooldown, then damage, then HP.
  3. A teleported / unlocked / debug session is not a natural clear. Label it.
  4. IAP and cosmetics do not change cancel windows or hurtboxes.
  5. Do not copy a finished stage or frame table into the rules. Columns only.

Frame windows and accept tests live in each SKILL.md.

Catalog highlights (one line each)

Feel & clock

Skill What it is for
action-feel Buffer, cancel, hitstop, and the combat clock. Ask the column first.
combo-design Confirm routes and decay. Infinite stun is a bug.
hitstun-recover How long the victim cannot act after hitstop ends.
knockback-launch Pop-up and launch tables, not a second gravity.
knockback-body Sweep the walk capsule so a launch does not embed in a wall.
landing-lag Grounded recover after an aerial. Empty hop is short; attack land is long.
juice-vfx Flash and shake after the logical hit, never instead of it.
audio-feel Beds and one-shots on the same clock. Retry must not stack the old track.
haptic-rumble Pad rumble on the juice beat. Off must not change windows.
super-meter Super / burst as a published bar. It does not silently rewrite hitstop.

Combat kit

Skill What it is for
fighting-design Neutral, space, and grounded-footsies vs air-juggle columns.
enemy-kit-balance One job per body. Tune tell and punish before HP.
attack-tell Startup the player can read. A flash is never the only warning.
hyper-armor Armor as data on the move, after the tell.
parry-guard Block and parry windows as move rows.
dodge-iframe I-frames live on the dodge row, not as a hidden global.
throw-tech Grab vs strike. A throw box is not a punch box.
wakeup-oki Knockdown and get-up options. Infinite down is a bug.
boss-design Phases swap jobs. A phase is not silent extra damage.
hitbox-hurtbox Strike vs hurt vs grab volumes on the logic tick.
collision-layers Who hits whom. The render mesh is not the hurtbox.

Traversal

Skill What it is for
locomotion Walk, run, analog vs snap. One loco graph per actor.
platform-jump Height, apex time, coyote, buffer. Levels must work without coyote.
moving-platform Rider inherits platform velocity. Crush is published or yields.
climb-vault Mantle and climb as verbs with stamina cost.
grapple-swing Hook is a move, not flight.
swim-water Surface vs dive, breath clock, exit onto ground.
hazard-volume Spikes, lava, tick damage. Tell before the first tick.
ik-foot-locking Planted feet on slopes. IK is presentation, not a second collider.

Camera & input

Skill What it is for
camera-anti-clip Keep the body on screen. Do not tunnel through walls.
camera-modesty Keep character framing modest. Reject invasive low angles and private-zone close-ups.
lock-on-target Lock mark, facing, and camera agree. Occlusion and death drop lock.
kb-mouse-map Jobs to keys/mouse per genre. Look is not a gesture.
browser-input Pointer lock fallback, touch split, menus vs play.
cutscene-handoff Scene owns the camera, then returns look + verbs on a marked point.
input-design Few buttons, context layers, no stolen menu keys.

World & growth

Skill What it is for
world-map How information is earned. Player pins, not full-map quest arrows.
ability-gate Teach the verb on the safe side of the door.
skill-tree Options, not silent +frames.
difficulty-design Space, resources, or numbers — pick one scaler.
equipment-progression Replace / tree / affix / fuse / eternal, per slot.
durability-economy Consume, sharpness, repair, or unbreakable. One column per item.
dialogue-flags Choices write flags, not hitstun.

Validation

Skill What it is for
gameplay-validation Logic green ≠ a stranger can finish. Separate game bugs from harness bugs.
gameplay-capture Select real-challenge, feature-demo or debug-stage; label altered unlocks.
game-planning Smallest playable beat before the map grows.
game-localization Glossary, fonts, layout. Combat text must stay readable.

Other genres

Skill What it is for
racing-feel Drift / boost / grip columns. No silent rubber-band.
rhythm-judge Timing windows against a declared song or action clock, with calibrated input timestamps.
deck-build Cards are verbs. They do not buy cancel windows.
roguelike-run One seed, one death rule. Meta unlocks options, not dark damage.
game-monetization Play first. Cosmetics do not change judgment.

Engines

Skill What it is for
custom Bind the six primitives on your own loop.
threejs Browser 3D adapter.
pixijs Browser 2D adapter.
phaser Phaser browser 2D adapter.
cocos Cocos / minigame adapter.
godot Godot adapter.
unity Unity adapter.
unreal Unreal adapter.

Missing name? Say it in speech. Dispatcher maps synonyms in ZH / EN / JA / KO.

Install

git clone https://github.com/jammyfu/open-game-skills.git
cd open-game-skills
python3 tools/install.py --target "$HOME/.openclaw/workspace/skills"
python3 tools/install.py --target "$HOME/.claude/skills"

Then talk. Do not paste the catalog into the prompt.

The target is your configured agent skills directory; these paths are examples. The installer creates parents and refuses unrelated existing files or links. Use --dry-run to preview, or --copy when symlinks are unavailable (copies require manual updates). Python 3.10+ is required; on Windows use python and an explicit path. Keep the whole pack together. Host auto-discovery still needs separate validation. See development checks.

Update an existing installation

Run from the repository after committing or separately saving your local changes. A diverged branch must be reconciled; do not force-reset it.

git switch main
git pull --ff-only origin main

Symlink installations use the updated source immediately. For --copy installations, explicitly back up or move the old installed directory before copying again; the installer does not overwrite it. Updating this pack does not update a game or reconfigure an agent host.

Development checks

Use Python 3.10+ in a virtual environment. Run from the repository root. On Windows, replace python3 with python in these examples.

python3 -m pip install -r requirements-dev.txt
python3 -m unittest discover -s tests -v
python3 tools/skill_quality.py --check-catalog

After adding, removing or renaming a skill, regenerate the catalog and rerun the tests:

python3 tools/skill_quality.py --write-catalog --check-catalog

These commands check metadata, local references, catalog consistency, installer behavior and shared README facts. They do not establish LLM routing accuracy, engine compatibility, human playability or translation quality. See CONTRIBUTING.md for the verification scope. Remaining deep skill reviews are not implied complete.

Engineering skills

Each skill includes a contract example and normal, boundary and adversarial evaluation scenarios. These are authored cases, not executed tests.

Skill Responsibility
game-state-flow Whole-game transitions, stale tasks and idempotent settlement.
asset-runtime Loading, shared leases, cancellation and resource disposal.
procedural-generation Versioned generation, reachable progression and bounded repair.
terrain-surface Chunk seams, slopes, shoreline and collision agreement.
world-streaming Cell readiness, residency, fast travel and persistent deltas.
physics-interaction Pushing, carrying, throwing and motion ownership.

Workflow · Scoped registry · Evaluation records

python3 tools/engineering_quality.py

The registry covers these six contracts only. The command checks structure and imported-record consistency, not model behavior; without results all 18 cases are not-run. It does not invoke a model or certify an engine implementation.

License

MIT. Game names belong to their owners. Skills describe public principles and selectable columns, not ripped stages or private source.

by jammyfu / PaintingCoder

Open assets before generation

Use open-asset-fixture to prepare test inputs from existing 2D/3D, animation, sound, VFX, PBR and HDRI libraries. See the reviewed source guide and usage/status reference. Prefer compatible verified local locks, then free CC0 candidates; CC-BY requires attribution opt-in. Exact requirements outrank appearance. No automatic downloads, paid-tier access or generation happens in the scripts.

python3 skills/assets/open-asset-fixture/scripts/prepare_assets.py --skill materials
python3 skills/assets/open-asset-fixture/scripts/prepare_assets.py --all-skills skills/catalog.json --output asset-plan.json
python3 skills/assets/open-asset-fixture/scripts/prepare_assets.py --skill juice-vfx --root /absolute/fixtures --locks /absolute/fixture.lock.json --pinned-only

Profiles are representative test inputs, not proof that every skill needs art. Missing profiles remain needs-requirements; missing offline fixtures block the test. needs-acquisition is only a candidate plan, and ready-for-import is still not a decode or engine pass. TheLegendOfTrump remains separately authorized asset-only input, never a gameplay oracle or presumed CC0 source.

Asset packs

Use asset-pack-intake when a project receives a finished genre asset pack (atlases, tilesets, Tiled maps, feel and audio data) described by a pack.json. It validates the manifest, maps every folder to the owning skill and plans the engine build; it never edits the art. The manifest contract is generic, not tied to one generator.

python3 skills/assets/asset-pack-intake/scripts/validate_pack.py --root /absolute/pack --plan --engine godot --style pixel-16bit

The checks are static (hashes, atlas rectangles against PNG sizes, map gids, feel provenance, no shipped code, the declared 1080p integer-scale canvas per style, and the styles.json style-switch map that must resolve every asset key in every style). Engine import, playthrough and audio perception stay not-run until evidence exists.

Practical production extensions

Modular scene assembly, cross-rig clip compatibility, identity-preserving LOD, graphics-resource recovery and first-divergence replay diagnosis. See the capability guide. The new offline tools validate declared layouts and exported traces; they do not execute a game or establish LLM gains.

scene-assembly · character-rig · model-pipeline · asset-runtime · gameplay-harness

Reviews (0)

No results found