Agent skill

Embedded Debugger

by Adancurusul in Adancurusul/embedded-debugger-mcp

Embedded hardware debugging workflow for probe-rs targets using embedded-debugger-mcp.

MITAuto-check passedAgent Workflows

Install Embedded Debugger

skills CLI
$ npx skills add Adancurusul/embedded-debugger-mcp --skill embedded-debugger -a claude-code

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

GitHub CLI
$ gh skill install Adancurusul/embedded-debugger-mcp embedded-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/Adancurusul/embedded-debugger-mcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/embedded-debugger .claude/skills/embedded-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
embedded-debugger
GitHub stars
200
Token cost
~1.4k tokens
SKILL.md length
702 words
Files
3 (incl. references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Embedded hardware debugging workflow for probe-rs targets using embedded-debugger-mcp.

  • Works in 3 steps: If the user has an MCP client… → If the user wants no MCP install, use… → If hardware access is required, confirm…
  • Claude Code needs to inspect debug probes
  • SKILL.md covers Entry Decision, CLI Workflow, Backends and MCP Workflow, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Embedded Debugger is an agent skill from Adancurusul/embedded-debugger-mcp. Embedded hardware debugging workflow for probe-rs targets using embedded-debugger-mcp. Use when Codex or Claude Code needs to inspect debug probes, validate embedded debugger setup, start the MCP server, guide a user through ARM Cortex-M/RISC-V flashing/debugging/RTT workflows, or operate without installing an MCP client by using the CLI plus prompts.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `agents/openai.yaml` and `references/default-prompt.md`).

It sits in Agent Workflows, covering MCP servers, Embedded systems and Debugging. It works with Model Context Protocol, ESP32 and Rust. The repository describes itself as: MCP server + CLI + Codex/Claude skill for embedded debugging via probe-rs or OpenOCD — ARM Cortex-M, RISC-V, and Xtensa (ESP32), with AI crash diagnosis. The licence is MIT.

When your agent uses it

  • Claude Code needs to inspect debug probes
  • Validate embedded debugger setup
  • Start the MCP server
  • Guide a user through ARM Cortex-M/RISC-V flashing/debugging/RTT workflows

Example prompts

  • “/embedded-debugger”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. If the user has an MCP client configured, start or verify the server
  2. If the user wants no MCP install, use CLI-first mode
  3. If hardware access is required, confirm the probe and target are connected

What it can do on your machine

Read from SKILL.md and the folder at commit 7113ae4. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    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

Embedded Debugger loads about 1.4k tokens when it runs, and up to ~1.6k if it reads all its reference files. Until then it costs about 93 tokens; SKILL.md has 702 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~93
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~1.6k

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 Adancurusul/embedded-debugger-mcp at commit 7113ae4, republished under its MIT licence (© Adancurusul). 702 words, ~1,438 tokens.

Download SKILL.mdSave it as .claude/skills/embedded-debugger/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
embedded-debugger
description
Embedded hardware debugging workflow for probe-rs targets using embedded-debugger-mcp. Use when Codex or Claude Code needs to inspect debug probes, validate embedded debugger setup, start the MCP server, guide a user through ARM Cortex-M/RISC-V flashing/debugging/RTT workflows, or operate without installing an MCP client by using the CLI plus prompts.

Embedded Debugger

Use the local embedded-debugger-mcp binary as the source of truth. Prefer CLI checks first, then MCP tools when an MCP client is available.

Entry Decision

  1. If the user has an MCP client configured, start or verify the server: embedded-debugger-mcp serve
  2. If the user wants no MCP install, use CLI-first mode: embedded-debugger-mcp doctor, embedded-debugger-mcp probes list, and embedded-debugger-mcp skill print-prompt.
  3. If hardware access is required, confirm the probe and target are connected before destructive actions such as flash erase or program.

CLI Workflow

Run these in order and report the exact outcome:

bash
embedded-debugger-mcp doctor
embedded-debugger-mcp probes list
embedded-debugger-mcp config show

Use JSON for automation:

bash
embedded-debugger-mcp doctor --json
embedded-debugger-mcp probes list --json

