Skip to content
CLI Tools
Skill

/cli-anything-slay-the-spire-ii

Command-line interface for Slay the Spire 2 - Control the real game through a local bridge mod HTTP API. Reads normalized game state and sends action commands for combat, navigation, rewards, and menu management.

From plugin
cli-anything
59k71 skills9 commands

Claude Code

$ npx -y skills add HKUDS/CLI-Anything --skill cli-anything-slay-the-spire-ii --agent claude-code

SKILL.md

cli-anything-slay-the-spire-ii.SKILL.md
name: "cli-anything-slay-the-spire-ii"
description: >-
  Command-line interface for Slay the Spire 2 - Control the real game through a local bridge mod HTTP API. Reads normalized game state and sends action commands for combat, navigation, rewards, and menu management.

cli-anything-slay-the-spire-ii

A stateful command-line interface for controlling the real Slay the Spire 2 game through the local `STS2_Bridge` mod. The CLI reads normalized game state and sends action commands via a local HTTP API at `localhost:15526`.

Installation

This CLI requires a bridge mod that runs inside the game process. Both the CLI and the bridge are distributed from the same repository:

https://github.com/HKUDS/CLI-Anything

1. Install the CLI

git clone https://github.com/HKUDS/CLI-Anything.git
cd CLI-Anything/slay_the_spire_ii/agent-harness
pip install -e .

2. Build and install the bridge mod

The bridge mod is a `.NET 9` plugin that must be compiled and installed into the game directory. Full instructions are in the repository README, but the short version is:

cd CLI-Anything/slay_the_spire_ii/agent-harness/bridge/plugin
./build.sh
cd ../install
./install_bridge.sh

If the build script cannot auto-detect the game data directory, set `STS2_GAME_DATA_DIR` explicitly:

STS2_GAME_DATA_DIR="/path/to/data_sts2" ./build.sh

3. Enable the mod and verify

Launch Slay the Spire 2 via Steam, enable the `STS2_Bridge` mod in the mod manager, then verify the connection:

cli-anything-sts2 state

If this returns JSON, the CLI and bridge are connected.

**Prerequisites:**

  • Python 3.10+
  • Slay the Spire 2 (Steam) with `STS2_Bridge` mod enabled
  • `.NET 9 SDK` (only needed to build the bridge mod)

Usage

Basic Commands

# Read normalized game state (always start here)
cli-anything-sts2 state

# Start interactive REPL mode (default)
cli-anything-sts2

# Show all available commands
cli-anything-sts2 --help

Command Groups

State Inspection

| Command | Description | |---------|-------------| | `state` | Normalized state with `decision` field | | `raw-state` | Raw bridge JSON |

Main Menu

| Command | Description | |---------|-------------| | `continue-game` | Continue a saved run | | `start-game --character IRONCLAD --ascension 0` | Start a new run | | `abandon-game` | Abandon the current save | | `return-to-main-menu` | Return to menu from any screen |

Characters: `IRONCLAD`, `SILENT`, `DEFECT`, `NECROBINDER`, `REGENT`

Combat

| Command | Description | |---------|-------------| | `play-card <index> [--target <enemy_id>]` | Play a card from hand | | `use-potion <slot> [--target <enemy_id>]` | Use a potion | | `end-turn` | End the current turn |

Map & Room Flow

| Command | Description | |---------|-------------| | `choose-map <index>` | Select a map node | | `proceed` | Leave the current room |

Rewards

| Command | Description | |---------|-------------| | `claim-reward <index>` | Claim a combat reward | | `pick-card-reward <index>` | Pick a card reward | | `skip-card-reward` | Skip the card reward | | `claim-treasure-relic <index>` | Claim a treasure relic | | `select-relic <index>` | Select a relic | | `skip-relic-selection` | Skip relic selection |

Events & Rest Sites

