Agent skill

Debugger

by wado-lang in wado-lang/wado

Use rust-gdb to inspect variables and step through code without modifying it.

MITAuto-check passedDevelopment

Install Debugger

skills CLI
$ npx skills add wado-lang/wado --skill debugger -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install wado-lang/wado debugger --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/wado-lang/wado.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/debugger .claude/skills/debugger && rm -rf skills-src

Use ~/.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/

Facts

Skill name
debugger
GitHub stars
117
Token cost
~904 tokens
SKILL.md length
386 words
Files
1
Skills in repo
15
Repo updated
First seen
Licence
MIT

At a glance

Use rust-gdb to inspect variables and step through code without modifying it.

  • Development work in your project
  • SKILL.md covers Build first, Usage, Ask one question per run, not… and Printing Rust values, plus 4 more sections
  • Calls cargo

What it does

Debugger is an agent skill from wado-lang/wado. Use rust-gdb to inspect variables and step through code without modifying it. Prefer it over print debugging for any investigation into what the compiler is actually doing (lldb is unavailable on Claude Code Web).

Its SKILL.md is about 900 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development. It works with Rust and WebAssembly. The repository describes itself as: The Wado Programming Language. The licence is MIT.

When your agent uses it

  • Development work in your project

Example prompts

  • “/debugger”

What it can do on your machine

Read from SKILL.md and the folder at commit 037dba4. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • cargo

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Debugger loads about 904 tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 386 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~56
When it runs · the whole SKILL.md, loaded when a task matches
~904

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from wado-lang/wado at commit 037dba4, republished under its MIT licence (© wado-lang). 386 words, ~904 tokens.

