universal-modder README

The project's README from github.com/rehan-remade/universal-modder. As one markdown file: README.md.

universal-modder: mod any game. Point any AI coding agent at the PC games you own. Publish your mods, remix other people's, and make new ones.

Skills, tools and a shared knowledge base that let any AI coding agent mod almost any PC game you own.
The agent finds the game, works out the engine and the route, reads the real code, builds the mod, makes art, 3D and sound with fal, tests it in the running game, cuts the video, and writes down what it learned for the next agent.

community: join us on discord works with Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode knowledge base: field notes by agents, for agents assets: fal license: MIT

Six mods made by AI coding agents, with the universal-modder tile in the corner: Steve gliding an elytra through Los Santos, the Nether spreading over Los Santos, Minecraft mobs fighting the LSPD, the Halo Warthog in Minecraft, a World at War flamethrower in Minecraft, and World at War zombies in Minecraft. It ends on the universal-modder logo and "mod any game."

Coming next: the mod hub at universalmodder.com. Publish your mods, remix other people's, and make new ones.
Share what you make, get help, and follow along:

join the discord

Install

Pick your agent. Each gets the same skills (Agent Skills format), the fal MCP server, and the um CLI.

Agent Install
Claude Code /plugin marketplace add rehan-remade/universal-modder
/plugin install universal-modder@universal-modder
Codex codex plugin marketplace add rehan-remade/universal-modder
codex plugin add universal-modder@universal-modder
Gemini CLI gemini extensions install https://github.com/rehan-remade/universal-modder
VS Code / Copilot Enable chat.plugins.enabled, run Chat: Install Plugin From Source, and enter this repo's URL
Cursor Cursor Marketplace, or clone (Cursor reads AGENTS.md and .cursor/mcp.json)
OpenCode Clone and run opencode inside it (opencode.json adds the skills and the fal MCP server)
or, on OpenCode 2, opencode plugin add 'github:rehan-remade/universal-modder#main::path:plugins/opencode' (the um tool and fal MCP; add the skills with Skills only)
Skills only
(any agent)
npx skills add https://github.com/rehan-remade/universal-modder
Anything else git clone https://github.com/rehan-remade/universal-modder and start your agent inside it

Inside a clone, each agent finds the skills where it looks for them: .agents/skills (Codex, Gemini CLI, Copilot, Cursor, OpenCode) and .claude/skills (Claude Code) are copies of skills/. Instructions are in AGENTS.md, which CLAUDE.md and GEMINI.md point to. MCP config is in .mcp.json, .codex/config.toml, .cursor/mcp.json, .vscode/mcp.json and opencode.json (which also points OpenCode at skills/).

Without a clone, OpenCode 2 installs the plugin in plugins/opencode/ with opencode plugin add: one um_run tool that passes its arguments straight to the CLI and runs um from PATH (see below), plus the fal MCP server when FAL_KEY is set and none is configured. A clone doesn't need it. See plugins/opencode/README.md.

The um CLI. The Claude Code plugin puts it on PATH (its SessionStart hook), and so does a clone opened in Claude Code (.claude/settings.json); in a clone with another agent, export PATH="$PWD/bin:$PATH". Other agents' plugin installs (Codex, Cursor, Gemini CLI, OpenCode) don't, so install it once:

uv tool install git+https://github.com/rehan-remade/universal-modder     # or: pipx install git+...

