- Skill ID
- hkuds/cli-anything/cli-anything-slay-the-spire-ii
- Publisher
- hkuds
- Repository
- cli-anything
- Installs
- 0
- Files
- 1
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
hkuds/cli-anything/cli-anything-slay-the-spire-iiInstalls these files- SKILL.md
What this skill tells the agent
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-Anything1. 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.shIf 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.sh3. 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 stateIf this returns JSON, the CLI and bridge are connected.
Prerequisites:
- Python 3.10+
- Slay the Spire 2 (Steam) with
STS2_Bridgemod 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 --helpCommand 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
- Always read `state` first to get the
decisionfield - Re-read state after each action - indices and energy change during combat
- Check return codes - 0 for success, non-zero for errors
- Parse stdout for JSON output
More from hkuds
Use this skill in a project
Open any RiverX project, search the Skills panel for hkuds/cli-anything/cli-anything-slay-the-spire-ii, and install it in one click.
