一键导入
lookup
Look up how a card, relic, potion, event, power, or monster works by decompiling the STS2 source code live from the game PCK.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Look up how a card, relic, potion, event, power, or monster works by decompiling the STS2 source code live from the game PCK.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Run the STS2 beta patch pipeline — fetch patch notes, decompile game files, cross-reference changes, update CSVs, and prepare beta branch for deployment.
Test skill that prints hello world
Render a Spine monster sprite using Godot, convert to 512x512 webp, and save to media/enemies/. Takes a monster display name (e.g. "Ruby Raider (Axe)") or spine folder name (e.g. "axe_ruby_raider").
Render monster sprites that require shader effects or particles (e.g. Waterfall Giant, Living Fog) by recreating the game's Godot scene with VFX in our Godot project.
List git branches and switch between them
| name | lookup |
| description | Look up how a card, relic, potion, event, power, or monster works by decompiling the STS2 source code live from the game PCK. |
When the user asks about how something works in STS2, decompile the relevant source from the game PCK and explain the implementation.
C:/Users/jparr/Downloads/GDRE_tools/gdre_tools.exeD:/Steam/steamapps/common/Slay the Spire 2/SlayTheSpire2.pckC:/Users/jparr/Documents/claude/sts2/rawExtract the appropriate JSON from the PCK using GDRE --headless --recover --include:
| Type | JSON res:// path |
|---|---|
| Powers | res://localization/eng/powers.json |
| Monsters | res://localization/eng/monsters.json |
| Relics | res://localization/eng/relics.json |
| Cards | res://localization/eng/cards.json |
| Potions | res://localization/eng/potions.json |
| Events | res://localization/eng/events.json |
Each JSON is a flat key→string map. Search for the display name value to find its key:
grep -i "\"Display Name\"" "C:/Users/jparr/Documents/claude/sts2/raw/localization/eng/<type>.json"
Key formats and name fields by type:
| Type | Key format | Name field | Example |
|---|---|---|---|
| Powers | FLUTTER_POWER.title | .title | "FLUTTER_POWER.title": "Flutter" |
| Monsters | ARCHITECT.name | .name | "ARCHITECT.name": "The Architect" |
| Relics | AKABEKO.title | .title | "AKABEKO.title": "Akabeko" |
| Cards | ABRASIVE.title | .title | "ABRASIVE.title": "Abrasive" |
| Potions | ASHWATER.title | .title | "ASHWATER.title": "Ashwater" |
| Events | ABYSSAL_BATHS.pages... | .title (nested) | "ABYSSAL_BATHS.name": "Abyssal Baths" |
Strip the suffix (.title, .name) from the matched key to get the internal key, e.g. FLUTTER_POWER.
Convert the internal key to PascalCase class name:
_, capitalize each word, join: ASSASSIN_RUBY_RAIDER → AssassinRubyRaider_POWER before converting, then re-add Power suffix: FLUTTER_POWER → Flutter → FlutterPowerUse the class name and the type's known res:// path:
| Type | res:// path pattern | CS class convention |
|---|---|---|
| Powers | res://src/Core/Models/Powers/{Class}.cs | FlutterPower |
| Monsters | res://src/Core/Models/Monsters/{Class}.cs | Architect |
| Relics | res://src/Core/Models/Relics/{Class}.cs | Akabeko |
| Cards | res://src/Core/Models/Cards/{Class}.cs | Abrasive |
| Potions | res://src/Core/Models/Potions/{Class}.cs | Ashwater |
| Events | res://src/Core/Models/Events/{Class}.cs | AbyssalBaths |
Extract with GDRE:
"/c/Users/jparr/Downloads/GDRE_tools/gdre_tools.exe" --headless \
"--recover=D:/Steam/steamapps/common/Slay the Spire 2/SlayTheSpire2.pck" \
"--output=C:/Users/jparr/Documents/claude/sts2/raw" \
"--include=res://src/Core/Models/{Type}/{Class}.cs"
Read the extracted CS file. Focus on:
GetValueIfAscension)ShouldScaleInMultiplayer, ScaleHpForMultiplayer)Clear, concise breakdown. Lead with the key facts. Include specific numbers and conditions from the code. Quote important lines but don't paste entire files.