Agent skill
cli-anything-sts2
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.
Install this agent skill to your Project
npx add-skill https://github.com/HKUDS/CLI-Anything/tree/main/slay_the_spire_ii/agent-harness/cli_anything/slay_the_spire_ii/skills
SKILL.md
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_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 --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
- Always read
statefirst to get thedecisionfield - 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
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
musescore
CLI for music notation — transpose, export PDF/audio/MIDI, extract parts, manage instruments
cli-anything-videocaptioner
AI-powered video captioning — transcribe speech, optimize/translate subtitles, burn into video with beautiful customizable styles (ASS outline or rounded background). Free ASR and translation included.
cli-anything-openscreen
Command-line interface for Openscreen — a screen recording editor. A stateful CLI for editing screen recordings with zoom, speed ramps, trim, crop, annotations, and polished exports. Built on the Openscreen JSON project format with ffmpeg as the rendering backend. Designed for AI agents and power users who need programmatic video editing.
cli-anything-adguardhome
Command-line interface for AdGuard Home - Network-wide ad blocking and DNS management via AdGuard Home REST API. Designed for AI agents and power users who need to manage filtering, DNS rewrites, clients, DHCP, and query logs without a GUI.
cli-anything-intelwatch
Zero friction. Full context. Competitive intelligence, M&A due diligence, and OSINT directly from your terminal. Uses Node.js/npx.
cli-anything-kdenlive
Command-line interface for Kdenlive - A stateful command-line interface for video editing, following the same patterns as the Blender CLI ...
Didn't find tool you were looking for?