Use when adding new error messages to React, or seeing "unknown error code" warnings.
npx skills add hzqst/CS2_VibeSignatures --skill "find-CBasePlayerController_HandleCommand_JoinTeam"
Install specific skill from multi-skill repository
# Description
Find and identify the CBasePlayerController_HandleCommand_JoinTeam function in CS2 binary using IDA Pro MCP. Use this skill when reverse engineering CS2 server.dll or server.so to locate the HandleCommand_JoinTeam function by searching for known debug string references and analyzing cross-references.
# SKILL.md
name: find-CBasePlayerController_HandleCommand_JoinTeam
description: Find and identify the CBasePlayerController_HandleCommand_JoinTeam function in CS2 binary using IDA Pro MCP. Use this skill when reverse engineering CS2 server.dll or server.so to locate the HandleCommand_JoinTeam function by searching for known debug string references and analyzing cross-references.
Find CBasePlayerController_HandleCommand_JoinTeam
Locate CBasePlayerController_HandleCommand_JoinTeam in CS2 server.dll or server.so using IDA Pro MCP tools.
Method
-
Search for the debug string:
mcp__ida-pro-mcp__find_regex pattern="HandleCommand_JoinTeam\( %d \) - invalid" -
Get cross-references to the string:
mcp__ida-pro-mcp__xrefs_to addrs="<string_addr>" -
Decompile the referencing function:
mcp__ida-pro-mcp__decompile addr="<function_addr>" -
Rename the function:
mcp__ida-pro-mcp__rename batch={"func": [{"addr": "<function_addr>", "name": "CBasePlayerController_HandleCommand_JoinTeam"}]} -
Generate and validate unique signature:
DO NOT use find_bytes as it won't work for function.
ALWAYS Use SKILL /generate-signature-for-function to generate a robust and unique signature for the function.
- Write IDA analysis output as YAML beside the binary:
ALWAYS Use SKILL /write-func-ida-analysis-output-as-yaml to write the analysis results.
Required parameters:
- func_name: CBasePlayerController_HandleCommand_JoinTeam
- func_addr: The function address from step 3
- func_sig: The validated signature from step 6
Signature Pattern
The function contains a debug warning call with format string:
HandleCommand_JoinTeam( %d ) - invalid team index.
Function Characteristics
- Prototype:
bool CBasePlayerController::HandleCommand_JoinTeam(CBasePlayerController *pPlayerController, int teamIndex, bool bQueue) - Parameters:
this: CBasePlayerController pointerteamIndex: The target team indexbQueue: Whether to queue the team change- Return: bool indicating success/failure
Team IDs
0: Unassigned1: Spectator2: Terrorist3: Counter-Terrorist
Output YAML Format
The output YAML filename depends on the platform:
- server.dll β CBasePlayerController_HandleCommand_JoinTeam.windows.yaml
- server.so β CBasePlayerController_HandleCommand_JoinTeam.linux.yaml
func_va: 0x180XXXXXX # Virtual address of the function - This can change when game updates.
func_rva: 0xXXXXXX # Relative virtual address (VA - image base) - This can change when game updates.
func_size: 0xXXX # Function size in bytes - This can change when game updates.
func_sig: XX XX XX XX XX # Unique byte signature for pattern scanning - This can change when game updates.
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.