All skills

Routes any game-development request to the right specialized skill(s): it detects the engine (Godot, Unity, Unreal, Bevy, Phaser, PixiJS, three.js, LÖVE, pygame, Roblox) and the task, then reads the chosen skill before acting. Use to make a game or to decide which skill applies — for players, levels, enemies, shaders, art direction, sprites, tiles, textures, 3D assets, UI/UX, cameras, game feel, physics, input, audio, saving, multiplayer, AI, dialogue, procedural generation, or performance, for genres (platformer, roguelike, RPG, FPS, tower-defense, card game, visual novel, survival-crafting, puzzle), and for shipping (game jam, Steam, itch). Start here when unsure which gamedev skill to use.

Use this Skill: https://skilld.dev/gh/gamedev-skills/awesome-gamedev-agent-skills/router

This session only. Nothing lands on disk.

referencesengine-detection.md

≈1.2k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Engine detection — full project fingerprint

The router body carries the primary signal per engine; this file holds the complete fingerprint table, the disambiguation rules, and the secondary signals. Detection is exclusive: pick exactly one engine skill set (or "unknown" and use the fallback).

Scan for the highest-confidence signal and stop at the first match in this precedence order.

# Engine Primary signal (project files) Secondary signals Skill set root
1 Godot project.godot *.tscn, *.gd, *.gdshader, *.tres, export_presets.cfg skills/godot/
2 Unreal *.uproject Source/**/*.Build.cs, Config/Default*.ini, *.uasset, Content/ skills/unreal/
3 Unity Assets/ and ProjectSettings/ProjectVersion.txt *.unity, *.prefab, *.asmdef, Packages/manifest.json skills/unity/
4 Bevy Cargo.toml with a bevy dependency *.rs with App::new() / use bevy::prelude skills/other-engines/bevy-ecs/
5 Phaser package.json dep phaser import Phaser, new Phaser.Game skills/web-engines/phaser-core, skills/web-engines/phaser-arcade-physics
6 PixiJS package.json dep pixi.js import * as PIXI, new PIXI.Application skills/web-engines/pixijs-rendering/
7 three.js package.json dep three import * as THREE, *.gltf / *.glb skills/web-engines/threejs-scene-setup, threejs-gltf-loading, threejs-materials-lighting
8 LÖVE conf.lua, or main.lua calling love.* *.love skills/other-engines/love2d-core/
9 pygame *.py with import pygame pygame.init(), pygame.display.set_mode skills/other-engines/pygame-core/
10 Roblox *.rbxl / *.rbxlx, or *.project.json (Rojo) *.luau, DataStoreService, game:GetService skills/other-engines/roblox-luau, roblox-datastores

Detect the installed version

Engine identity is not enough. Read the version source before using version-sensitive APIs:

Stack Version source
Godot feature tags in project.godot, then the project's documented toolchain or godot --version when available
Unity ProjectSettings/ProjectVersion.txt plus package versions in Packages/manifest.json / packages-lock.json
Unreal EngineAssociation in *.uproject, project documentation, or the selected installed engine
Phaser / PixiJS / three.js package.json and the resolved lockfile, not a tutorial's version
Bevy Cargo.toml and the resolved Cargo.lock entry
pygame-ce pyproject.toml, requirements/lock files, then the active environment
LÖVE conf.lua version when declared, then the installed runtime
Roblox platform APIs are rolling; inspect current Creator Hub documentation for unstable APIs

For a new project use the baseline in ../../docs/VERSION-SUPPORT.md. For an existing project, preserve the detected version unless the user explicitly requests migration.

Disambiguation rules (must-handle ambiguities)

  • Godot C# vs Unity vs Bevy — all may contain a .csproj or Cargo.toml. The presence of project.godot means Godot (route godot-csharp for C# work) even when a .csproj exists. Unity requires the Assets/ + ProjectSettings/ pair, not just any .cs. Bevy requires a bevy dependency, not just any Rust crate.
  • Multiple web deps — a package.json may list more than one of phaser / pixi.js / three. Prefer the library actually imported in the file under discussion; if unclear, ask which renderer the task targets before loading a web-engine skill.
  • Monorepo / multiple engines — if more than one engine fingerprint is present, route by the file or subdirectory the request is about. If still ambiguous, ask one targeted question.
  • No engine files at all — go to the unknown-engine fallback (router body §6). Many discipline / genre / workflow tasks need no engine at all.

Plain-text engine mentions

If there are no project files but the request names an engine in prose ("in Unity", "using Phaser", "a Godot game"), adopt that engine. Never load an engine skill on a guess when neither a file signal nor a named engine is present.

Confidence boosters from task files

Some non-project files raise confidence about the task (not the engine):

  • *.yarn / *.ink → dialogue-systems (and visual-novel if the whole game is one).
  • steam_appid.txt / Steamworks SDK → steam-publish.
  • .itch.toml / butler usage → itch-publish.
  • *.inputactions → unity-input-system; IA_/IMC_ assets → unreal-enhanced-input.
  • NavMesh.asset / baked navmesh → unity-navmesh; BT_/BB_ assets → unreal-behavior-trees.

Source: SKILL.md on GitHub

No alerts4d3 checks · Risk SAFE
  • Gen Agent Trust Hub4d

    The router skill is a dispatcher for game development tasks. It identifies project engines and disciplines from files and user requests to select appropriate expert instructions. No security risks were identified.

  • Socket4d

    No alerts

  • Snyk4d

    Risk: LOW · No issues

Signed by skilld at e86bec9. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 3 days ago.

Activeupdated last week

README badge

README badge for gamedev-skills/awesome-gamedev-agent-skills/router