Agent skill

Openra Rl

by yxc20089 in yxc20089/OpenRA-RL

Play Command & Conquer Red Alert RTS — build bases, train armies, and defeat AI opponents using 48 MCP tools.

GPL-3.0Auto-check passedAgent Workflows

Install Openra Rl

skills CLI
$ npx skills add yxc20089/OpenRA-RL --skill openra-rl -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install yxc20089/OpenRA-RL openra-rl --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/yxc20089/OpenRA-RL.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skill .claude/skills/openra-rl && rm -rf skills-src

Use ~/.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/

Facts

Skill name
openra-rl
GitHub stars
158
Token cost
~2.7k tokens
SKILL.md length
1,008 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
GPL-3.0

At a glance

Play Command & Conquer Red Alert RTS — build bases, train armies, and defeat AI opponents using 48 MCP tools.

  • Works in 10 steps: Install → Start the game server → Configure MCP → …
  • Tasks that involve MCP servers
  • SKILL.md covers Quick Start, How the Game Works, MCP Tools Reference and How to Play (Strategy Guide), plus 4 more sections
  • Calls pip

What it does

Openra Rl is an agent skill from yxc20089/OpenRA-RL. Play Command & Conquer Red Alert RTS — build bases, train armies, and defeat AI opponents using 48 MCP tools.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering MCP servers. The repository describes itself as: Open Framework for AI Agents to play Red Alert through Reinforcement Learning. The licence is GPL-3.0.

When your agent uses it

  • Tasks that involve MCP servers

Example prompts

  • “/openra-rl”

Requirements

  • Python 3
  • Docker

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. Install
  2. Start the game server
  3. Configure MCP
  4. Play
  5. Deploy your MCV
  6. Build your base
  7. Train your army
  8. Scout the map
  9. Attack the enemy
  10. Macro (ongoing economy)

What it can do on your machine

Read from SKILL.md and the folder at commit 5dadd44. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • pypi.org
    • huggingface.co
    • discord.gg

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Openra Rl loads about 2.7k tokens when it runs. Until then it costs about 30 tokens; SKILL.md has 1,008 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~30
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from yxc20089/OpenRA-RL at commit 5dadd44, republished under its GPL-3.0 licence (© yxc20089). 1,008 words, ~2,737 tokens.

