
RenderDoc CLI
FreeCommand-line analysis for RenderDoc GPU captures.
Free · Opens the source repo
What RenderDoc CLI does
The RenderDoc CLI skill provides a powerful command-line interface for analyzing GPU frame captures generated by the RenderDoc graphics debugger. This skill allows developers and designers to inspect, manipulate, and export data from .rdc files without needing a graphical interface. It is particularly useful for those working in graphics programming, game development, or visual effects, where understanding the details of frame rendering is crucial.
With capabilities such as capture inspection, texture operations, pipeline state analysis, and shader exportation, users can efficiently gather insights about their rendering processes. The skill supports a variety of operations including listing draw calls, filtering actions, and exporting textures in multiple formats like PNG and JPG. Additionally, it allows users to analyze GPU performance counters, providing a comprehensive view of the rendering pipeline.
The command groups are organized logically, allowing users to perform specific tasks related to captures, actions, textures, pipelines, resources, meshes, and counters. Each command is designed to be straightforward, enabling quick access to the information needed for debugging or optimization. The skill also supports JSON output, making it suitable for integration into automated workflows or scripts.
Ideal for technical artists, game developers, and graphics engineers, this CLI skill enhances the capabilities of RenderDoc by enabling headless analysis and batch processing of frame captures. It is a valuable tool for anyone looking to streamline their graphics debugging and analysis processes.
When to use it
Use this skill when you need to analyze RenderDoc GPU captures in a command-line environment or automate capture analysis tasks.
When not to use it
This skill may not be suitable for users who prefer graphical interfaces or require real-time rendering previews, as it focuses solely on post-capture analysis.
What you can build with it
Automated Capture Analysis
Use the RenderDoc CLI skill to automate the analysis of multiple GPU captures in a CI/CD pipeline.
Batch Texture Exporting
Quickly export all textures from a capture in various formats for use in your projects.
Shader Debugging
Extract and analyze shaders from your captures to debug rendering issues effectively.
How to install RenderDoc CLI
View source1. Install with the skills CLI
npx skills add hkuds/cli-anything/skills --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by hkudsRenderDoc 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
Preview Bundles
RenderDoc preview support is for truthful capture inspection rather than live creative preview.
# List preview recipes
cli-anything-renderdoc -c frame.rdc --json preview recipes
# Capture a preview bundle for the active capture or a specific event
cli-anything-renderdoc -c frame.rdc --json preview capture --recipe quick --event-id 42
# Capture a diff preview bundle for two events or captures
cli-anything-renderdoc -c frame.rdc --json preview diff 100 200
cli-anything-renderdoc -c a.rdc --json preview diff 100 200 --capture-b b.rdc
# Return the latest existing bundle for the capture
cli-anything-renderdoc -c frame.rdc --json preview latest --recipe quick
Typical preview bundle contents:
- capture thumbnail
- output-target images
pipeline_state.jsonaction_summary.json
Diff bundles additionally include:
- A/B thumbnails
- A/B output-target images
pipeline_diff.json
RenderDoc does not currently expose live preview sessions. Instead, each
capture/diff bundle appends to a stable recipe-level trajectory.json.
Viewer commands:
cli-hub previews inspect /path/to/bundle
cli-hub previews html /path/to/bundle -o page.html
cli-hub previews open /path/to/bundle
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 - Use
preview captureorpreview diffwhen the agent needs a portable, honest inspection bundle rather than raw replay calls alone - Read
_trajectory_pathfrom preview JSON if you need persistent capture/diff history - Use
cli-hub previews ...only to inspect/open already-generated bundles - 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
Frequently asked questions about RenderDoc CLI
Similar skills
Agent Host Debug Logs
Analyze Agent Host debug logs for deeper insights.
Code OSS Dev - Launch + Debug
Launch and debug Code OSS with isolated profiles.
Phoenix CLI
Debug LLM applications with structured analysis tools.
Power Automate Debugging
Diagnose and fix Power Automate flow errors effectively.
Arize Trace
Inspect and export traces for LLM applications.
Runtime Behavior Probe
Investigate real runtime behavior with precision.
