CS2_VibeSignatures: Skill for Claude Code

.claude/skills/find-IVEngineServer2_GetClientSteamID/SKILL.md

find-IVEngineServer2_GetClientSteamID is a skill for Claude Code from HLND2T/CS2_VibeSignatures. It costs 135 tokens per session (1,073 once invoked), scanned A, original, MIT.

A reverse-engineering procedure for locating a specific Counter-Strike 2 server function inside compiled game files by examining a related function and its virtual calls.

In plain words
What is it for?
It is for analyzing CS2 server binaries with a disassembler and decompiler to find the client Steam ID function.
Why use it?
It helps recover a function's location when automatic lookup fails or the binary layout has changed.

Skill for Claude Code

Written for Claude Code: disable-model-invocation in frontmatter.

This is HLND2T/CS2_VibeSignatures's own configuration. It tells Claude Code how to work on CS2_VibeSignatures itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything CS2_VibeSignatures configures →

Reuse

Borrowing it

Nothing to install: this file belongs to HLND2T/CS2_VibeSignatures. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/HLND2T/CS2_VibeSignatures/main/.claude/skills/find-IVEngineServer2_GetClientSteamID/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/HLND2T/CS2_VibeSignatures

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for find-IVEngineServer2_GetClientSteamID

README.md
[![agentmods](https://agentmods.dev/badge/skills/hlnd2t/cs2_vibesignatures/find-ivengineserver2_getclientsteamid/github.svg)](https://agentmods.dev/skills/hlnd2t/cs2_vibesignatures/find-ivengineserver2_getclientsteamid)
Your own site
<a href="https://agentmods.dev/skills/hlnd2t/cs2_vibesignatures/find-ivengineserver2_getclientsteamid"><img src="https://agentmods.dev/badge/skills/hlnd2t/cs2_vibesignatures/find-ivengineserver2_getclientsteamid/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for find-IVEngineServer2_GetClientSteamID

Your own site · 80×15
<a href="https://agentmods.dev/skills/hlnd2t/cs2_vibesignatures/find-ivengineserver2_getclientsteamid"><img src="https://agentmods.dev/badge/skills/hlnd2t/cs2_vibesignatures/find-ivengineserver2_getclientsteamid.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 135 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,073 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00135 $0.01073
Opus 5 $0.00068 $0.00536
Sonnet 5 $0.00027 $0.00215
Haiku 4.5 $0.00014 $0.00107

Measured 7d ago against content hash 00d9cf271413, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

find-IVEngineServer2_GetClientSteamID scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/find-IVEngineServer2_GetClientSteamID/SKILL.md · 86 lines

How it starts

The opening of the file, as written. The whole thing — 86 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Find IVEngineServer2_GetClientSteamID (final-guarantee fallback)

Recover the virtual function IVEngineServer2::GetClientSteamID in CS2 server.dll / libserver.so using IDA Pro MCP tools. This is the Agent fallback for the find-IVEngineServer2_GetClientSteamID skill: it runs only when the preprocessor script returned failure (almost always a transient LLM error, or the predecessor's call structure moved).

Realworld Function References

Read the platform-relevant reference YAMLs before searching in IDA. Treat their addresses as reference-build values only; verify against the current binary.

  • Windows baseline: ida_preprocessor_scripts/references/server/CBasePlayerController_HandleCommand_JoinTeam.windows.yaml
  • Linux baseline: ida_preprocessor_scripts/references/server/CBasePlayerController_HandleCommand_JoinTeam.linux.yaml

Step 1. Load and decompile the predecessor

ALWAYS Use SKILL /get-func-from-yaml with func_name=CBasePlayerController_HandleCommand_JoinTeam to obtain its func_va. If it returns an error, STOP and report to user (this fallback cannot run without the predecessor).

Decompile it:

mcp__ida-pro-mcp__decompile addr="<CBasePlayerController_HandleCommand_JoinTeam.func_va>"

Step 2. Locate the vtable-slot reference to the target

IVEngineServer2::GetClientSteamID is reached through the global g_engine. Important: in this predecessor the compiler hoists the slot into a register instead of calling it in place, so the reference is a mov, not a call. Searching only for call qword ptr [reg+...] will find nothing.

Anchor by the semantic fingerprint, not a fixed offset — load the interface pointer from g_engine, load its vtable, then fetch the slot:

  • Linux: lea rax, g_engine -> mov r12, [rax] -> mov rax, [r12] -> mov r13, [rax+228h]
  • Windows: mov rax, cs:g_engine -> mov rcx, [rax] -> mov rbx, [rcx+228h]

Reference build vtable offset (verify, do not hardcode): vfunc_offset = 0x228 (552), vfunc_index = 69 on both platforms. The predecessor contains more than one such fetch; any of them resolves the same slot.

Read the full file on GitHub · 86 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 7d ago First seen · 86 lines · 135 tokens per session scan A 00d9cf271413

Subscribe to this mod's changes

find-IVEngineServer2_GetClientSteamID is a skill published in the GitHub repository HLND2T/CS2_VibeSignatures (65 stars, last pushed yesterday), licensed MIT. It adds 135 tokens to every session and 1,073 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

minecraft-debug-mcp

Operate and debug the live Minecraft bot through its built-in MCP REPL server. Use when work requires starting the bot with pnpm dev, connecting to the local MCP endpoint, inspecting cognitive state/logs/history, injecting synthetic chat/events, or running targeted REPL code against the running brain during…

moeru-ai/airi · 68 tokens

graphics-api-hooking

Analyze Direct3D/DXGI, OpenGL, and Vulkan rendering, presentation, composition, and capture evidence. Use to distinguish API samples, PresentMon event metrics, Tracy instrumentation, compatibility translation, frame images, and validation diagnostics; review swap chains, overlays, resource lifetime, and…

gmh5225/awesome-game-security · 90 tokens

console-get-logs

Retrieve Unity Editor logs from the MCP plugin's LogCollector, optionally filtered by log type or time window. Useful for debugging and monitoring Editor activity.

IvanMurzak/Unity-MCP · 35 tokens

editor-application-get-state

Return the current state of UnityEditor.EditorApplication — playmode, paused state, compilation state, and related flags.

IvanMurzak/Unity-MCP · 31 tokens

console-clear-logs

Clear the MCP log cache (used by 'console-get-logs') and the Unity Editor Console window. Useful for isolating logs to a specific action by clearing the slate first.

IvanMurzak/Unity-MCP · 41 tokens

profiler-start

Enable Unity's runtime profiler and open the Profiler window. Idempotent: calling when already enabled returns the current enabled state without error.

IvanMurzak/Unity-MCP · 32 tokens