CLI-Anything cli-anything-renderdoc
CLI harness for RenderDoc graphics debugger capture analysis
install
source · Clone the upstream repo
git clone https://github.com/HKUDS/CLI-Anything
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/HKUDS/CLI-Anything "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/cli-anything-renderdoc" ~/.claude/skills/hkuds-cli-anything-cli-anything-renderdoc-08c1ee && rm -rf "$T"
manifest:
skills/cli-anything-renderdoc/SKILL.mdsource content
RenderDoc CLI Skill
Headless command-line analysis of RenderDoc GPU frame captures (
.rdc files).
Capabilities
- Capture inspection: metadata, sections, thumbnails, format conversion
- Action tree: list/search/filter draw calls, clears, dispatches, markers
- Texture operations: list, inspect, export (PNG/JPG/DDS/HDR/EXR), pixel picking
- Pipeline state: full shader/RT/viewport state at any event
- Shader analysis: export shader in human-readable form (HLSL/GLSL/disasm), constant buffer readback
- Resource inspection: buffer/texture enumeration, raw data reading
- Mesh data: vertex shader input/output decoding
- GPU counters: enumerate and fetch hardware performance counters
Command Groups
capture
cli-anything-renderdoc -c frame.rdc capture info # Metadata + sections cli-anything-renderdoc -c frame.rdc capture thumb -o t.png # Extract thumbnail cli-anything-renderdoc -c frame.rdc capture convert -o out.rdc --format rdc
actions
cli-anything-renderdoc -c frame.rdc actions list # All actions cli-anything-renderdoc -c frame.rdc actions list --draws-only # Draw calls only cli-anything-renderdoc -c frame.rdc actions summary # Counts by type cli-anything-renderdoc -c frame.rdc actions find "Shadow" # Search by name cli-anything-renderdoc -c frame.rdc actions get 42 # Single action
textures
cli-anything-renderdoc -c frame.rdc textures list cli-anything-renderdoc -c frame.rdc textures get <id> cli-anything-renderdoc -c frame.rdc textures save <id> -o out.png --format png cli-anything-renderdoc -c frame.rdc textures save-outputs 42 -o ./renders/ cli-anything-renderdoc -c frame.rdc textures pick <id> 100 200
pipeline
cli-anything-renderdoc -c frame.rdc pipeline state 42 # Export shader in human-readable form # Text shaders (GLSL/HLSL) → saved directly # Binary shaders (DXBC/SPIR-V) → embedded source (HLSL/GLSL) or disassembly cli-anything-renderdoc -c frame.rdc pipeline shader-export 42 --stage Fragment cli-anything-renderdoc -c frame.rdc pipeline shader-export 42 --stage Vertex -o ./shaders/ cli-anything-renderdoc -c frame.rdc pipeline cbuffer 42 --stage Vertex --index 0 # Compare pipeline state between two events # Default output: same directory as the capture file ; use -o to override cli-anything-renderdoc -c a.rdc pipeline diff 100 200 -b b.rdc cli-anything-renderdoc -c frame.rdc pipeline diff 100 200 # same capture cli-anything-renderdoc -c a.rdc pipeline diff 100 200 -b b.rdc -o result.json cli-anything-renderdoc -c a.rdc pipeline diff 100 200 -b b.rdc --no-compact
resources
cli-anything-renderdoc -c frame.rdc resources list cli-anything-renderdoc -c frame.rdc resources buffers cli-anything-renderdoc -c frame.rdc resources read-buffer <id> --format float32
mesh
cli-anything-renderdoc -c frame.rdc mesh inputs 42 --max-vertices 10 cli-anything-renderdoc -c frame.rdc mesh outputs 42
counters
cli-anything-renderdoc -c frame.rdc counters list cli-anything-renderdoc -c frame.rdc counters fetch --ids 1,2,3
JSON Mode
All commands support
--json for machine-readable output:
cli-anything-renderdoc -c frame.rdc --json actions summary
Environment Variables
| Variable | Description |
|---|---|
| Default capture file path |
| Must include RenderDoc path |
Agent Usage Notes
- Use
to extract shaders — for binary shaders (DXBC/SPIR-V) it auto-exports embedded HLSL/GLSL source or falls back to disassembly; for text shaders (GLSL/HLSL) it saves the raw source directlypipeline shader-export - Shader formats by capture API:
- D3D11 → DXBC binary, exported as embedded HLSL source (
) or bytecode asm (.hlsl
).dxbc.asm - OpenGL/GLES → GLSL source text (
), already human-readable.glsl - Vulkan → SPIR-V binary, exported as embedded GLSL source (
) or SPIR-V asm (.glsl
).spv.asm
- D3D11 → DXBC binary, exported as embedded HLSL source (
- Use
to compare two events — it writes a JSON file and prints only the path; usepipeline diff
for a second capture-b - Always specify
for programmatic consumption--json - Use
first to understand capture complexityactions summary - Use
to focus on actual renderingactions list --draws-only - Pipeline state requires an event ID from the action list
- Texture save supports: png, jpg, bmp, tga, hdr, exr, dds
- Buffer data can be decoded as hex, float32, uint32, or raw bytes