Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Analyze GPU captures and frame data from RenderDoc (.rdc files), PIX, or similar frame debuggers. Reconstructs render pass graphs, resource dependency chains, material/shader bindings, and pipeline state for a captured frame. Use when the user wants to understand how a frame is rendered, map out render passes and their resource dependencies, extract draw-call structure, identify redundant state changes, infer engine material or shader architecture, or build reusable render knowledge entries — ra
.claude/skills/haolange-rdc-analyst/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -24% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -4% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -19% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 61% | 0% |
Analyze GPU frame captures to reconstruct render pass graphs, resource flows, and engine structure. This skill handles analysis and knowledge-building requests; for defect debugging, use the debugger framework instead.
Determine what capture data is available:
| Input Type | Examples | Action | |------------|----------|--------| | RenderDoc capture | .rdc file, texture/buffer viewer output | Proceed with pass-level analysis | | Frame debugger log | PIX capture, Xcode GPU trace, NVIDIA Nsight export | Proceed — normalize to pass/draw-call model | | Engine replay data | Unreal Insights, Unity Frame Debugger dump | Proceed — map to render pass abstraction | | Text description only | "We have 3 passes: shadow, gbuffer, lighting" | Proceed with user-provided structure | | No capture available | User has no data yet | Help user plan what to capture and with which tool |
Ask the user to confirm what they need. If unclear, ask explicitly:
Follow the appropriate path based on the requested product:
Pass graph reconstruction:
Resource dependency chain:
Material/shader analysis:
Knowledge entry:
analyzer/common/ as a knowledge artifactBefore delivering results:
| User Says | Route To | |-----------|----------| | "Why is this triangle wrong" / "rendering bug" / "visual glitch" | Debugger — this is a defect, not analysis | | "Map out the render passes" / "show me the pass graph" | This skill — pass graph reconstruction | | "What resources does the shadow pass use" | This skill — resource dependency chain | | "How does this engine set up materials" | This skill — material/shader analysis | | "Document this rendering technique" | This skill — knowledge entry |
User: "I have a RenderDoc capture of our deferred renderer. Can you map out the pass structure and resource flow?"
Intake response: > To map the pass structure, I need to confirm: > 1. API: Which graphics API — D3D12, Vulkan, or Metal? > 2. Scope: Full frame, or a specific section (e.g., just the lighting passes)? > 3. Output: Pass graph with resource dependencies, or also material/shader breakdown? > > Once confirmed, I will reconstruct the pass sequence, identify render targets and input resources per pass, and produce a dependency table showing resource flow across passes.
After intake — sample output structure:
| Pass | Render Targets | Input Resources | Draw Calls | |------|---------------|-----------------|------------| | Shadow Depth | ShadowMap (D32) | — | 142 | | GBuffer | Albedo, Normal, Depth | — | 387 | | SSAO | AO (R8) | Depth, Normal | 1 | | Lighting | HDR Color | Albedo, Normal, Depth, AO, ShadowMap | 1 | | Tonemap | Backbuffer | HDR Color | 1 |
This skill is part of the incubating analyzer framework. It provides the full intake-and-analysis workflow described above. Analysis artifacts are stored under analyzer/common/. As the framework matures, additional automation (template hooks, runtime contracts) will be added.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-02 | fail→fail | 29,905 | 7,196 | -76% | 1 | 1 | 0% | 5,236 | 2,233 | -57% | 0 | 0 | — |
case-01 | fail→pass | 18,466 | 8,067 | -56% | 1 | 1 | 0% | 3,210 | 2,430 | -24% | 0 | 0 | — |
case-03 | pass→pass | 18,985 | 16,134 | -15% | 1 | 1 | 0% | 3,047 | 3,704 | +22% | 0 | 0 | — |
case-04 | fail→pass | 14,557 | 9,305 | -36% | 1 | 1 | 0% | 2,246 | 2,156 | -4% | 0 | 0 | — |
case-05 | fail→pass | 16,618 | 6,868 | -59% | 1 | 1 | 0% | 2,728 | 2,223 | -19% | 0 | 0 | — |
case-06 | pass→fail | 17,751 | 5,446 | -69% | 1 | 1 | 0% | 3,174 | 2,014 | -37% | 0 | 0 | — |
case-07 | pass→pass | 16,438 | 9,696 | -41% | 1 | 1 | 0% | 3,003 | 3,117 | +4% | 0 | 0 | — |
case-08 | pass→fail | 21,177 | 9,663 | -54% | 1 | 1 | 0% | 3,390 | 2,585 | -24% | 0 | 0 | — |
case-09 | pass→pass | 24,481 | 17,118 | -30% | 1 | 1 | 0% | 4,467 | 3,719 | -17% | 0 | 0 | — |
case-10 | pass→pass | 9,133 | 4,724 | -48% | 1 | 1 | 0% | 1,817 | 2,128 | +17% | 0 | 0 | — |
case-11 | fail→pass | 12,180 | 8,179 | -33% | 1 | 1 | 0% | 1,976 | 2,403 | +22% | 0 | 0 | — |
case-12 | fail→fail | 7,705 | 10,288 | +34% | 1 | 1 | 0% | 1,601 | 2,086 | +30% | 0 | 0 | — |
case-13 | pass→pass | 13,804 | 6,133 | -56% | 1 | 1 | 0% | 3,204 | 2,286 | -29% | 0 | 0 | — |
case-19 | pass→pass | 19,399 | 6,494 | -67% | 1 | 1 | 0% | 3,695 | 2,421 | -34% | 0 | 0 | — |
case-14 | pass→pass | 6,646 | 5,549 | -17% | 1 | 1 | 0% | 1,278 | 2,168 | +70% | 0 | 0 | — |
case-15 | pass→pass | 12,427 | 9,648 | -22% | 1 | 1 | 0% | 2,415 | 2,779 | +15% | 0 | 0 | — |
case-16 | fail→fail | 8,272 | 5,652 | -32% | 1 | 1 | 0% | 1,454 | 2,050 | +41% | 0 | 0 | — |
case-17 | fail→pass | 7,829 | 6,885 | -12% | 1 | 1 | 0% | 1,544 | 2,486 | +61% | 0 | 0 | — |
case-18 | fail→fail | 10,502 | 7,270 | -31% | 1 | 1 | 0% | 2,075 | 2,462 | +19% | 0 | 0 | — |
case-20 | pass→pass | 10,876 | 9,368 | -14% | 1 | 1 | 0% | 1,747 | 2,511 | +44% | 0 | 0 | — |
case-21 | pass→fail | 13,878 | 5,655 | -59% | 1 | 1 | 0% | 2,342 | 1,993 | -15% | 0 | 0 | — |
case-22 | pass→pass | 17,168 | 16,439 | -4% | 1 | 1 | 0% | 3,124 | 4,334 | +39% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +9 percentage points is the difference between those two pass rates over the 22 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.