agentleFS
real-link-techreal-link-tech/reallink-skills/skills/rdc-analysis/SKILL.md

rdc-analysis

Skill4 starsChanged 3 months agoMITView on GitHub

Analyze RenderDoc .rdc capture files to diagnose rendering issues and perform rendering analysis. Self-contained with bundled Python 3.6 + renderdoc runtime (~36 MB). Use when: (1) User provides a .rdc frame capture file for analysis, (2) Diagnosing rendering problems (black screen, texture errors, depth issues, shader bugs), (3) Analyzing draw call or dispatch pipeline state, (4) Comparing before/after resource states (RT, textures, buffers), (5) Investigating GPU performance bottlenecks, (6) Understanding the rendering pipeline of a captured frame, or (7) Comparing exported render target images with DISCARD-aware pixel difference and brightness analysis.

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 0 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    All scripts only support Python 3.6 via the bundled interpreter.

    line 12
  2. Very specific:

    All renderdoc dependencies must use bundled versions from assets/runtime/.

    line 13
  3. Very specific:

    Always use run_export.py as entry point — it auto-deploys the correct runtime.

    line 14
  4. Very specific:

    When --eid is active, replay stability flags (RDC_SETFRAME_FULL_REPLAY, RDC_SKIP_QUEUE_SWITCH_IDLE, RDC_CMDLIST_RESET_NULL_PSO, …

    line 80
  5. Very specific:

    Use the bundled scripts/image_diff.py tool (requires system Python 3.6+ and Pillow):

    line 103

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

RDC Analysis

Self-contained skill for analyzing RenderDoc .rdc frame captures. Bundles Python 3.6 runtime + renderdoc module + rdc_export.py export tool.

Runtime Requirements

  • All scripts only support Python 3.6 via the bundled interpreter. Do NOT use system Python to run rdc_export.py — ABI incompatibility with renderdoc.pyd.
  • All renderdoc dependencies must use bundled versions from assets/runtime/. Do NOT substitute with system RenderDoc.
  • Always use run_export.py as entry point — it auto-deploys the correct runtime.

Environment Setup

First-time setup is automatic. Run the export runner and it deploys the bundled runtime:

python "<skill-path>/scripts/run_export.py" --eid -1 <capture.rdc>

Runtime deploys to <workspace>/.rdc-analysis-runtime/ (~36 MB). Subsequent runs skip deployment if unchanged.

Export Workflow

Event list only (fastest)

python "<skill-path>/scripts/run_export.py" --eid -1 <capture.rdc>

Produces only event_list.md — use to identify target EIDs before full export.

Single event

python "<skill-path>/scripts/run_export.py" --eid <EID> <capture.rdc>

Event range

python "<skill-path>/scripts/run_export.py" --eid <start>-<end> <capture.rdc>

Full export (all events)

python "<skill-path>/scripts/run_export.py" <capture.rdc>

Warning: full export can take minutes and produce gigabytes. Prefer --eid filtering.

Command-Line Arguments

python run_export.py [OPTIONS] <capture.rdc>
ArgumentDescription
<capture.rdc>Path to the .rdc capture file (required)
--eid <spec>EID filter: -1 (event list only), 1234 (single), 1000-2000 (range)
--no-skip-slateui-titleInclude UE SlateUI Title events (skipped by default)
--renderdoc-path <dir>Override renderdoc module search path

Key Environment Variables

VariableDescriptionDefault
RDC_EXPORT_EIDSame as --eid (CLI overrides)—
RDC_EXPORT_SKIP_SLATEUI_TITLE0/false to include SlateUItrue
RDC_EXPORT_ALL_PSOS1 to export ALL PSOsfalse
RDC_REPLAY_FORCE_SOFTWARE1 to force WARPfalse
RDC_WORKER_TIMEOUT_SECWorker timeout (seconds)6000
RDC_WORKER_MAX_WS_GBWorker max working set (GB)128

When --eid is active, replay stability flags (RDC_SETFRAME_FULL_REPLAY, RDC_SKIP_QUEUE_SWITCH_IDLE, RDC_CMDLIST_RESET_NULL_PSO, RDC_SKIP_QUERY_REPLAY) are auto-set to 1. Override by setting them explicitly.

Output Structure

Export produces <capture_name>/ next to the .rdc file. For detailed format specs, see references/output-format.md.

PathContent
event_list.mdFrame event hierarchy (start here)
events/EID_*.mdPer-draw/dispatch: pipeline, shaders, bindings, RT before/after, textures, buffers
pso/*.mdPipeline State Object configs
shaders/*.mdShader disassembly + resource bindings
buffers/*.mdCB structured values, VB/IB data, hex dumps
textures/, render_targets/PNG snapshots (before/after)

Diagnosis

For rendering issue diagnosis patterns (black screen, wrong colors, geometry issues, depth/Z-fighting, transparency, compute, performance), see references/diagnosis-patterns.md.

DISCARD Overlay Handling

CRITICAL: RenderDoc fills discarded resource regions with visible 64×8 pixel text overlays during replay. These are NOT actual render content. Before any pixel-level analysis on exported images, detect and exclude DISCARD pixels — otherwise statistics and diffs will be incorrect.

Use the bundled scripts/image_diff.py tool (requires system Python 3.6+ and Pillow):

# Compare two images (DISCARD-aware brightness diff)
python "<skill-path>/scripts/image_diff.py" <a.png> <b.png>

# Single image stats
python "<skill-path>/scripts/image_diff.py" --stats <image.png>

# Save diff heatmap / mask visualization
python "<skill-path>/scripts/image_diff.py" <a.png> <b.png> --save-diff diff.png --save-mask mask.png

# JSON output
python "<skill-path>/scripts/image_diff.py" <a.png> <b.png> --json

For DISCARD pattern specifications, detection algorithm, and custom masking code, see references/discard-patterns.md.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.