← all publishers

HLND2T

@hlnd2t source repo

51 published skills

  1. Generate Signature For Structoffset · hlnd2t
    Generate and validate unique byte signatures for instructions containing a struct member offset using IDA Pro MCP. Use this skill when you need a signature for an instruction like mov [rcx+1A8h], eax or cmp dword ptr [rdi+0B0h], 0, where the struct offset must be explicitly fixed in the first instruction bytes. Triggers: struct offset signature, signature for struct offset, structure member offset signature, mov [reg+offset] signature, struct field signature
    0 installs
  2. Find Cnetworkmessages Getisforserver · hlnd2t
    Find and identify the CNetworkMessages_GetIsForServer virtual function in CS2 binary using IDA Pro MCP. Use this skill when reverse engineering CS2 networksystem.dll or libnetworksystem.so to locate the GetIsForServer vfunc by reusing the known CNetworkMessages_SetIsForServer slot and checking the adjacent CNetworkMessages vtable entry. Trigger: CNetworkMessages_GetIsForServer
    0 installs
  3. Find Cnetworkgameserver Getfreeclient · hlnd2t
    Final-guarantee fallback for CNetworkGameServer_GetFreeClient. Locate the concrete free-client allocator in CS2 engine2.dll / libengine2.so when the ConnectClient decompile preprocessor cannot resolve it. Use only after the deterministic preprocessor returns failure. Trigger: CNetworkGameServer_GetFreeClient
    0 installs
  4. Find Ivengineserver2 Getclientsteamid · hlnd2t
    Final-guarantee fallback for the find-IVEngineServer2_GetClientSteamID preprocessor. Recovers IVEngineServer2::GetClientSteamID (a virtual function of the IVEngineServer2 interface) in CS2 server.dll / libserver.so by decompiling its known predecessor CBasePlayerController_HandleCommand_JoinTeam and identifying the vtable-slot fetch on g_engine. Use this skill only when the deterministic/LLM preprocessor (ida_preprocessor_scripts/find-IVEngineServer2_GetClientSteamID.py) could not resolve the target. Trigger: IVEngineServer2_GetClientSteamID
    0 installs
  5. Find Ccsbotmanager Addbot Botnavignore · hlnd2t
    Find and patch the g_pNavMesh null-check inside CCSBotManager_AddBot in CS2 binary using IDA Pro MCP. This patch removes the navigation mesh requirement so bots can be added even without a nav mesh loaded. Use this skill when reverse engineering CS2 server.dll or libserver.so to locate and patch the nav mesh check in AddBot. Trigger: bot nav ignore, AddBot nav mesh patch, bot without nav, CCSBotManager nav ignore
    0 installs
  6. Find Cnetworkmessages Vtable Decompiles · hlnd2t
    Find and identify CNetworkMessages_AllowAdditionalMessageRegistration and CNetworkMessages_IsAdditionalMessageRegistrationAllowed virtual functions in CS2 binary using IDA Pro MCP. Use this skill when reverse engineering CS2 networksystem.dll or libnetworksystem.so to locate both vfuncs by reusing the known CNetworkMessages_RegisterNetworkFieldChangeCallbackInternal slot and checking the two adjacent CNetworkMessages vtable entries. Trigger: CNetworkMessages_AllowAdditionalMessageRegistration, CNetworkMessages_IsAdditionalMessageRegistrationAllowed
    0 installs
  7. Find Ccsgamerules Sm Mapgcbaninformation · hlnd2t
    Find and identify the CCSGameRules__sm_mapGcBanInformation global variable in CS2 binary using IDA Pro MCP. Use this skill when reverse engineering CS2 server.dll or libserver.so to locate the GC ban information map structure by decompiling CCSPlayerController_ResourceDataThink's sub-function (Linux) or searching for the "Notification about user penalty" string (Windows).
    0 installs
  8. Find Inetworkserverservice Isactiveingame · hlnd2t
    Final-guarantee fallback for the find-INetworkServerService_IsActiveInGame preprocessor. Recovers INetworkServerService::IsActiveInGame (a virtual function of the CNetworkServerService vtable) in CS2 engine2.dll / libengine2.so by decompiling its known predecessor CSteam3ServerS1_InitGameServer and identifying the virtual call on g_pNetworkServerService. Use this skill only when the deterministic/LLM preprocessor (ida_preprocessor_scripts/find-INetworkServerService_IsActiveInGame.py) could not resolve the target. Trigger: INetworkServerService_IsActiveInGame
    0 installs
  9. Find Cserversideclientbase Getuseridstring · hlnd2t
    Final-guarantee fallback for CServerSideClientBase_GetUserIDString when its deterministic string-xref preprocessor cannot resolve the function. Locate the concrete user-ID formatting helper in engine2.dll / libengine2.so and write the semantic artifact for the active platform. Trigger: CServerSideClientBase_GetUserIDString
    0 installs
  10. Find Inetworkserverservice Isserverrunning · hlnd2t
    Final-guarantee fallback for the find-INetworkServerService_IsServerRunning preprocessor. Recovers INetworkServerService::IsServerRunning (a virtual function of the CNetworkServerService vtable) in CS2 engine2.dll / libengine2.so by decompiling its known predecessor CNetworkGameClientBase__ProcessNetworking and identifying the virtual call on g_pNetworkServerService. Use this skill only when the deterministic/LLM preprocessor (ida_preprocessor_scripts/find-INetworkServerService_IsServerRunning.py) could not resolve the target. Trigger: INetworkServerService_IsServerRunning
    0 installs
  11. Fix Cppheaders · hlnd2t bundle
    Use when hl2sdk_cs2 C++ headers must be repaired to match the latest vtable or record-layout YAML references. Runs run_cpp_tests.py to obtain layout diffs, maps failing cpp_tests entries to their configured headers, edits only those headers, and repeats validation until the differences are resolved. Triggers: fix cpp headers, fix-cppheaders, repair vtable layout, repair record layout, header layout differences.
    0 installs
  12. Create Cpp Tests · hlnd2t bundle
    Create a new cpp_tests entry for validating a C++ interface vtable layout against binary reference YAMLs. Creates the .cpp test file in cpp_tests/ and appends a configs/<GAMEVER>.yaml entry under cpp_tests:. Use when a user asks to add vtable layout validation for a new hl2sdk_cs2 interface class.
    0 installs
  13. Get Vtable Index · hlnd2t
    Find a function's vtable offset and index using IDA Pro MCP. Use this skill when you have a function address and need to determine its position in a vtable by iterating through vtable entries. Triggers: vtable index, vftable offset, virtual function table position, find function in vtable
    0 installs
  14. Run Vcall Finder · hlnd2t bundle
    Run this repository's ad hoc vcall_finder workflow for explicitly selected CS2 modules and one or more symbol names. Use when asked to temporarily find virtual calls for named symbols without registering them in a versioned analysis config.
    0 installs
  15. Cleanup Workspace · hlnd2t bundle
    Clean up the local workspace after a dev branch has been merged into main. Verifies the current dev branch is fully merged into origin/main, then switches to main, pulls the latest, deletes the local dev branch, and deletes the remote dev branch if it still exists. STOPS and warns the user if the current branch is not yet merged. Triggers: cleanup workspace, cleanup branch, delete merged branch, finish dev branch, post-merge cleanup
    0 installs
  16. Get Func From YAML · hlnd2t
    Load function information from a pre-generated YAML file. Use this skill when you need function address, size, signature, and optional vtable metadata before downstream analysis. This skill checks for existing function YAML files and errors out if not found.
    0 installs
  17. Get Vtable Address · hlnd2t
    Find a function's vtable address using IDA Pro MCP. Use this skill when want to get exact virtual address of a class. Triggers: get vftable address, get virtual function table, find vtable, get vtable
    0 installs
  18. Write Func As YAML · hlnd2t
    Write function analysis results as YAML file beside the binary using IDA Pro MCP. Use this skill after completing function identification and signature generation to persist the results in a standardized YAML format. For virtual functions with known vtable index, use write-vfunc-as-yaml instead.
    0 installs
  19. Resolve Pr Conflict · hlnd2t bundle
    Resolve an open same-repository GitHub PR conflict by merging its base into the writable dev head, resolving source and config intent semantically, rebuilding conflicted source-owned `bin_artifacts` plus downstream closure, running the repository review/format/test gates, creating one merge commit, and pushing without force. Stop after reporting PR checks; never merge or auto-merge the PR.
    0 installs
  20. Write Patch As YAML · hlnd2t
    Write patch analysis results, including patch_sig match VA/RVA, as a YAML file beside the binary using IDA Pro MCP. Use this skill after identifying a patch target and generating a unique signature to persist patch_name, patch_va, patch_rva, patch_sig, optional patch_sig_disp, and patch_bytes in a standardized format.
    0 installs
  21. Write Vfunc As YAML · hlnd2t
    Write virtual function analysis results as YAML file beside the binary using IDA Pro MCP. Use this skill after completing virtual function identification, signature generation, and vtable analysis to persist the results in a standardized YAML format.
    0 installs
  22. Get Vtable From YAML · hlnd2t
    Load vtable information from a pre-generated YAML file. Use this skill when you need to get vtable address and size for a class before analyzing virtual functions. This skill checks for existing vtable YAML files and errors out if not found, ensuring the vtable analysis has been done first.
    0 installs
  23. Write Vtable As YAML · hlnd2t
    Write vtable analysis results as YAML file beside the binary using IDA Pro MCP. Use this skill after locating a vtable to persist the results in a standardized YAML format.
    0 installs
  24. Trigger Release Build · hlnd2t bundle
    Safely dispatch an immutable source-owned Release verification or publication from the current origin/main SHA. Use only when explicitly asked to verify, publish, or rebuild a game version.
    0 installs
  25. Generate Reference YAML · hlnd2t bundle
    Generate reference YAML via project CLI into ida_preprocessor_scripts/references/<module>/<func_name>.<platform>.yaml
    0 installs
  26. Write Globalvar As YAML · hlnd2t
    Write global variable analysis results as YAML file beside the binary using IDA Pro MCP. Use this skill after completing global variable identification and signature generation to persist the results in a standardized YAML format.
    0 installs
  27. Find Cnetworkmessages Dtor · hlnd2t
    Find and identify the CNetworkMessages destructor virtual function in CS2 binary using IDA Pro MCP. Use this skill when reverse engineering CS2 networksystem.dll or libnetworksystem.so to locate the CNetworkMessages_dtor vfunc by scanning the last three entries of the CNetworkMessages vtable. Trigger: CNetworkMessages_dtor
    0 installs
  28. Write Structoffset As YAML · hlnd2t
    Write struct member offset analysis results as YAML file beside the binary using IDA Pro MCP. Use this skill after identifying a struct member offset and optionally generating a signature for it to persist the results in a standardized YAML format.
    0 installs
  29. Create Agent Skill Fallback · hlnd2t bundle
    Create an Agent SKILL.md fallback for an existing find-XXXX finder that relies on a fragile discovery foundation — above all LLM_DECOMPILE (patterns C/D/E), which matches the decompiled shape of a predecessor function against a stored reference and breaks when a symbol is inlined or de-inlined in a way the reference does not cover. The generated fallback coexists with the preprocessor and runs only when it returns failure, recovering every target robustly by decompiling the predecessor and following the inline/de-inline boundary with semantic anchors. Use when a finder broke on a game update, or you want to durably backstop one before it does. The recipe generalizes to any finder foundation. Triggers: create agent skill fallback, add SKILL.md fallback, robust fallback for finder, backstop LLM_DECOMPILE finder, final guarantee skill
    0 installs
  30. Create Preprocessor Scripts · hlnd2t bundle
    Create a new find-XXXX preprocessor Python script from scratch (no existing SKILL.md), add configs/<GAMEVER>.yaml skill and symbol entries. Covers xref-string-based and LLM_DECOMPILE-based discovery patterns. Use when a GitHub issue or user instruction specifies a new function to find.
    0 installs
  31. Rename Preprocessor Scripts · hlnd2t bundle
    Rename a symbol (function, vfunc, vtable, struct member, global variable) across all preprocessor scripts, configs/<GAMEVER>.yaml entries, and tracked source-owned YAML artifacts. Use when a symbol's name changes (class rename, naming-convention fix, etc.), or when splitting a single finder into an inline/noinline fallback chain because a helper de-inlined and the target's YAML stopped being produced on some gamever/platform.
    0 installs
  32. Generate Signature For Patch · hlnd2t
    Generate and validate unique byte signatures for instructions that need to be runtime-patched using IDA Pro MCP. Use this skill when you need a signature to locate a specific instruction for patching (e.g., force/skip a branch, NOP a call, change an immediate operand). Triggers: patch signature, signature for patch, patch instruction signature, nop signature, jump patch signature, skip branch signature, force branch signature
    0 installs
  33. Generate Signature For Function · hlnd2t
    Generate and validate unique byte signatures for functions using IDA Pro MCP. Use this skill when you need to create a pattern-scanning signature for a function that can reliably locate it across binary updates. Triggers: generate signature, byte signature, pattern signature, function signature, unique signature, sig for function
    0 installs
  34. Run Validation Until No Failure · hlnd2t bundle
    Use when the user wants to run the IDA validation pipeline (`uv run ida_analyze_bin.py -debug`) repeatedly until it reports zero failures. For each failing skill, diagnose the failure, ask the user how to proceed, and offer several viable solutions. Only when the user explicitly says the failure cannot be solved now and asks to temporarily disable the skill, comment it out in configs/<GAMEVER>.yaml and record it in docs/ida_validation_failure-<GAMEVER>.md. Use after a game-version bump or a large batch of new skills when several skills may fail and you want a guided triage-and-quarantine pass. Triggers: run validation until no failure, validate until green, get validation passing, disable failing skills, quarantine failing skills, loop ida_analyze_bin until no failures
    0 installs
  35. Find Centitysystem M Entitynames · hlnd2t
    Final-guarantee fallback for the find-CEntitySystem_m_entityNames preprocessor. Recovers CEntitySystem::m_entityNames in CS2 server.dll / libserver.so by decompiling CEntitySystem_AddEntityToNameMap and recognizing its ordered-map/RB-tree lookup whether the lookup helper is emitted as a separate function or inlined into the predecessor. Use when ida_preprocessor_scripts/find-CEntitySystem_m_entityNames.py cannot resolve the member because the LLM_DECOMPILE reference shape moved across the inline boundary. Trigger: CEntitySystem_m_entityNames
    0 installs
  36. Generate Signature For Globalvar · hlnd2t
    Generate and validate unique byte signatures for global variable using IDA Pro MCP. Use this skill when you need to create a pattern-scanning signature for a global variable that can reliably locate it across binary updates. Triggers: global variable signature, signature for global variable
    0 installs
  37. Find Centitysystem Init Decompiles · hlnd2t
    Final-guarantee fallback for the find-CEntitySystem_Init-decompiles preprocessor. Recovers the struct members, indirect virtual-function offsets, and de-inlined helpers that CEntitySystem::Init sets up, by decompiling CEntitySystem_Init in CS2 server.dll / libserver.so and following de-inlined callees when a target is no longer accessed directly. Use this skill when the deterministic/LLM preprocessor (ida_preprocessor_scripts/find-CEntitySystem_Init-decompiles.py) could not resolve every target because a member or vfunc was inlined or de-inlined in a way the LLM_DECOMPILE references do not cover. Trigger: CEntitySystem_m_sEntSystemName, CEntitySystem_m_eNetworkSerializationMode, CEntitySystem_m_Symbols, CEntitySystem_m_ComponentUnserializerInfoAllocator, CEntitySystem_m_pNetworkFieldChangedEventQueue, CEntitySystem_m_pNetworkFieldScratchData, CEntitySystem_m_pFieldChangeLimitSpew, CEntitySystem_m_EntityMaterialAttributes, INetworkMessages_SetNetworkSerializationContextData, IFlattenedSerializers_CreateFieldCh
    0 installs
  38. Generate Signature For Vfuncoffset · hlnd2t
    Generate and validate unique byte signatures for instructions containing a virtual-function offset using IDA Pro MCP. Use this skill when you need a signature for an instruction like call qword ptr [rax+538h], where the vfunc offset (0x538) must be explicitly fixed in the first instruction bytes. Triggers: vfunc offset signature, signature for vfunc offset, virtual function offset signature, call [reg+offset] signature
    0 installs
  39. Create Pr · hlnd2t bundle
    Create a GitHub pull request from staged task changes or an already-committed current branch. Deliver source/config/ reference changes together with their computed source-owned `bin_artifacts` closure. PR validation routing is owned by the default-branch trusted workflow; snapshots, gamedata, and manifests are Release-derived only.
    0 installs
  40. Dump Vtables · hlnd2t bundle
    Batch-dump vtables from IDA Pro MCP by searching mangled symbol patterns, then write a merged YAML file beside the binary. Use this skill when you need to find and export all vtables matching a name pattern (e.g., all GameSystem vtables) in one shot. Triggers: dump vtables, batch vtable dump, export vtables, dump all vtables matching pattern
    0 installs
  41. Init Gamebin · hlnd2t bundle
    Initialize this repository's disposable local game binaries and per-binary BinSync auto-recovery sidecars for an exact GAMEVER from download.yaml or its latest entry. Use only when explicitly asked to initialize gamebin/bin state for a CS2 game version.
    0 installs
  42. Find Onservervoicedata Isplayingdemo Callee · hlnd2t
    Generate the Windows-only OnServerVoiceData_IsPlayingDemo_Callee patch YAML from IVEngineClient2_IsPlayingDemo.windows.yaml using a deterministic preprocessor script. Use when locating the IVEngineClient2::IsPlayingDemo indirect call inside C_ServerVoiceHandler::OnServerVoiceData without LLM decompilation. Trigger: OnServerVoiceData IsPlayingDemo callee, voice demo call patch, IsPlayingDemo callsite
    0 installs
  43. Convert Finder Skill To Preprocessor Scripts · hlnd2t bundle
    Convert an existing find-XXXX SKILL.md into a preprocessor Python script, updating configs/<GAMEVER>.yaml and removing the old SKILL.md. Covers xref-string-based and LLM_DECOMPILE-based discovery patterns.
    0 installs
  44. Find Cbaseentity Getchangeaccessorpathinfo 1 · hlnd2t
    Find and identify the CBaseEntity_GetChangeAccessorPathInfo_1 virtual function in CS2 binary using IDA Pro MCP. Use this skill when reverse engineering CS2 server.dll or libserver.so to locate the second GetChangeAccessorPathInfo override by scanning CBaseEntity vtable slots near the known CBaseEntity_GetChangeAccessorPathInfo_2 slot for an implementation identical to CBaseEntity_GetChangeAccessorPathInfo_2. Trigger: CBaseEntity_GetChangeAccessorPathInfo_1
    0 installs
  45. Find Cnetworkgameserverbase Createfakeclient · hlnd2t
    Final-guarantee fallback for the find-CNetworkGameServerBase_CreateFakeClient preprocessor. Recovers CNetworkGameServerBase_CreateFakeClient in CS2 engine2.dll / libengine2.so when the string-xref preprocessor cannot resolve the function. Use this skill only after the deterministic preprocessor returns failure. Trigger: CNetworkGameServerBase_CreateFakeClient
    0 installs
  46. Find Cnetworkgameserverbase Getchallengetype · hlnd2t
    Agent fallback for the find-CNetworkGameServerBase_GetChallengeType preprocessor. Locates the CNetworkGameServerBase_GetChallengeType virtual function in CS2 engine2.dll / libengine2.so by decompiling its caller CNetworkGameServerBase_ReplyChallenge and reading the first virtual dispatch made on the server this-pointer. Use this skill only when the deterministic/LLM preprocessor (ida_preprocessor_scripts/find-CNetworkGameServerBase_GetChallengeType.py) could not resolve the vfunc — for example when the LLM_DECOMPILE step failed with a transient API error. Trigger: CNetworkGameServerBase_GetChallengeType
    0 installs
  47. Find Inetworkserverservice Getserverserializerscrc · hlnd2t
    Final-guarantee fallback for the find-INetworkServerService_GetServerSerializersCRC preprocessor. Recovers INetworkServerService::GetServerSerializersCRC (a virtual function of the CNetworkServerService vtable) in CS2 engine2.dll / libengine2.so by decompiling its known predecessor CNetworkGameServer_WriteClassInfosAndSerializesToBuffer and identifying the virtual call on g_pNetworkServerService. Use this skill only when the deterministic/LLM preprocessor (ida_preprocessor_scripts/find-INetworkServerService_GetServerSerializersCRC.py) could not resolve the target. Trigger: INetworkServerService_GetServerSerializersCRC
    0 installs
  48. Find Cnetworkgameserverbase Checktimeouts Decompiles · hlnd2t
    Agent fallback for the find-CNetworkGameServerBase_CheckTimeouts-decompiles preprocessor. Locates the CNetworkGameServerBase_IsHLTV virtual function in CS2 engine2.dll / libengine2.so by decompiling its caller CNetworkGameServerBase_CheckTimeouts and reading the virtual dispatch made on the server this-pointer that gates the server-decided-timeout path. Use this skill only when the deterministic/LLM preprocessor (ida_preprocessor_scripts/find-CNetworkGameServerBase_CheckTimeouts-decompiles.py) could not resolve the vfunc — for example when the LLM_DECOMPILE step failed with a transient API error. Trigger: CNetworkGameServerBase_IsHLTV
    0 installs
  49. Find Ccsplayer Movementservices Fullwalkmove Speedclamp · hlnd2t
    Find and identify the velocity clamping branch inside CCSPlayer_MovementServices_FullWalkMove in CS2 binary using IDA Pro MCP, then generate a patch signature to disable it. Use this skill when reverse engineering CS2 server.dll or libserver.so to locate and patch the speed-clamp if-branch that caps player velocity to maxspeed inside FullWalkMove. Trigger: FullWalkMove speed clamp, velocity clamping patch, FullWalkMove SpeedClamp, disable maxspeed clamp
    0 installs
  50. Find Cnetworkmessages Getnetworkserializationcontextdata · hlnd2t
    Find and identify the CNetworkMessages_GetNetworkSerializationContextData virtual function in CS2 binary using IDA Pro MCP. Use this skill when reverse engineering CS2 networksystem.dll or libnetworksystem.so to locate the getter vfunc by reusing the known CNetworkMessages_SetNetworkSerializationContextData slot and checking the adjacent CNetworkMessages vtable entry. Trigger: CNetworkMessages_GetNetworkSerializationContextData
    0 installs
  51. Find Ccsplayer Movementservices Checkjumpbutton Waterpatch · hlnd2t
    Find and patch the water jump velocity inside CCSPlayer_MovementServices_CheckJumpButton in CS2 binary using IDA Pro MCP. This patch changes the water jump velocity from 100.0f to 145.0f by modifying the immediate operand of a mov instruction. Use this skill when reverse engineering CS2 server.dll or libserver.so to locate and patch the water jump height value. Trigger: water jump patch, CheckJumpButton water velocity, jump height patch, water jump 145
    0 installs