| Command | Description | |---------|-------------| | `event <index>` | Choose an event option | | `advance-dialogue` | Advance dialogue-only events | | `rest <index>` | Choose a campfire action |

Shop

| Command | Description | |---------|-------------| | `shop-buy <index>` | Buy from the shop |

Card/Relic Selection Overlays

| Command | Description | |---------|-------------| | `select-card <index>` | Select a card in overlay | | `confirm-selection` | Confirm the current selection | | `cancel-selection` | Cancel the current selection | | `combat-select-card <index>` | Select a card during combat overlay | | `combat-confirm-selection` | Confirm combat card selection |

Raw Action

| Command | Description | |---------|-------------| | `action <name> --kv key=value` | Send a raw bridge action |

Decision States

The `state` command returns JSON with a `decision` field indicating the current game screen. Route your next command based on this value:

| Decision | Meaning | Typical Next Commands | |----------|---------|----------------------| | `menu` | Main menu | `continue-game`, `start-game` | | `combat_play` | In combat, your turn | `play-card`, `use-potion`, `end-turn` | | `hand_select` | Card selection overlay | `combat-select-card`, `combat-confirm-selection` | | `map_select` | Map node selection | `choose-map` | | `game_over` | Run ended | `return-to-main-menu` | | `combat_rewards` | Post-combat rewards | `claim-reward`, `proceed` | | `card_reward` | Card reward pick | `pick-card-reward`, `skip-card-reward` | | `event_choice` | Event screen | `event`, `advance-dialogue` | | `rest_site` | Campfire | `rest` | | `shop` | Shop screen | `shop-buy`, `proceed` | | `card_select` | Card selection screen | `select-card`, `confirm-selection` | | `relic_select` | Relic selection | `select-relic`, `skip-relic-selection` | | `treasure` | Treasure room | `claim-treasure-relic`, `proceed` |

Configuration

| Option | Default | Description | |--------|---------|-------------| | `--base-url` | `http://localhost:15526` | Bridge API URL | | `--timeout` | `10.0` | HTTP timeout in seconds |

For AI Agents

1. **Always read `state` first** to get the `decision` field 2. **Re-read state after each action** - indices and energy change during combat 3. **Check return codes** - 0 for success, non-zero for errors 4. **Parse stdout** for JSON output

Read more
@hkuds
Ships withcli-anything

"CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/

Stars on GitHub

Momentum

stars in total
58.5k
Star history of HKUDS/CLI-Anything on GitHub, a chart by star-history.com

Other skills on cli-anything.

cli-anything-adguardhome

cli-anything-adguardho…

Command-line interface for AdGuard Home - Network-wide ad blocking and DNS management via AdGuard Home REST API. Designed for AI…

@hkuds@hkudsInstall Skill
cli-anything-anygen

cli-anything-anygen

Command-line interface for Anygen - A stateful command-line interface for AnyGen OpenAPI — generate professional slides,…

@hkuds@hkudsInstall Skill
cli-anything-audacity

cli-anything-audacity

Command-line interface for Audacity - A stateful command-line interface for audio editing, following the same patterns as the…

@hkuds@hkudsInstall Skill

More skills from other plugins.

find-skills

find-skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a…

skills4d39k
@vercel-labs-2@vercel-labs-2Install Skill
ohmyposh

ohmyposh

Install, configure, or troubleshoot Oh My Posh/ohmyposh: shell init, themes, segments, Nerd Font icons, and prompt setup on…

@jandedobbeleer@jandedobbeleerInstall Skill
mgrep

mgrep

MANDATORY: Replaces ALL built-in search tools. You MUST invoke this skill BEFORE using WebSearch, Grep, or Glob. NEVER use the…

mgrep6mo4.4k
@mixedbread-ai@mixedbread-aiInstall Skill

Questions about cli-anything-slay-the-spire-ii.

Which coding agents can use cli-anything-slay-the-spire-ii?
cli-anything-slay-the-spire-ii installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.