| name | init-gamebin |
| description | Initialize this repository's local game binaries for an exact GAMEVER from download.yaml or its latest entry, restore tracked game-symbol YAML artifacts when available, and optionally rename known functions in IDA databases. Use only when explicitly asked to initialize or restore gamebin/bin state for a CS2 game version. |
Initialize Game Binaries
Use the bundled script as the only entry point for downloading, merging, depot fallback, and snapshot restoration. Never
overwrite an existing file, substitute an unlisted version, generate a missing snapshot, or continue after a failed step.
The bundled script requires the exact configs/<GAMEVER>.yaml and passes that same path through download,
copy, snapshot restore, and snapshot verification.
Select GAMEVER
-
Extract an exact GAMEVER from the user's request. Resolve latest only when the user explicitly requests latest.
-
If the user did not specify a version, run:
uv run python .claude/skills/init-gamebin/scripts/init_gamebin.py versions
Tell the user which entry is latest and ask: Which GAMEVER do you want to initialize? / 需要初始化哪个GAMEVER? depending on user perfered language. Wait for an explicit version before continuing.
-
Reject values absent from download.yaml; do not guess or silently use latest.
Prepare Binaries and Symbol YAML
Run from the owning repository root:
uv run python .claude/skills/init-gamebin/scripts/init_gamebin.py prepare <GAMEVER-or-latest>
The script checks existing binaries, downloads and non-overwritingly merges gamebin-<GAMEVER>.7z when needed, and uses
the Steam depot fallback only for a missing Release asset. When gamesymbols/<GAMEVER>.yaml exists, it restores and
verifies that snapshot. When it does not exist, preparation still succeeds as a binary-only bootstrap for a new version;
the script does not create or verify symbols and reports Symbol snapshot: unavailable; binary-only initialization completed.
If the command fails, stop immediately and report its exact error as:
<skill_error>ERROR REASON</skill_error>
Do not attempt an alternate download, add -replace, edit .env, or proceed to IDA renaming.
Offer IDB Renaming
After preparation succeeds, inspect its symbol-snapshot result. If it reports Symbol snapshot: unavailable; binary-only initialization completed, report the selected GAMEVER and finish the skill successfully. Do not ask about IDB renaming or run IDB renaming for a GAMEVER without a snapshot.
Only when a symbol snapshot was restored successfully, ask exactly: Need to sync existing symbols to idb? / 需要将已知函数名同步/重命名到idb里? depending on user perfered language.
-
If the user declines, report the selected GAMEVER and finish.
-
If the user confirms, search bin/<GAMEVER>/*/*.id0. If any lock file exists, stop, list every path, and tell the
user to close the corresponding IDA instances.
-
Otherwise run the following command without a timeout, wait for its real exit status, and do not poll unnecessarily:
uv run ida_analyze_bin.py -gamever <GAMEVER> -configyaml configs/<GAMEVER>.yaml -debug -rename >> /tmp/bump_idb_output.log 2>&1
On success, report the summary from the final 20 log lines and the full log path. On failure, read the final 60 lines;
if needed, locate the last Error, Failed, or Traceback entries. Report the exit code and relevant excerpt inside
<skill_error>...</skill_error>, then stop without attempting repairs.