New to Claude Skills? Learn how to install them →

hkuds on GitHub

RenderDoc CLI

Free

Command-line analysis for RenderDoc GPU captures.

by hkuds46.9k stars on hkuds/cli-anything
5 views
Updated Aug 3, 2026
Get this skill

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 source

1. Install with the skills CLI

npx skills add hkuds/cli-anything/skills --agent claude-code

2. 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 hkuds

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

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.json
  • action_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

VariableDescription
RENDERDOC_CAPTUREDefault capture file path
PYTHONPATHMust include RenderDoc path

Agent Usage Notes

  • Use pipeline shader-export 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 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)
  • Use pipeline diff to compare two events — it writes a JSON file and prints only the path; use -b for a second capture
  • Always specify --json for programmatic consumption
  • Use actions summary first to understand capture complexity
  • Use actions list --draws-only to focus on actual rendering
  • Use preview capture or preview diff when the agent needs a portable, honest inspection bundle rather than raw replay calls alone
  • Read _trajectory_path from 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