Backends

One tool set runs over two interchangeable engines, chosen at connect:

  • backend: "probe-rs" (default) — native probe-rs; supports flash and RTT.
  • backend: "openocd" (experimental) — talks to an already-running openocd over its GDB port via openocd_address (default 127.0.0.1:3333). Use for chips probe-rs does not cover well (e.g. Xtensa ESP32 via openocd-esp32). Memory access and halt/run/step/reset are validated on real ESP32-S3; flash and RTT are not available on this backend. Register reads currently use ARM gdb register numbers, so PC/SP are wrong on Xtensa (known limitation). diagnose_fault and unwind_exception are Cortex-M specific and do not apply to Xtensa targets.
    • Start openocd with gdb_memory_map disable, otherwise it probes flash on the GDB connect, fails, and REJECTS the connection. Example: openocd -f board/esp32s3-builtin.cfg -c "gdb_memory_map disable".

The AI uses the same tools regardless of backend; only connect differs.

MCP Workflow

Use MCP tools for session-based operations:

  1. list_probes
  2. connect (add backend: "openocd" and openocd_address to use OpenOCD)
  3. Read-only checks such as probe_info, get_status, and read_memory
  4. On a crash or halt, call diagnose_fault: it reads the Cortex-M SCB fault registers (CFSR/HFSR/MMFAR/BFAR/SHCSR/CPUID) plus PC/SP/LR and returns a compact structured evidence bundle in one call. Halt the target first for meaningful values; reason over the set fault bits yourself. Then call unwind_exception with elf_path to map the crash to a source line (full DWARF backtrace on probe-rs; faulting PC/LR on OpenOCD).
  5. Mutating operations only after the user confirms target, file path, and risk: write_memory, flash_erase, flash_program, run_firmware (probe-rs)
  6. RTT operations after firmware is running: rtt_attach, rtt_channels, rtt_read, rtt_write, rtt_detach (probe-rs)
  7. disconnect
Show full SKILL.md (342 more words)Show less

Fetch authoritative info yourself

You are a capable model: prefer fetching ground truth over relying on memorized or hardcoded chip data. This skill points you to sources; it does not embed register tables. In order of authority:

  1. The target itself (runtime, most authoritative for this exact chip): registers are self-described by the GDB target description; memory is read with read_memory; core identity from CPUID / the connected target.
  2. The firmware ELF (what is actually running): symbols and source lines come from DWARF — use unwind_exception (pass elf_path) to map addresses to file:line.
  3. The chip datasheet / reference manual (external, per-chip): for a peripheral or fault register, find the peripheral's base in the memory-map chapter, add the register offset, then read_memory. Search the vendor document for the exact value; do not guess addresses from memory. CMSIS-SVD files are a machine-readable source for register maps.
  4. ARM Cortex-M architecture registers (SCB fault regs, CPUID) are fixed by the ARM architecture and identical across vendors — diagnose_fault reads them. They do not exist on non-Cortex-M targets (e.g. Xtensa ESP32).

Do not hardcode or invent register/peripheral addresses. If a value is not recoverable from the target, the ELF, or a cited datasheet, say so.

Know your versions

Behavior and target support depend on tool versions — check them before concluding something is unsupported or broken:

  • probe-rs version determines which chips and architectures are supported (e.g. Xtensa support is comparatively new). Check embedded-debugger-mcp doctor.
  • OpenOCD version and fork matter: the Espressif fork (openocd-esp32) is needed for Xtensa ESP32, and some targets need flags like gdb_memory_map disable. Check openocd --version.
  • Probe firmware (ST-Link / J-Link) can affect connectivity; probes list reports the connected probe.

Safety Rules

  • Treat flash erase, flash program, memory write, reset, run, and RTT write as mutating hardware operations.
  • Prefer read-only discovery before mutation.
  • Respect project configuration limits for file paths, file sizes, memory ranges, and flash erase permissions.
  • Do not claim hardware success from command text alone; cite the command or MCP tool result that produced the evidence.

Prompt Reference

