Sokol Net
elix22/Sokol.NET
Sokol.NET framework development — use for ANY work in this repo: creating or debugging examples, building/running for desktop/Android/iOS/Web, writing or compiling shaders, adding a new C/C++…
A skill your agent uses when working with RenderDoc capture files (.rdc), analyzing GPU frames, tracing shaders, inspecting draw calls, or running CI assertions against GPU captures.
$ npx skills add BANANASJIM/rdc-cli --skill rdc-cli -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install BANANASJIM/rdc-cli rdc-cli --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/BANANASJIM/rdc-cli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/rdc/_skills .claude/skills/rdc-cli && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "rdc-cli" agent skill from https://github.com/BANANASJIM/rdc-cli/tree/master/src/rdc/_skills into .claude/skills/rdc-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rdc-cli", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/BANANASJIM/rdc-cli/tree/master/src/rdc/_skillsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add BANANASJIM/rdc-cli --skill rdc-cli -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install BANANASJIM/rdc-cli rdc-cli --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BANANASJIM/rdc-cli.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/rdc/_skills .agents/skills/rdc-cli && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "rdc-cli" agent skill from https://github.com/BANANASJIM/rdc-cli/tree/master/src/rdc/_skills into .agents/skills/rdc-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rdc-cli", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add BANANASJIM/rdc-cli --skill rdc-cli -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install BANANASJIM/rdc-cli rdc-cli --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BANANASJIM/rdc-cli.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/rdc/_skills .cursor/skills/rdc-cli && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "rdc-cli" agent skill from https://github.com/BANANASJIM/rdc-cli/tree/master/src/rdc/_skills into .cursor/skills/rdc-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rdc-cli", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/BANANASJIM/rdc-cli.git --path src/rdc/_skills--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add BANANASJIM/rdc-cli --skill rdc-cli -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install BANANASJIM/rdc-cli rdc-cli --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BANANASJIM/rdc-cli.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/rdc/_skills .gemini/skills/rdc-cli && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "rdc-cli" agent skill from https://github.com/BANANASJIM/rdc-cli/tree/master/src/rdc/_skills into .gemini/skills/rdc-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rdc-cli", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install BANANASJIM/rdc-cli rdc-cliInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add BANANASJIM/rdc-cli --skill rdc-cli -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/BANANASJIM/rdc-cli.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/rdc/_skills .github/skills/rdc-cli && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "rdc-cli" agent skill from https://github.com/BANANASJIM/rdc-cli/tree/master/src/rdc/_skills into .github/skills/rdc-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rdc-cli", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add BANANASJIM/rdc-cli --skill rdc-cli -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install BANANASJIM/rdc-cli rdc-cli --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BANANASJIM/rdc-cli.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/rdc/_skills .opencode/skills/rdc-cli && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "rdc-cli" agent skill from https://github.com/BANANASJIM/rdc-cli/tree/master/src/rdc/_skills into .opencode/skills/rdc-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rdc-cli", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
rdc-cliA skill your agent uses when working with RenderDoc capture files (.rdc), analyzing GPU frames, tracing shaders, inspecting draw calls, or running CI assertions against GPU captures.
Rdc CLI is an agent skill from BANANASJIM/rdc-cli. Use this skill when working with RenderDoc capture files (.rdc), analyzing GPU frames, tracing shaders, inspecting draw calls, or running CI assertions against GPU captures. Trigger phrases: "open capture", "rdc file", ".rdc", "renderdoc", "shader debug", "pixel trace", "draw calls", "GPU frame", "assert pixel", "export render target".
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `__init__.py` and `references/commands-quick-ref.md`).
It sits in Game Development, covering Shaders. It works with Python and Linux. The repository describes itself as: Scriptable CLI for RenderDoc captures — built for terminal workflows, CI pipelines, and AI agents. The licence is MIT.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit ae559ee. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
jqpipsshFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip and ssh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Rdc CLI loads about 2.9k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 86 tokens; SKILL.md has 1,154 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from BANANASJIM/rdc-cli at commit ae559ee, republished under its MIT licence (© BANANASJIM). 1,154 words, ~2,902 tokens.
.claude/skills/rdc-cli/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.rdc-cli is a Unix-friendly command-line interface for RenderDoc GPU captures. It provides a daemon-backed architecture using JSON-RPC over TCP, a virtual filesystem (VFS) path namespace for navigating capture internals, and composable commands designed for shell pipelines, scripting, and CI assertions.
Install: pip install rdc-cli (requires a local RenderDoc build with Python bindings).
Check setup: rdc doctor.
Follow this session lifecycle for any capture analysis task:
rdc open path/to/capture.rdcrdc open capture.rdc --proxy host:portrdc open --connect host:port --token TOKENrdc open capture.rdc --android [--serial SERIAL]rdc info, rdc stats, rdc eventsrdc ls /, rdc ls /textures, rdc cat /draws/0/pipeline/summaryrdc shaders, rdc pipeline, rdc resources, rdc bindingsrdc debug pixel EID X Y, rdc debug vertex EID VTXID, rdc debug thread EID GX GY GZrdc texture ID -o out.png, rdc rt EID, rdc buffer ID -o buf.bin, rdc cbuffer EID --stage ps --binding 0, rdc logrdc closedefault (or value of $RDC_SESSION).rdc --session myname open capture.rdc.rdc status.rdc goto EID.All list/table commands default to TSV (tab-separated values) with a header row, suitable for cut, awk, and sort.
| Flag | Format | Use Case |
|---|---|---|
| (default) | TSV with header | Human reading, shell pipelines |
--no-header | TSV without header | Piping to awk/cut without stripping |
--json | JSON array | Structured processing with jq |
--jsonl | Newline-delimited JSON | Streaming processing, large datasets |
-q / --quiet | Minimal (single column) | Extracting IDs for loops |
Example -- get all draw call EIDs as a plain list:
rdc draws -qExample -- JSON pipeline with jq:
rdc events --json | jq '.[] | select(.type == "DrawIndexed")'rdc passes outputs 6 columns: NAME, DRAWS, DISPATCHES, TRIANGLES, BEGIN_EID, END_EID.
rdc passes # TSV table
rdc passes --json # includes load_ops/store_ops per pass
rdc passes --deps --table # per-pass READS/WRITES/LOAD/STORErdc pass <name> shows enriched attachments: resource name, format, dimensions, and load/store ops.
rdc pass GBuffer
rdc pass GBuffer --json
rdc pass 0 # by 0-based indexrdc unused-targets finds render targets written but never consumed by visible output. Columns: ID, NAME, WRITTEN_BY, WAVE.
rdc unused-targets # TSV
rdc unused-targets --json # structured
rdc unused-targets -q # one resource ID per line (for scripting)rdc stats outputs three sections: Per-Pass Breakdown, Top Draws by Triangle Count, and Largest Resources.
rdc stats # all three sections
rdc stats --json # includes largest_resources arrayGL/GLES/D3D11 captures without native BeginPass/EndPass markers get synthetic pass inference automatically — no extra flags needed.
rdc draws
rdc draws --pass "GBuffer" --jsonrdc debug pixel 1024 512 384 # EID first, then X Y
rdc debug pixel 1024 512 384 --json # structured output
rdc debug pixel 1024 512 384 --trace # full step-by-step tracerdc search "main" # regex search over shader disassembly
rdc search "Sample" --stage ps -C 2
rdc shaders --name "GBuffer*"rdc rt EID -o output.png
rdc rt EID --depth -o depth.png # export the raw depth attachment
rdc texture ID -o tex.png # export a texture by resource ID (PNG)rdc cbuffer EID --stage ps --binding 0 # decode to JSON
rdc cbuffer EID --stage vs --binding 0 --raw -o cbuffer.binrdc ls /
rdc ls /textures -l
rdc tree /draws/42/pipeline --depth 2 # pipeline state lives under /draws/<eid>/pipeline/
rdc cat /draws/42/pipeline/summary
rdc cat /events/42rdc goto EID
rdc pipeline --json
rdc bindings --jsonrdc goto 100 && rdc pipeline --json > before.json
rdc goto 200 && rdc pipeline --json > after.json
diff before.json after.jsonrdc-cli provides assertion commands that exit non-zero on failure, designed for automated testing pipelines:
| Command | Purpose |
|---|---|
rdc assert-pixel EID X Y --expect "R G B A" | Assert pixel RGBA (4 space-separated floats) at EID/coordinates |
rdc assert-clean | Assert no validation errors in capture |
rdc assert-count <what> --expect N [--op CHOICE] | Assert a capture metric (e.g. draws) satisfies a comparison |
rdc assert-state EID KEY-PATH --expect VALUE | Assert pipeline state value at EID matches expected |
rdc assert-image EXPECTED ACTUAL [--threshold FLOAT] | Compare two image files pixel-by-pixel |
Example CI script:
#!/bin/bash
set -e
rdc open test_capture.rdc
rdc assert-clean
rdc assert-count draws --expect 10 --op ge
rdc assert-pixel 1024 256 256 --expect "1.0 0.0 0.0 1.0"
rdc closeModify and replay shaders without recompiling the application:
rdc shader-encodings # list available encodings
rdc shader EID ps --source > s.frag # extract shader source
# ... edit s.frag ...
rdc shader-build s.frag --stage ps # compile; prints the built shader ID
rdc shader-replace EID ps --with <ID> # hot-swap built shader ID into capture
rdc shader-restore EID ps # revert single shader (STAGE required)
rdc shader-restore-all # revert all modificationsrdc-cli wraps renderdoccmd remoteserver to support PC-to-PC remote captures.
rdc serve [--port PORT] [--allow-ips CIDR] [--no-exec] [--daemon] — launch remoteserver on the target machinerdc remote connect <host:port> — save remote connection staterdc remote list — enumerate capturable apps on the remoterdc remote capture <app> -o frame.rdc [--args ...] [--frame N] [--keep-remote] — inject, capture, and transfer back. --keep-remote skips the transfer and prints the remote path; replay it with rdc open <path> --proxy host:port. (The CLI's own next: hint currently still references the deprecated --remote alias for --proxy.)rdc open frame.rdc --proxy host:port — remote-backed replay (daemon local, GPU remote)remote_state.py persists the last connected host so subsequent rdc remote list can omit --url.
Split mode decouples CLI and daemon — run the daemon where the GPU is and connect from a machine that doesn't need the renderdoc module. Useful when the analyst's laptop is macOS/Windows and the GPU is on a Linux server.
rdc open capture.rdc --listen [ADDR[:PORT]]host: ADDR, port: PORT, token: TOKEN, connect with: rdc open --connect ADDR:PORT --token TOKENrdc open --connect HOST:PORT --token TOKENSSH tunnel tip (use the port from --listen, or rdc serve's default 39920): ssh -L 39920:localhost:39920 user@server, then connect to localhost:39920.
Every normal command (rdc draws, rdc rt, ...) works transparently in Split mode. Binary exports use file_read RPC with raw binary frames — no base64 overhead.
rdc setup-renderdoc --android (upstream) or --android --arm (ARM PS fork for Mali). rdc android setup does not push the APK itself.rdc android setup [--serial SERIAL] — starts remoteserver on the device via RenderDoc's Device Protocol API (StartRemoteServer), sets adb forward, saves remote state.rdc android capture <activity> [--serial SERIAL] [--timeout N] [--port PORT] [-o out.rdc] — GPU debug layers based capture (works around EMUI/Mali injection limitations).rdc android stop [--serial SERIAL] — stops the remoteserver and cleans state.rdc open frame.rdc --android [--serial SERIAL] — this is the only form that rewrites the saved adb://SERIAL to the forwarded localhost:PORT. Passing --proxy adb://SERIAL directly bypasses the rewrite and is known to crash the daemon (see session.py:_resolve_android_url).Hardware matrix: Adreno is the happy path; Mali may need the ARM Performance Studio fork (see rdc setup-renderdoc --android --arm).
Always run rdc doctor first. It reports status for renderdoc module, renderdoccmd, adb, Android APK, and platform-specific toolchains. Only the missing-renderdoc-module case emits a dedicated build-hint block; other checks surface inline hints in the detail column, so read each failing line rather than relying on a uniform next-step list.
Common failure categories (conceptual, not literal error strings — map from the text the tool actually emits):
rdc serve is running on the target.rdc setup-renderdoc or rdc setup-renderdoc --android to align.rdc doctor and check the platform-specific detail.--proxy or --android remote replay.rdc doctor warns when more than one VK_LAYER_RENDERDOC_Capture Vulkan layer is registered (a system-installed RenderDoc plus the rdc-managed one create a split-brain). The loader then picks one non-deterministically and capture can silently time out; unregister the extra manifest so only one remains.rdc open; use rdc status to inspect.For long operations (large capture transfers, remote replay init), the CLI has limited progress feedback — this is a known UX gap, not a hang. Wait up to the --timeout value before concluding failure.
For the complete list of all commands with their arguments, options, types, and defaults, see references/commands-quick-ref.md.
© BANANASJIM, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in src/rdc/_skills of BANANASJIM/rdc-cli.
Open the folder on GitHubat commit ae559ee
Rdc CLI next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Rdc CLI this skillBANANASJIM/rdc-cli | 180 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Sokol Netelix22/Sokol.NET | 154 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Agfx Writing Bindless ShadersAmelieHeinrich/agfx | 144 | — | ~3.4k | Automated safety check: Pass | MIT | |
| Renderdoc GPU Debugrudybear/renderdoc-skill | 211 | — | ~4k | Automated safety check: Pass | MIT | |
| Apple Container Test RunnerRustPython/RustPython | 22k | — | ~467 | Automated safety check: Pass | MIT | |
| The Art of Debuggingstas00/the-art-of-debugging | 1.7k | — | ~6.1k | Automated safety check: Notes | CC-BY-SA-4.0 |
elix22/Sokol.NET
Sokol.NET framework development — use for ANY work in this repo: creating or debugging examples, building/running for desktop/Android/iOS/Web, writing or compiling shaders, adding a new C/C++…
AmelieHeinrich/agfx
ALWAYS use when writing or modifying HLSL shaders for AGFX, or wiring the agfxShaderCompiler / agfxShaderModule / agfxRenderPipeline / agfxComputePipeline pipeline around them.
rudybear/renderdoc-skill
GPU frame debugging with RenderDoc via rdc-cli. An agent skill from rudybear/renderdoc-skill.
RustPython/RustPython
Runs RustPython tests inside a Linux container built with Apple's container CLI, so macOS users can compare Linux results with their local ones.
stas00/the-art-of-debugging
Condensed debugging method and tool recipes for Unix, Python and PyTorch programs: crashes, hangs, segfaults, wrong output, CUDA OOM, NaN values and slowness.
latitude-dev/latitude-llm
This skill should be used when the user asks to "create a Temporal workflow", "write a Temporal activity", "debug stuck workflow", "fix non-determinism error", "Temporal Python", "Temporal…
Categories
A skill your agent uses when working with RenderDoc capture files (.rdc), analyzing GPU frames, tracing shaders, inspecting draw calls, or running CI assertions against GPU captures. Rdc CLI is an agent skill from BANANASJIM/rdc-cli.rdc), analyzing GPU frames, tracing shaders, inspecting draw calls, or running CI assertions against GPU captures.
Rdc CLI fits situations like: working with RenderDoc capture files (.rdc); analyzing GPU frames; tracing shaders; inspecting draw calls.
Run `npx skills add BANANASJIM/rdc-cli --skill rdc-cli -a claude-code`. Or copy the skill folder (src/rdc/_skills in BANANASJIM/rdc-cli) into .claude/skills/rdc-cli in your project. Claude Code loads it when a task matches its description.
Run `npx skills add BANANASJIM/rdc-cli --skill rdc-cli -a codex`. Or copy the skill folder (src/rdc/_skills in BANANASJIM/rdc-cli) into .agents/skills/rdc-cli in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add BANANASJIM/rdc-cli --skill rdc-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rdc-cli, .gemini/skills/rdc-cli, .github/skills/rdc-cli and .opencode/skills/rdc-cli in your project.
Going by SKILL.md and its folder, Rdc CLI needs Python for the scripts in its folder and the command-line tools its instructions call (jq, pip and ssh). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use pip and ssh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Rdc CLI is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 7.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Rdc CLI: Sokol Net (elix22/Sokol.NET, 154 stars), Agfx Writing Bindless Shaders (AmelieHeinrich/agfx, 144 stars), Renderdoc GPU Debug (rudybear/renderdoc-skill, 211 stars) and Apple Container Test Runner (RustPython/RustPython, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
BANANASJIM (a GitHub user) maintains it in BANANASJIM/rdc-cli, which has 180 GitHub stars. The repository was last updated on July 22, 2026.
Source: BANANASJIM/rdc-cli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.