For assets, get a fal API key. It powers both the fal MCP server and um fal. Rather than exporting it from a shell profile or a .env, store it once with um fal key set: on Linux it goes into the desktop keyring (libsecret's secret-tool), elsewhere into an owner-only ~/.secrets/fal-key, and um fal finds it there (um fal key status shows which source is used). FAL_KEY in the environment still works and wins. The agent configs read FAL_KEY, so start your agent with it set; on Linux, take it from the keyring as below. With no key, fal's OAuth endpoint https://mcp.fal.ai/mcp-relay signs you in through the browser instead (fal's MCP guides), and um comfy makes images on a local ComfyUI server. um sprixen (2D sprites, animation sheets, tiles) uses Sprixen, a separate paid service with its own API key (um sprixen key set).

um fal key set                                                   # hidden prompt
export FAL_KEY="$(secret-tool lookup service fal.ai key api)"    # Linux: before starting the agent

You also need Git, Python 3.10+ and ffmpeg. uv is recommended. Blender is needed for 3D → sprite renders. Windows games are driven natively or from WSL.

Try it

Mod Terraria: add a homing missile launcher and a tactical nuke that craters the world. Make the sprites with fal.

Make a new civilization for Age of Empires II with a unique unit rendered from 3D.

Put real Minecraft inside GTA V story mode. Minecraft's camera should follow GTA's, and its TNT should blow up GTA cars.

Port the Warthog from my Halo install into Minecraft, with a gunner on the turret.

What engine is C:\Games\Foo, and has anyone modded it before?

The agent starts with the mod-any-game skill and runs the same loop every time:

  1. search the knowledge base;
  2. recon, then pick a route;
  3. set up a safe lab (saves backed up);
  4. read the actual code;
  5. build one working slice;
  6. generate assets;
  7. verify in the real game;
  8. record;
  9. package;
  10. write a field note for the next agent.

A knowledge base that AIs write for AIs

knowledge/ holds field notes: how specific games were actually modded, decompiled and reverse-engineered. Each note gives:

Every agent that finishes a mod can open a pull request with its note, so the next agent starts where it left off instead of rediscovering the same traps.

um kb search "grand theft auto"                 # before you start: prior art (works outside the repo too)
um kb new --game "Hades II" --title "A new boon god" --from-scan hades --agent "Codex (gpt-6)"
um kb check knowledge/games/hades-ii/a-new-boon-god.md
um kb pr knowledge/games/hades-ii/a-new-boon-god.md --yes    # after your human says OK: branch, push, PR

Browse knowledge/INDEX.md. Every game is welcome. Contribution rules, for humans and AIs, are in CONTRIBUTING.md: no game files, no decompiled dumps, no cheating other players, and an honest status and verification.

A few notes from the community:

What's inside

Skills (skills/, Agent Skills format)

SkillWhat it does
mod-any-gameThe whole loop, hard safety rules, and engine playbooks: Unity, Unreal, .NET/XNA (Terraria, Stardew, Celeste), Godot, Source 1/2, Bethesda, Minecraft, AoE2/Genie, Bannerlord, Binding of Isaac, RE Engine/MT Framework/FromSoft/GTA/Hedgehog Engine/Black Rock/Cyberpunk/BG3/Avalanche, native C++, indie engines (GameMaker, RPG Maker, Ren'Py, Paradox, Doom, HTML5, LÖVE, Java), retro decomps
game-reconPrior field notes, engine and version, managed or native, anti-cheat, loaders, save folders, community route → MODDING_PLAN.md
game-research-websearchOpen-web research that survives dead forums: Wayback/archive.today, GitHub/code and Nexus/Workshop/Thunderstore APIs, Reddit/YouTube, login-gated handoff, screenshots as evidence
reverse-engineeringILSpy / Cpp2IL / Vineflower / Ghidra and IDA over MCP / Cheat Engine / Frida / RenderDoc; reverse-engineer a file format and prove it with a round trip
fal-assetsSprites with real transparency, consistent variants, pixel art, seamless textures, PBR maps, image-to-3D, auto-rigging, SFX, music, voice, cutscene video
asset-pipelineArt → engine-exact frames: cutout, nearest-neighbour fit, palettes, sheets, team-colour masks, 3D → 8/16-heading sprites
game-automationLaunch, screenshot (GPU-safe), click/type safely, windowed mode, crash-reporter cleanup, in-game agent bridges
showcase-videoRecord the window with only the game's audio, pick moments, cut a styled video from an EDL
mashup-modsGame inside a game: content ports, passthrough mods (worked example: Minecraft × GTA V), decomps as libraries, reimplementations
publish-modLint, package per platform, credits, the post
port-a-modPort an existing mod to a newer version or loader without drift: one pinned source, a private decompile, data extracted by script, unit-by-unit tests, audits by layer, resumable status docs, and a Forge 1.7.10 → Fabric 1.20.1 mapping table
share-field-notesSearch the knowledge base, write your own note, open the PR

Agents (agents/, subagent files with name + description frontmatter): a three-agent team for mods that take days. Claude Code loads them with the plugin; in a clone, start with claude --plugin-dir . --agent mod-orchestrator. Cursor plugins and Gemini CLI extensions read an agents/ folder too (untested here; Gemini CLI's subagents can't start other subagents). Three agents use several times the tokens of one, so keep it for long mods. What worked for one user: the orchestrator on Fable 5.1 at medium effort, the game worker on Sonnet 5.5 at medium, and the offline worker on Opus 5.5 at high. Any agent can read the files as role briefs.

AgentWhat it does
mod-orchestratorThe supervisor. Plans the work, runs the two workers, checks what they claim against logs and files, and reports to the human in plain language. Start it as the main session: claude --agent mod-orchestrator
mod-game-workerThe only agent that touches the running game: build, deploy, launch, probe, measure, fix
mod-offline-workerNever touches the game: studies SDK data, dumps and other mods, designs features, writes generators and patches, tests them against stubs, and hands over the exact live probes to run

The um CLI (Python). Every command has --help with examples.

          CommandWhat it does
um scanFind Steam/Epic/Xbox installs; fingerprint engine and version, .NET vs native, anti-cheat, installed loaders, save folders, ranked routes
um falsprite, image, edit, rmbg, pixelate, upscale, texture, pbr, model3d, rig, sfx, music, voice, video, run, search, schema, price. Plain REST, with a manifest of every generation
um comfystatus, image (--sprite cuts it out), run (any workflow saved with Export (API)). Images from a local ComfyUI server, no API key
um sprixensprite (one style per project), animate (sprite id → one-row sheet), tile, projects, credits, key. 2D art from Sprixen's paid API, with a manifest of every generation
um spritecutout, fit, pixelate, palette, sheet, slice, frames, team-mask, seamless, preview
um render3dGLB → sprite frames from the game's camera (aoe2, iso8, trueiso, topdown, side, turntable) with Blender
um winshot, record (gfxcapture + process-loopback audio), drive (input that only reaches the game), ps, kill, launch, reg
um videocontact sheets, compile (EDL → titled, beat-cut video with music), mux, beats, first-frame
um backupSnapshot, diff and restore save folders
um publish checkBlocks shipping game files, decompiled code and leaked keys
um kbThe knowledge base: search, show, new, check, index, sync, pr

Two no-build Windows tools ship inside the package (um/ps1/): WinDrive input and ProcLoopback game-only audio, both PowerShell with embedded C#.

The 3D route: a fal concept, then a fal 3D model, then 16 AoE2 headings from um render3d. The 2D route: fal art, a cutout, a 64x26 sprite, and the sprite working in Terraria.

Built with it

Each has a field note with every non-obvious lesson: knowledge/INDEX.md.

Rules it follows

Full reasoning: skills/mod-any-game/references/safety.md.

Made a mod with it?

Show it off in the Discord, and put the badge on your mod's page:

made with universal-modder

[![made with universal-modder](https://raw.githubusercontent.com/rehan-remade/universal-modder/main/docs/media/made-with-dark.svg)](https://github.com/rehan-remade/universal-modder)

Use made-with-light.svg on a light page.

Credits

MIT licensed. Brand type: Geist Pixel, Sometype Mono and Instrument Sans. Video titles: Space Grotesk and JetBrains Mono. All under the SIL OFL.

Star history

universal-modder's GitHub stars over time

universal-modder (rehan-remade/universal-modder)

Searching Database…

这是什么?Universal Modder 为 Claude Code(以及其他 AI 编程代理)提供一套 Agent Skills、一个名为 um 的 CLI 和一个 fal MCP 服务器,让代理能够对几乎任何你拥有的 PC 游戏进行查找、逆向工程和修改(mod),然后生成美术、3D 和音频素材,在游戏中测试 mod,并录制展示视频。
这是独立应用,还是接入我的编程代理?它不是独立应用,而是一个插件/技能包:同样的 Agent Skills、fal MCP 服务器和 um CLI 会安装到你已经在用的任何代理中(Claude Code、Codex、Gemini CLI、Copilot、Cursor、OpenCode)。
在 Claude Code 中怎么安装它?在 Claude Code 中运行 '/plugin marketplace add rehan-remade/universal-modder',然后运行 '/plugin install universal-modder@universal-modder'。其他代理(Codex、Gemini CLI、Cursor、OpenCode、Copilot)在 README 中有各自的一行安装命令,你也可以直接 git clone 仓库并在其中启动你的代理。
除了编程代理,我还需要安装什么?你需要 Git、Python 3.10+ 和 ffmpeg(推荐使用 uv),如果想要 3D 模型转游戏精灵渲染,还需要 Blender。fal API 密钥用于驱动 fal MCP 服务器和 um fal 来生成 AI 美术/音频/3D;没有密钥的话,可以改用 um comfy 对接本地 ComfyUI 服务器。
它会修改联机游戏或编写作弊器吗?不会。它只处理你拥有的游戏,并且拒绝向受反作弊保护的联机游戏注入代码、编写针对其他玩家的作弊器,或绕过反作弊、DRM 或所有权检查。最终生成的 mod 也绝不包含游戏文件或反编译代码。
修改游戏必须用 Windows 电脑吗?Windows 游戏可以在 Windows 上原生驱动,也可以从 WSL 驱动,窗口捕获/输入自动化(um win)以两个免构建的 PowerShell/C# 工具形式提供,因此最重的自动化功能面向 Windows。技能和 CLI 本身是纯 Python,可以随你的编程代理所在的任何操作系统一起使用。
knowledge/ 文件夹是做什么用的?它是一个共享知识库,存放代理写给其他代理的实战笔记:包括已修改游戏的确切版本、所采用的路线、引擎的怪癖、验证步骤和容易踩的坑。代理会先搜索它,完成后还可以提交包含自己笔记的 PR。
已经有哪些游戏用它修改过了?示例项目包括:《泰拉瑞亚》的 tModLoader 武器包、《帝国时代 II 决定版》的一个可玩新文明(带 3D 渲染单位),以及通过 Fabric mod 加 ScriptHookV/ReShade 桥接在《GTA V》剧情模式中运行的真实《我的世界》。
当我让代理修改一个游戏时,它具体会做什么?它遵循固定的 10 步循环:搜索知识库、侦察并选定路线、搭建安全实验环境并备份存档、阅读真实的游戏代码、构建一个可运行的功能切片、生成素材、在真实游戏中验证、录制视频、打包 mod,并为下一个代理写下实战笔记。
除 Claude Code 外,还有哪些编程代理可以使用它?Codex、Gemini CLI、VS Code/Copilot Chat、Cursor 和 OpenCode 都有各自的安装步骤可直接支持;任何其他代理都可以通过 'npx skills add' 或直接 git clone 来使用这些技能。
Size
37.4 MB
Stars
8.4K
Updated
CommitOct 18
Age
19d
Commits · 90 Days