Borrowing it
Nothing to install: this file belongs to jl-codes/platformio-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/jl-codes/platformio-mcp/main/.skills/platformio-debug/SKILL.mdgit clone --depth 1 https://github.com/jl-codes/platformio-mcpWrote 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/jl-codes/platformio-mcp/platformio-debug)<a href="https://agentmods.dev/skills/jl-codes/platformio-mcp/platformio-debug"><img src="https://agentmods.dev/badge/skills/jl-codes/platformio-mcp/platformio-debug/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/jl-codes/platformio-mcp/platformio-debug"><img src="https://agentmods.dev/badge/skills/jl-codes/platformio-mcp/platformio-debug.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00055 | $0.00940 |
| Opus 5.5 | $0.00022 | $0.00376 |
| Sonnet 5.5 | $0.00011 | $0.00188 |
| Haiku 4.5 | $0.00006 | $0.00094 |
Grade A, and why
platformio-debug scanned grade A with 0 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 25d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 94 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PlatformIO Debug
Reading results: a non-zero exit means look at BOTH streams. An operation that ran but failed (a build with errors) puts
success: falseon stdout; one that could not run (bad arguments, policy, a busy port) putserrorTypeon stderr with stdout empty. Capture both (--json 2>&1). See thepio-managerskill for the full contract.
Purpose
Use this skill when a PlatformIO project fails to build, upload, or pass static checks.
Safety Rules
- Do not hide raw error logs. Summarize them and preserve the log path.
- Do not make broad dependency changes without explaining why.
- Do not flash firmware unless the user explicitly approves.
Workflow
- Call
pio-agent project context --project-dir <dir>, resolve one environment, and runpio-agent agent-build-diagnose --project-dir <dir> --environment <env>. - Use its structured diagnostics,
nextSteps, task ID, and log paths before reading broad logs. - Extract the smallest redacted error snippet.
- Identify the likely root cause.
- Patch code, dependencies, or
platformio.ini. - Rebuild with
pio-agent build --project-dir <dir> --environment <env> --json. Retry automatically only whensafeToAutoRetryis true and the retry remains bounded. - Repeat until build succeeds or a configuration, dependency, policy, approval, or hardware blocker is identified.
- Summarize the exact fix.
Error Types
Classify failures as one of:
MissingHeader
MissingLibrary
WrongBoard
WrongFramework
SyntaxError
LinkerError
MemoryOverflow
DeviceBusy
PermissionDenied
UploadFailed
Unknown
For upload failures, resolve the target binding again before retrying. Treat port drift as safe only when the stable device fingerprint still matches; stop on substitution or ambiguity.
Dependency audit
Use deps_check with projectDir and an optional environment to inspect
declarations and installed library manifests. build defaults to false. An
explicit build: true requires separate build permission and returns LDF graph
evidence. Inspect inventoryComplete, diagnostics, and graph status before
claiming the audit is clean. Name collisions and leftover-library findings do
not prove which library was linked. Scoped approvals are separate for the
overall request, configuration, inventory and optional build stages.
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.
- 25d ago Changed · +6 lines 322301770409
- 1mo ago Changed · +40 lines · +9 tokens per session 2647ff14987a
- 1mo ago Changed · +2 lines e031f0af2c91
- 1mo ago First seen · 46 lines · 46 tokens per session scan A 0de60dba7082
platformio-debug is a skill published in the GitHub repository jl-codes/platformio-mcp (54 stars, last pushed 16d ago), licensed MIT. It adds 55 tokens to every session and 940 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
gke-ai-troubleshooting-tpu-dynamic-slices-monitoring
Monitors, troubleshoots, and manages GKE TPU Dynamic Slices custom resources. Use when checking TPU slice lifecycle states, troubleshooting slice provisioning failures, validating single-slice or multi-slice (JobSet) workload manifests, or safely patching stuck finalizers and disabling the slice controller. Don't use…
gke-ai-troubleshooting-tpu-vbar-oom
Diagnoses and prevents vbarcontrolagent segfaults, out-of-memory (OOM) errors, and TPU device initialization failures on TPU v6e nodes in GKE caused by race conditions during TPU device resets or high-frequency metrics polling. Use when troubleshooting vbarcontrolagent crashes, memory cgroup OOMs in serial console…
doca-flow
DOCA Flow packet steering on NVIDIA NICs/DPUs, linked into a C application: match/action pipes, ports, representors, forwarding, hairpin, counters. Trigger on packet steering, classifier, rule-matching, representor, hairpin or 5-tuple-to-queue questions even when "DOCA Flow" is not named. Also covers pipe validation…
competition-firmware-layout
Internal downstream skill for ctf-sandbox-orchestrator. CTF-sandbox workflow for firmware images, partition tables, boot chains, update packages, extracted filesystems, embedded configs, and device-facing trust boundaries. Use when the user asks to unpack firmware, map partition layout, inspect bootloader or init…
diagnose-driver-install
Diagnose NVIDIA driver installation failures on DeepOps-managed nodes — nvidia-smi errors, "No devices were found", DKMS build failures, or GPU pods crash-looping. Use before reinstalling anything.
catc-troubleshoot
Catalyst Center troubleshooting workflows - device unreachable investigation, client connectivity issues, interface down analysis, site-wide outage triage, wireless roaming problems, integration with pyATS for CLI-level diagnostics. Use when the device is managed by Catalyst Center and you want its…