For a reusable CLI+Skill prompt, read references/default-prompt.md.

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

Files

SKILL.md and 2 other files (references) in skills/embedded-debugger of Adancurusul/embedded-debugger-mcp.

  • SKILL.md
  • agents/openai.yaml
  • references/default-prompt.md

Open the folder on GitHubat commit 7113ae4

Compare with similar skills

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

Embedded Debugger compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Embedded Debugger this skillAdancurusul/embedded-debugger-mcp200—~1.4kAutomated safety check: PassMIT
Memorywhalewuisabel-gif/MemWhale154—~765Automated safety check: PassMIT
Memorywhale Evidencewuisabel-gif/MemWhale154—~459Automated safety check: PassMIT
SlintMoosync/Moosync259—~2.4kAutomated safety check: PassGPL-3.0
Memorywhale Debuggingwuisabel-gif/MemWhale154—~370Automated safety check: PassMIT
Local DevSmilyOrg/photofield608—~2.4kAutomated safety check: PassMIT

Similar skills

  • Memorywhale

    wuisabel-gif/MemWhale

    Query and write durable debugging memory recorded by MemoryWhale.

    154 GitHub stars~765 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Memorywhale Evidence

    wuisabel-gif/MemWhale

    Use MemoryWhale debugging evidence when the user requests recall or a recurring failure may have relevant recorded history.

    154 GitHub stars~459 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Slint

    Moosync/Moosync

    Expert guidance for building, debugging, and working with Slint GUI applications.

    259 GitHub stars~2.4k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Memorywhale Debugging

    wuisabel-gif/MemWhale

    MemoryWhale debugging; compiler failures; terminal diagnostics.

    154 GitHub stars~370 tokensUpdated today
    DevelopmentAuto-check passed
  • Local Dev

    SmilyOrg/photofield

    Run, test, and debug the photofield server locally. An agent skill from SmilyOrg/photofield.

    608 GitHub stars~2.4k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Agnix

    agent-sh/agnix

    A skill your agent uses when user asks to 'lint agent configs', 'validate skills', 'check CLAUDE.md', 'validate hooks', 'lint MCP'.

    445 GitHub stars~874 tokensUpdated yesterday
    Agent WorkflowsAuto-check passed

Questions about Embedded Debugger

What does Embedded Debugger do?

Embedded hardware debugging workflow for probe-rs targets using embedded-debugger-mcp. Embedded Debugger is an agent skill from Adancurusul/embedded-debugger-mcp. Embedded hardware debugging workflow for probe-rs targets using embedded-debugger-mcp.

When should I use Embedded Debugger?

Embedded Debugger fits situations like: Claude Code needs to inspect debug probes; validate embedded debugger setup; start the MCP server; guide a user through ARM Cortex-M/RISC-V flashing/debugging/RTT workflows.

How do I install Embedded Debugger in Claude Code?

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

How do I install Embedded Debugger in Codex?

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

Can I use Embedded 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 Adancurusul/embedded-debugger-mcp --skill embedded-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/embedded-debugger, .gemini/skills/embedded-debugger, .github/skills/embedded-debugger and .opencode/skills/embedded-debugger in your project.

What does Embedded Debugger need to run?

SKILL.md names no scripts, command-line tools or credentials: Embedded Debugger is instructions for the agent only.

Does Embedded 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 Embedded 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 Embedded Debugger use?

Embedded 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 Embedded Debugger use?

About 1.4k tokens (SKILL.md is roughly 5.8k 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 164 tokens, read only when the agent opens those files.

What are the alternatives to Embedded Debugger?

Skills that share tags, products or a category with Embedded Debugger: Memorywhale (wuisabel-gif/MemWhale, 154 stars), Memorywhale Evidence (wuisabel-gif/MemWhale, 154 stars), Slint (Moosync/Moosync, 259 stars) and Memorywhale Debugging (wuisabel-gif/MemWhale, 154 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Embedded Debugger?

Adancurusul (a GitHub user) maintains it in Adancurusul/embedded-debugger-mcp, which has 200 GitHub stars. The repository was last updated on July 16, 2026.

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