Download SKILL.mdSave it as .claude/skills/debugger/SKILL.md (or your agent's skills folder).
name
debugger
description
Use rust-gdb to inspect variables and step through code without modifying it. Prefer it over print debugging for any investigation into what the compiler is actually doing (lldb is unavailable on Claude Code Web).

Debugger

Debug wado compiler with rust-gdb.

Build first

dev sets debug = "line-tables-only" and raises the workspace crates to opt-level = 1, so info locals / info args come back empty in every compiler frame. Build the debugger profile instead — full DWARF, no optimization on the crates being stepped through, its own target/debugger/ dir so the dev cache stays warm:

sh
cargo build --profile debugger --bin wado

Usage

sh
cat > scratchpad/gdb_commands.txt << 'EOF'
file ./target/debugger/wado
set pagination off
break emit_function
run compile -o scratchpad/out.wasm example/hello.wado
info locals
print func.name
bt 5
quit
EOF
rust-gdb --batch -x scratchpad/gdb_commands.txt

Break on a function name, not a file:line: a line number drifts with the next edit above it. gdb matches a bare name in every module, so qualify one that more than one module defines.

Ask one question per run, not one per build

A breakpoint that fires thousands of times and gets greped answers one question and costs a rebuild for the next. Make the breakpoint itself select:

break wado_compiler::wir_build::calls::local_get if $_streq(name->data_ptr, "…")
break substitute_types_in_expr
commands
silent
bt 6
continue
end

bt at a conditional hit gives the origin outright — the thing print debugging cannot produce without guessing where to put the next eprintln!.

Printing Rust values

printf "%s", s fails on a Rust String (it is a struct, not a char*) and aborts the whole command file with Value can't be converted to integer. Use print, which rust-gdb's pretty printers handle:

print fq              # "core:prelude/string.wado/String^Eq::eq"
print *expr
print info.struct_name

$_streq(s->data_ptr, "lit") is the way to compare one inside a breakpoint condition.

Batch runs

rust-gdb --batch exits on the first command error, so a typo in a commands block silently truncates the rest of the run — check the tail of the output for Error in sourced command file before trusting an empty result. Redirect to a file and grep it; the DWO-loading noise otherwise buries the hits:

sh
rust-gdb --batch -x scratchpad/gdb_commands.txt > scratchpad/gdb.log 2>&1
grep -a '^\$[0-9]* = ' scratchpad/gdb.log | sort -u
Show full SKILL.md (131 more words)Show less

When a guard beats a breakpoint

The debugger answers "what is this value here". When the question is "where else does this invariant break", an assertion at the point the invariant must hold enumerates every violation in one run and keeps doing so afterwards — the same reason a newtype that makes an illegal name unconstructible beats chasing one miscompile at a time. Reach for debug_assert! / assert! in the merge or registration step first, and for gdb once it fires and you need the values behind it.

Common commands

CommandDescription
info localsShow local variables
info argsShow function arguments
print *exprDereference and print pointer
bt 5Backtrace (top 5 frames)
continueResume execution

Notes

lldb does not work in Claude Code Web due to ptrace restrictions:

error: Cannot launch '...': personality get failed: Invalid argument

Use rust-gdb instead.

© wado-lang, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/debugger of wado-lang/wado.

Open the folder on GitHubat commit 037dba4

Compare with similar skills

Debugger 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.

Debugger compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Debugger this skillwado-lang/wado117—~904Automated safety check: PassMIT
Style Checkernoumena-labs/Sipp121—~1.4kAutomated safety check: PassApache-2.0
Working With Nixxmtp/libxmtp121—~1.4kAutomated safety check: PassMIT
Upgrade Dear Imgui StackLatias94/dear-imgui-rs107—~977Automated safety check: PassApache-2.0
shiguredo_mp4 Rust MP4 Library Referenceshiguredo/mp4-rs159—~4.4kAutomated safety check: PassApache-2.0
Automerge Syncnteract/nteract179—~4.5kAutomated safety check: PassBSD-3-Clause

Similar skills

  • Style Checker

    noumena-labs/Sipp

    Enforces this monorepo's coding style rules by inspecting git diffs, reading .agents/skills/style-checker/references/styleguidance.md, fixing style violations, and reporting the result.

    121 GitHub stars~1.4k tokensUpdated 18 days ago
    DevelopmentAuto-check passed
  • Working With Nix

    xmtp/libxmtp

    A skill your agent uses when working with Nix flakes, selecting devShells, debugging environment issues, or understanding Nix infrastructure - covers shell selection, environment detection, common…

    121 GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Upgrade Dear Imgui Stack

    Latias94/dear-imgui-rs

    A skill your agent uses when a user asks to upgrade Dear ImGui, cimgui, ImPlot, ImPlot3D, ImNodes, ImGuizmo, Dear ImGui Test Engine, or related bindings in this repository.

    107 GitHub stars~977 tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • API reference for the shiguredo_mp4 Rust library: muxing and demuxing MP4 and fragmented MP4, encoding and decoding boxes, and its Sans I/O design.

    159 GitHub stars~4.4k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Automerge Sync

    nteract/nteract

    Automerge sync protocol internals, document model (OpSet, ChangeGraph, fork/merge, save/load lifecycle), and higher-level protocol design patterns.

    179 GitHub stars~4.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Daemon Dev

    nteract/nteract

    Develop, debug, and manage the runtimed daemon, Python bindings, and build system.

    179 GitHub stars~3k tokensUpdated today
    DevelopmentAuto-check passed

More from wado-lang/wado

All 15 skills in this repo
  • Profile the native Rust wado binary (compile/serve/run) for host-side bottlenecks — CPU with a sampling profiler, memory with the span trace's RSS and valgrind DHAT.

    117 GitHub stars~2.9k tokensUpdated today
    Auto-check: notes
  • Wado Performance

    wado-lang/wado

    Analyze and improve the runtime speed of a Wado program's compiled guest Wasm — profile hot functions, read the generated WIR for allocations and copies, reason about the WasmGC cost model, and…

    117 GitHub stars~7.5k tokensUpdated today
    Auto-check passed
  • CI Timing

    wado-lang/wado

    Measure how long GitHub Actions jobs and steps took across past runs, and find the pull request that made CI slower.

    117 GitHub stars~518 tokensUpdated today
    Auto-check passed
  • Investigate and improve code coverage for the wado-compiler crate.

    117 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Git Upstream Sync

    wado-lang/wado

    The only way to merge origin/main into a branch, conflicts or not.

    117 GitHub stars~855 tokensUpdated today
    Auto-check passed
  • Jco

    wado-lang/wado

    Transpile Wado Wasm components to JS with jco, then run, debug, and benchmark them on Node.

    117 GitHub stars~2.7k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Debugger

What does Debugger do?

Use rust-gdb to inspect variables and step through code without modifying it. Debugger is an agent skill from wado-lang/wado. Use rust-gdb to inspect variables and step through code without modifying it.

When should I use Debugger?

Debugger fits situations like: development work in your project.

How do I install Debugger in Claude Code?

Run `npx skills add wado-lang/wado --skill debugger -a claude-code`. Or copy the skill folder (.claude/skills/debugger in wado-lang/wado) into .claude/skills/debugger in your project. Claude Code loads it when a task matches its description.

How do I install Debugger in Codex?

Run `npx skills add wado-lang/wado --skill debugger -a codex`. Or copy the skill folder (.claude/skills/debugger in wado-lang/wado) into .agents/skills/debugger in your project. Codex loads it when a task matches its description.

Can I use Debugger in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add wado-lang/wado --skill debugger -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/debugger, .gemini/skills/debugger, .github/skills/debugger and .opencode/skills/debugger in your project.

What does Debugger need to run?

Going by SKILL.md and its folder, Debugger needs the command-line tools its instructions call (cargo).

Does Debugger access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Debugger safe to install?

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.

What licence does Debugger use?

Debugger is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Debugger use?

About 904 tokens (SKILL.md is roughly 3.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Debugger?

Skills that share tags, products or a category with Debugger: Style Checker (noumena-labs/Sipp, 121 stars), Working With Nix (xmtp/libxmtp, 121 stars), Upgrade Dear Imgui Stack (Latias94/dear-imgui-rs, 107 stars) and shiguredo_mp4 Rust MP4 Library Reference (shiguredo/mp4-rs, 159 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Debugger?

wado-lang (a GitHub organization) maintains it in wado-lang/wado, which has 117 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 8, 2026.

Source: wado-lang/wado on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.