Agent skill
cli-anything-renderdoc
CLI harness for RenderDoc graphics debugger capture analysis
Install this agent skill to your Project
npx add-skill https://github.com/HKUDS/CLI-Anything/tree/main/renderdoc/agent-harness/cli_anything/renderdoc/skills
SKILL.md
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 |
|---|---|
RENDERDOC_CAPTURE |
Default capture file path |
PYTHONPATH |
Must include RenderDoc path |
Agent Usage Notes
- Use
pipeline shader-exportto 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 directly - Shader formats by capture API:
- D3D11 → DXBC binary, exported as embedded HLSL source (
.hlsl) or bytecode asm (.dxbc.asm) - OpenGL/GLES → GLSL source text (
.glsl), already human-readable - Vulkan → SPIR-V binary, exported as embedded GLSL source (
.glsl) or SPIR-V asm (.spv.asm)
- D3D11 → DXBC binary, exported as embedded HLSL source (
- Use
pipeline diffto compare two events — it writes a JSON file and prints only the path; use-bfor a second capture - Always specify
--jsonfor programmatic consumption - Use
actions summaryfirst to understand capture complexity - Use
actions list --draws-onlyto focus on actual rendering - 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
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
cli-anything-sts2
Command-line interface for Slay the Spire 2 - Control the real game through a local bridge mod HTTP API. Reads normalized game state and sends action commands for combat, navigation, rewards, and menu management.
musescore
CLI for music notation — transpose, export PDF/audio/MIDI, extract parts, manage instruments
cli-anything-videocaptioner
AI-powered video captioning — transcribe speech, optimize/translate subtitles, burn into video with beautiful customizable styles (ASS outline or rounded background). Free ASR and translation included.
cli-anything-openscreen
Command-line interface for Openscreen — a screen recording editor. A stateful CLI for editing screen recordings with zoom, speed ramps, trim, crop, annotations, and polished exports. Built on the Openscreen JSON project format with ffmpeg as the rendering backend. Designed for AI agents and power users who need programmatic video editing.
cli-anything-adguardhome
Command-line interface for AdGuard Home - Network-wide ad blocking and DNS management via AdGuard Home REST API. Designed for AI agents and power users who need to manage filtering, DNS rewrites, clients, DHCP, and query logs without a GUI.
cli-anything-intelwatch
Zero friction. Full context. Competitive intelligence, M&A due diligence, and OSINT directly from your terminal. Uses Node.js/npx.
Didn't find tool you were looking for?