Download SKILL.mdSave it as .claude/skills/openra-rl/SKILL.md (or your agent's skills folder).
name
openra-rl
description
Play Command & Conquer Red Alert RTS — build bases, train armies, and defeat AI opponents using 48 MCP tools.
version
1.1.0

OpenRA-RL: Play Command & Conquer Red Alert

You are an AI agent playing Command & Conquer: Red Alert, a classic real-time strategy (RTS) game. You control one faction (Allied or Soviet) and must build a base, gather resources, train an army, and destroy the enemy.

The game runs in a Docker container. You interact through MCP tools that let you observe the battlefield, issue orders, and advance game time.

Quick Start

1. Install
bash
pip install openra-rl
2. Start the game server
bash
openra-rl server start

This pulls the Docker image and starts the game server on port 8000. Verify with openra-rl server status.

3. Configure MCP

Add to your OpenClaw config (~/.openclaw/openclaw.json):

json
{
  "mcpServers": {
    "openra-rl": {
      "command": "openra-rl",
      "args": ["mcp-server"]
    }
  }
}
4. Play

Tell your agent: "Start a game of Red Alert and try to win."

The agent will use the MCP tools listed below to observe and command.


How the Game Works

  • Real-time: The game runs continuously at ~25 ticks/second. Call advance(ticks) to let time pass.
  • Fog of war: You can only see areas near your units/buildings. Scout to find the enemy.
  • Resources: Harvest ore to earn credits. Credits buy buildings and units.
  • Power: Buildings need power. Build Power Plants (powr) to stay powered. Low power slows production.
  • Tech tree: Advanced buildings require prerequisites (e.g., War Factory needs Ore Refinery).

MCP Tools Reference

Observation (read the battlefield)
ToolPurpose
get_game_stateFull snapshot: economy, units, buildings, enemies, production, military stats
get_economyCash, ore, power balance, harvester count
get_unitsYour units with position, health, type, stance, speed, attack range
get_buildingsYour buildings with production queues, power, can_produce list
get_enemiesVisible enemy units and buildings (fog-of-war limited)
get_productionCurrent build queue + what you can build right now
get_map_infoMap name, dimensions
get_exploration_status% explored, quadrant breakdown, whether enemy base found
Knowledge (learn the game)
ToolPurpose
lookup_unit(unit_type)Stats for a unit (e.g., lookup_unit("e1") → Rifle Infantry)
lookup_building(building_type)Stats for a building (e.g., lookup_building("weap") → War Factory)
lookup_tech_tree(faction)Full build order for "allied" or "soviet"
lookup_faction(faction)All units and buildings for a faction
get_faction_briefing()Comprehensive stats dump for YOUR faction
get_map_analysis()Resource patches, water, terrain, strategic notes
batch_lookup(queries)Multiple lookups in one call
Game Control
ToolPurpose
advance(ticks)Critical — advances the game by N ticks. Nothing happens without this. Use 25 ticks ≈ 1 second, 250 ticks ≈ 10 seconds.
Movement & Combat
ToolPurpose
move_units(unit_ids, target_x, target_y)Move units to a position
attack_move(unit_ids, target_x, target_y)Move and engage enemies along the way
attack_target(unit_ids, target_actor_id)Focus-fire a specific enemy
stop_units(unit_ids)Halt movement and attacks
guard_target(unit_ids, target_actor_id)Guard a unit or building
set_stance(unit_ids, stance)Set to "holdfire", "returnfire", "defend", or "attackanything"
harvest(unit_id, cell_x, cell_y)Send harvester to ore field
Production
ToolPurpose
build_unit(unit_type, count)Train units (e.g., build_unit("e1", 5) → 5 Rifle Infantry)
build_structure(building_type)Start constructing a building (needs manual placement)
build_and_place(building_type, cell_x, cell_y)Build + auto-place when done (preferred)
place_building(building_type, cell_x, cell_y)Place a completed building
cancel_production(item_type)Cancel queued production
get_valid_placements(building_type)Get valid locations to place a building
Building Management
ToolPurpose
deploy_unit(unit_id)Deploy MCV into Construction Yard
sell_building(building_id)Sell for partial refund
repair_building(building_id)Toggle auto-repair
set_rally_point(building_id, cell_x, cell_y)New units go here
power_down(building_id)Toggle power to save electricity
set_primary(building_id)Set as primary production building
Unit Groups
ToolPurpose
assign_group(group_name, unit_ids)Create a named group
add_to_group(group_name, unit_ids)Add units to existing group
get_groups()List all groups
command_group(group_name, command_type, ...)Command entire group
Compound Actions
ToolPurpose
batch(actions)Execute multiple actions in ONE tick (no time advance)
plan(steps)Execute steps sequentially with state refresh between each
Utility
ToolPurpose
surrender()Give up the current game
get_replay_path()Path to the replay file
get_terrain_at(cell_x, cell_y)Terrain type at a cell
Planning Phase (optional)
ToolPurpose
start_planning_phase()Begin pre-game strategy planning
get_opponent_intel()AI opponent profile and counters
end_planning_phase(strategy)Commit strategy and start playing
get_planning_status()Check planning state

Show full SKILL.md (405 more words)Show less

How to Play (Strategy Guide)

Step 1: Deploy your MCV

At game start you have a Mobile Construction Vehicle (MCV). Deploy it to create your Construction Yard:

1. Call get_units() to find your MCV (type "mcv")
2. Call deploy_unit(mcv_actor_id)
3. Call advance(50) to let it deploy
Step 2: Build your base

Follow this build order:

OrderBuildingType CodeCostWhy
1Power Plantpowr$300Powers everything
2Barrackstent (Allied) or barr (Soviet)$300Infantry production
3Ore Refineryproc$2000Income + free harvester
4War Factoryweap$2000Vehicle production (requires Refinery)
5More Powerpowr$300Keep power positive

Use build_and_place() — it auto-places when construction finishes:

1. Call get_valid_placements("powr") to find a good spot
2. Call build_and_place("powr", cell_x, cell_y)
3. Call advance(250) to let it build (~10 seconds)
4. Check get_production() to confirm completion
5. Repeat for next building

Important: Your faction may be Allied OR Soviet. Check get_game_state() → faction field. Barracks type depends on faction.

Step 3: Train your army
1. Call build_unit("e1", 5) for 5 Rifle Infantry ($100 each)
2. Call advance(100) to let them train
3. Once War Factory is ready: build_unit("3tnk", 3) for Medium Tanks ($800 each)
4. Set rally point near base exit: set_rally_point(barracks_id, x, y)

Key units by faction:

UnitCodeCostRole
Rifle Infantrye1$100Cheap, fast
Rocket Soldiere3$300Anti-armor
Medium Tank3tnk$800Main battle tank
Heavy Tank4tnk$950Soviet heavy armor
Light Tank1tnk$700Fast flanker
Artilleryarty$600Long range
V2 Launcherv2rl$700Soviet long range
Step 4: Scout the map

Send a cheap unit to explore:

1. Train one Rifle Infantry
2. Call attack_move([unit_id], far_x, far_y) toward unexplored areas
3. Call advance(500) to let it travel
4. Call get_enemies() to see what you've found
Step 5: Attack the enemy

Once you have 8-10 combat units:

1. Call get_enemies() to find enemy buildings
2. Call attack_move(all_unit_ids, enemy_base_x, enemy_base_y)
3. Call advance(100), check get_game_state() for battle progress
4. If enemies visible: attack_target(unit_ids, enemy_id) to focus fire
5. Keep producing reinforcements while attacking
Step 6: Macro (ongoing economy)

Throughout the game:

  • Keep power positive (build Power Plants when needed)
  • Keep producing units — never let production idle
  • Build additional Ore Refineries for more income
  • Replace lost harvesters

Game Loop Pattern

A good agent loop looks like this:

1. get_game_state() → read the situation
2. Decide what to do based on:
   - Economy: enough cash? Power positive?
   - Production: anything building? Queue empty?
   - Military: under attack? Ready to attack?
   - Exploration: enemy found yet?
3. Issue orders (build, move, attack)
4. advance(50-250) → let time pass
5. Repeat until game is won or lost

Check get_game_state() → done field. When true, result will be "win" or "loss".


Tips

  • Always call advance() after issuing orders. Orders don't execute until game time passes.
  • Use batch() to issue multiple orders in one tick (e.g., build + move + set rally).
  • Check available_production before building — it lists what you CAN build right now.
  • Don't let production idle — keep queuing units. Idle production wastes time.
  • Build near your Construction Yard — buildings must be placed adjacent to existing structures.
  • Power matters — if power goes negative, production slows to a crawl.
  • Use attack_move instead of move when heading toward enemies — units will engage threats.
  • A completed building blocks the queue until placed. Always use build_and_place() to avoid this.

Troubleshooting

ProblemSolution
Server not runningopenra-rl server start (needs Docker)
Can't build anythingDeploy MCV first with deploy_unit()
Building won't placeUse get_valid_placements() for valid spots
No moneyBuild Ore Refinery (proc) for harvesters
Production slowCheck power with get_economy() — build Power Plants
Can't find enemyScout with attack_move to unexplored quadrants

© yxc20089, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skill of yxc20089/OpenRA-RL.

Open the folder on GitHubat commit 5dadd44

Compare with similar skills

Openra Rl 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.

Openra Rl compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Openra Rl this skillyxc20089/OpenRA-RL158—~2.7kAutomated safety check: PassGPL-3.0
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k4 repos~1.2kAutomated safety check: PassMIT
MCP Integration for Pluginsanthropics/claude-plugins-official38k11 repos~3.1kAutomated safety check: PassApache-2.0
Microsoft Skill CreatorMicrosoftDocs/mcp1.9k3 repos~2.1kAutomated safety check: PassCC-BY-4.0
Crush Configurationcharmbracelet/crush29k—~3.7kAutomated safety check: PassCustom licence

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 4 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • MCP Integration for Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.

    38k GitHub starsUsed in 11 repos~3.1k tokens
    Agent WorkflowsAuto-check passed
  • Microsoft Skill Creator

    MicrosoftDocs/mcp

    Official

    Create agent skills for Microsoft technologies using official documentation.

    1.9k GitHub starsUsed in 3 repos~2.1k tokens
    Agent WorkflowsAuto-check passed
  • Crush Configuration

    charmbracelet/crush

    Explains how to configure the Crush coding agent with crushrc or crush.json, covering providers, models, LSPs, MCP servers, hooks, permissions and config precedence.

    29k GitHub stars~3.7k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Context Mode Output Sandbox

    mksglu/context-mode

    Routes large command, file, API and browser output through context-mode tools so only the needed result enters the agent's context, instead of dumping it via Bash.

    26k GitHub stars~4.1k tokensUpdated today
    Agent WorkflowsAuto-check passed

Categories

Questions about Openra Rl

What does Openra Rl do?

Play Command & Conquer Red Alert RTS — build bases, train armies, and defeat AI opponents using 48 MCP tools. Openra Rl is an agent skill from yxc20089/OpenRA-RL. Play Command & Conquer Red Alert RTS — build bases, train armies, and defeat AI opponents using 48 MCP tools.

When should I use Openra Rl?

Openra Rl fits situations like: tasks that involve MCP servers.

How do I install Openra Rl in Claude Code?

Run `npx skills add yxc20089/OpenRA-RL --skill openra-rl -a claude-code`. Or copy the skill folder (skill in yxc20089/OpenRA-RL) into .claude/skills/openra-rl in your project. Claude Code loads it when a task matches its description.

How do I install Openra Rl in Codex?

Run `npx skills add yxc20089/OpenRA-RL --skill openra-rl -a codex`. Or copy the skill folder (skill in yxc20089/OpenRA-RL) into .agents/skills/openra-rl in your project. Codex loads it when a task matches its description.

Can I use Openra Rl in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yxc20089/OpenRA-RL --skill openra-rl -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/openra-rl, .gemini/skills/openra-rl, .github/skills/openra-rl and .opencode/skills/openra-rl in your project.

What does Openra Rl need to run?

Going by SKILL.md and its folder, Openra Rl needs the command-line tools its instructions call (pip). Our summary lists: Python 3; Docker.

Does Openra Rl access the network?

SKILL.md names 3 domains. As links in the text: pypi.org, huggingface.co and discord.gg. This is read from the text; nothing was executed.

Is Openra Rl safe to install?

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.

What licence does Openra Rl use?

Openra Rl is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Openra Rl use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Openra Rl?

Skills that share tags, products or a category with Openra Rl: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), MCP Integration for Plugins (anthropics/claude-plugins-official, 38k stars) and Microsoft Skill Creator (MicrosoftDocs/mcp, 1.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Openra Rl?

yxc20089 (a GitHub user) maintains it in yxc20089/OpenRA-RL, which has 158 GitHub stars. The repository was last updated on May 16, 2026.

Source: yxc20089/OpenRA-RL on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.