Get Function from YAML

SkillFiles & storage

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.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Get Function from YAML skill

What this skill tells your AI

The instructions your AI receives, as published by hlnd2t/cs2_vibesignatures in .claude/skills/get-func-from-yaml/SKILL.md and read by ahel’s review.

Load function information from a pre-generated {func_name}.{platform}.yaml file beside the binary.

Parameters

  • func_name: The function name to look up (e.g., CBaseModelEntity_SetModel, CCSPlayerController_ChangeTeam, CEntityInstance_AcceptInput)

Method

1. Check and Load Function YAML

Run the following code with the appropriate func_name:

mcp__ida-pro-mcp__py_eval code="""
import idaapi
import os

func_name = "<FUNC_NAME>"  # Replace with actual function name

input_file = idaapi.get_input_file_path()
dir_path = os.environ.get('CS2VIBE_ARTIFACT_DIR') or os.path.dirname(input_file)
platform = 'windows' if input_file.endswith('.dll') else 'linux'

yaml_path = os.path.join(dir_path, f"{func_name}.{platform}.yaml")

if os.path.exists(yaml_path):
    with open(yaml_path, 'r', encoding='utf-8') as f:
        print(f.read())
    print("FUNC_YAML_EXISTS: True")
else:
    print(f"ERROR: Required file {func_name}.{platform}.yaml not found.")
"""

2. Handle Result

If YAML exists (FUNC_YAML_EXISTS: True), extract available values from the output:

  • func_name: Function name (if present)
  • func_va: Function virtual address (if present)
  • func_rva: Function relative virtual address (if present)
  • func_size: Function size in bytes (if present)
  • func_sig: Function signature bytes (if present)
  • vtable_name: Related vtable class name (optional, virtual-function YAML only)
  • vfunc_offset: Offset from vtable start (optional, virtual-function YAML only)
  • vfunc_index: Index in vtable (optional, virtual-function YAML only)

Example YAML content:

func_name: CCSPlayerController_Respawn
func_va: 0x180A8CA10
func_rva: 0xA8CA10
func_size: 0x3F
func_sig: 41 B8 80 00 00 00 48 8D 99 10 05 00 00
vtable_name: CCSPlayerController
vfunc_offset: 0x330
vfunc_index: 102

If some fields are missing, use only the fields that exist in YAML and do not fabricate values.

If YAML does NOT exist, ERROR OUT and report to user:

ERROR: Required file {func_name}.{platform}.yaml not found.
Please run `/write-func-as-yaml` with func_name={func_name} first.
For virtual functions, `/write-vfunc-as-yaml` is also acceptable.

Do NOT proceed with any remaining steps in the calling skill.

Usage in Other Skills

When a skill needs function information, use this skill first:

### 1. Get {FuncName} Function Info

**ALWAYS** Use SKILL `/get-func-from-yaml` with `func_name={FuncName}`.

If the skill returns an error, stop and report to user.
Otherwise, extract `func_va`, `func_sig`, and other available fields for subsequent steps.

Example Output

FieldDescriptionExample
func_nameFunction nameCCSPlayerController_Respawn
func_vaVirtual address of function (optional in some virtual-function YAML)0x180A8CA10
func_rvaRelative virtual address (optional)0xA8CA10
func_sizeFunction size in bytes (optional)0x3F
func_sigByte signature (optional)41 B8 80 00 00 00 ...
vtable_nameRelated class name for virtual function (optional)CCSPlayerController
vfunc_offsetOffset from vtable start (optional)0x330
vfunc_indexIndex in vtable (optional)102

Signals

GitHub stars
65
Forks
10
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
get-func-from-yaml
Source
github.com/hlnd2t/cs2_vibesignatures