$npx -y skills add haolange/RDC-AgentCaps --skill rdc-analystAnalyze 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 r
| 1 | # RDC Analyst |
| 2 | |
| 3 | 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. |
| 4 | |
| 5 | ## Workflow |
| 6 | |
| 7 | ### Step 1: Identify the Input |
| 8 | |
| 9 | Determine what capture data is available: |
| 10 | |
| 11 | | Input Type | Examples | Action | |
| 12 | |------------|----------|--------| |
| 13 | | RenderDoc capture | `.rdc` file, texture/buffer viewer output | Proceed with pass-level analysis | |
| 14 | | Frame debugger log | PIX capture, Xcode GPU trace, NVIDIA Nsight export | Proceed — normalize to pass/draw-call model | |
| 15 | | Engine replay data | Unreal Insights, Unity Frame Debugger dump | Proceed — map to render pass abstraction | |
| 16 | | Text description only | "We have 3 passes: shadow, gbuffer, lighting" | Proceed with user-provided structure | |
| 17 | | No capture available | User has no data yet | Help user plan what to capture and with which tool | |
| 18 | |
| 19 | ### Step 2: Clarify the Analysis Goal |
| 20 | |
| 21 | Ask the user to confirm what they need. If unclear, ask explicitly: |
| 22 | |
| 23 | 1. **What is the capture or input?** (file type, engine, API — D3D12, Vulkan, Metal, etc.) |
| 24 | 2. **What analysis product do you need?** |
| 25 | - Pass graph (render pass sequence with dependencies) |
| 26 | - Resource dependency chain (which textures/buffers flow between passes) |
| 27 | - Material/shader structure map (bindings, permutations, parameter sources) |
| 28 | - Pipeline state summary (blend modes, rasterizer config per draw) |
| 29 | - Knowledge entry (reusable reference doc for this rendering technique) |
| 30 | 3. **What scope?** Full frame, a specific pass range, or a single draw call? |
| 31 | |
| 32 | ### Step 3: Perform the Analysis |
| 33 | |
| 34 | Follow the appropriate path based on the requested product: |
| 35 | |
| 36 | **Pass graph reconstruction:** |
| 37 | 1. List all render passes in execution order |
| 38 | 2. For each pass, record: name/label, render targets, input resources, draw count |
| 39 | 3. Identify dependencies (pass B reads a resource written by pass A) |
| 40 | 4. Output as a structured table or diagram description |
| 41 | |
| 42 | **Resource dependency chain:** |
| 43 | 1. Enumerate key resources (render targets, depth buffers, UAVs) |
| 44 | 2. Track producer and consumer passes for each resource |
| 45 | 3. Flag resources that are written but never read (potential waste) |
| 46 | |
| 47 | **Material/shader analysis:** |
| 48 | 1. Group draw calls by pipeline state object or shader combination |
| 49 | 2. Identify material parameter sources (constant buffers, push constants) |
| 50 | 3. Note shader permutation patterns and binding slot conventions |
| 51 | |
| 52 | **Knowledge entry:** |
| 53 | 1. Synthesize findings into a reusable reference document |
| 54 | 2. Include: technique name, pass sequence, resource flow, shader roles, key parameters |
| 55 | 3. Format for storage in `analyzer/common/` as a knowledge artifact |
| 56 | |
| 57 | ### Step 4: Validate and Deliver |
| 58 | |
| 59 | Before delivering results: |
| 60 | - [ ] Every claim references a specific pass, draw call, or resource by name/index |
| 61 | - [ ] Dependencies are directional (producer -> consumer) and acyclic where expected |
| 62 | - [ ] Output format matches what the user requested |
| 63 | - [ ] Scope matches what was agreed in Step 2 |
| 64 | |
| 65 | ## Routing Table |
| 66 | |
| 67 | | User Says | Route To | |
| 68 | |-----------|----------| |
| 69 | | "Why is this triangle wrong" / "rendering bug" / "visual glitch" | **Debugger** — this is a defect, not analysis | |
| 70 | | "Map out the render passes" / "show me the pass graph" | **This skill** — pass graph reconstruction | |
| 71 | | "What resources does the shadow pass use" | **This skill** — resource dependency chain | |
| 72 | | "How does this engine set up materials" | **This skill** — material/shader analysis | |
| 73 | | "Document this rendering technique" | **This skill** — knowledge entry | |
| 74 | |
| 75 | ## Example |
| 76 | |
| 77 | **User:** "I have a RenderDoc capture of our deferred renderer. Can you map out the pass structure and resource flow?" |
| 78 | |
| 79 | **Intake response:** |
| 80 | > To map the pass structure, I need to confirm: |
| 81 | > 1. **API**: Which graphics API — D3D12, Vulkan, or Metal? |
| 82 | > 2. **Scope**: Full frame, or a specific section (e.g., just the lighting passes)? |
| 83 | > 3. **Output**: Pass graph with resource dependencies, or also material/shader breakdown? |
| 84 | > |
| 85 | > 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. |
| 86 | |
| 87 | **After intake — sample output structure:** |
| 88 | |
| 89 | | Pass | Render Targets | Input Resources | Draw Calls | |
| 90 | |------|---------------|-----------------|------------| |
| 91 | | Shadow Depth | ShadowMap (D32) | — | 142 | |
| 92 | | GBu |