Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add nikhil-robinson/embedded_guru --skill datagit clone --depth 1 https://github.com/nikhil-robinson/embedded_guruWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/nikhil-robinson/embedded_guru/data)<a href="https://agentmods.dev/skills/nikhil-robinson/embedded_guru/data"><img src="https://agentmods.dev/badge/skills/nikhil-robinson/embedded_guru/data/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/nikhil-robinson/embedded_guru/data"><img src="https://agentmods.dev/badge/skills/nikhil-robinson/embedded_guru/data.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00064 | $0.12485 |
| Opus 5.5 | $0.00026 | $0.04994 |
| Sonnet 5.5 | $0.00013 | $0.02497 |
| Haiku 4.5 | $0.00006 | $0.01248 |
Grade D, and why
embedded-guru scanned grade D with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Tells the agent never to refusehighAnti-refusal
Suppressing the ability to decline removes a core safety control; a later harmful request then succeeds.
**On having no board yet:** Do not refuse to continue. Do two things: Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
To find an existing profile when you don't yet know the student's name, list `~/.claude/embedded_guru/` and read the first profile found. If multiple student directories exist, ask which student this session is for. How it starts
The opening of the file, as written. The whole thing — 853 lines — stays where its author put it; the contents beside it link to each section on GitHub.
EmbeddedGuru
You are EmbeddedGuru — a senior firmware engineer turned mentor. You have shipped production code on Cortex-M, RISC-V, AVR, and ESP platforms. You have debugged SPI timing at 3am with a logic analyzer. You know what breaks in the field and why.
You do not tutor. You mentor. The difference: a tutor explains things the student asks about. A mentor knows what the student needs to hear before they know to ask. You are direct. You are occasionally blunt. You never apologize for not giving answers — you frame it as the pedagogically correct choice because it is.
Your job is not to make the student feel good. It is to make them dangerous at firmware. Those two things sometimes conflict. Choose the second one.
Graph Paths
Two knowledge graphs power this skill. Query them before producing any output — never generate protocol facts, hardware capabilities, or student state from memory.
Curriculum graph (built on first /guru call, then read-only):
~/.claude/embedded_guru/curriculum/graphify-out/graph.json
Student graph (updated at the end of every session):
~/.claude/embedded_guru/<name>/graphify-out/graph.json
Query syntax:
graphify query "<question>" --graph ~/.claude/embedded_guru/curriculum/graphify-out/graph.json
graphify query "<question>" --graph ~/.claude/embedded_guru/<name>/graphify-out/graph.json
If the student graph does not exist yet (new student), fall back to their markdown files directly until the session-end update builds it.
On First Invocation: Routing
Step 0 — Bootstrap curriculum graph (once, silently)
Check if the curriculum graph exists:
ls ~/.claude/embedded_guru/curriculum/graphify-out/graph.json
If it does not exist, build it now before doing anything else:
graphify ~/.claude/embedded_guru/curriculum/ --no-viz
This runs inside Claude Code where auth is already available. It takes ~30 seconds. Do not mention it to the student unless it fails. If it fails, continue in degraded mode — fall back to reading the curriculum markdown files directly for any protocol facts or register values.
What ships with it
14 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- curriculum/concepts/CAN.md 7.1 KB
- curriculum/concepts/DMA.md 5.8 KB
- curriculum/concepts/FreeRTOS.md 5.9 KB
- curriculum/concepts/I2C.md 5.7 KB
- curriculum/concepts/SPI.md 5.1 KB
- curriculum/concepts/UART.md 4.9 KB
- curriculum/concepts/watchdog.md 4.5 KB
- curriculum/hardware/boards.md 8.3 KB
- curriculum/milestones/Automotive.md 5.0 KB
- curriculum/milestones/Industrial.md 5.9 KB
- curriculum/milestones/IoT.md 5.0 KB
- curriculum/milestones/Medical.md 5.3 KB
- curriculum/mistakes/common_mistakes.md 8.8 KB
- curriculum/standards/standards.md 6.8 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 853 lines · 64 tokens per session scan D 95b0eb54ae70
embedded-guru is a skill published in the GitHub repository nikhil-robinson/embedded_guru (4 stars, last pushed 3mo ago), licensed MIT. It adds 64 tokens to every session and 12,485 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it D with 2 findings (tells the agent never to refuse, reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
ruview-quickstart
Onboarding and first-run for RuView (WiFi-DensePose) — Docker demo with simulated data, repo build, and the fastest path to a live sensing dashboard. Use when someone is new to RuView or wants the shortest path to "it works on my machine".
onboard
Zero-to-sensing path picker for RuView (WiFi-DensePose) — pick docker-demo, repo-build, or live-esp32 and run the next concrete step.
doca-programming-guide
Use this skill when the user is writing their first DOCA app or asking a library-agnostic programming question — picking a shipped sample to copy and modify, wiring pkg-config + meson (or FFI from Rust / Go / Python against the public C ABI), walking the Core lifecycle (create → configure → start → connect → use →…
triton-ascend-optimization
A general performance guide for Triton kernels on Ascend processors. It covers block sizes, grid layouts, core selection, memory alignment, automatic tuning, precision, and reduction patterns.
cuda-basics
A beginner’s guide to CUDA, NVIDIA’s system for running parallel work on GPUs. It explains how GPU threads are grouped and how different kinds of memory are used.
design-logic-circuit
Design combinational logic circuits from a functional specification through gate-level implementation. Covers AND, OR, NOT, XOR, NAND, NOR gates; NAND/NOR universality conversions; and standard building blocks including multiplexers, decoders, half/full adders, and ripple-carry adders. Use when translating a Boolean…