wedsamuel1230/arduino-skills/error-message-explainer
Claude Code and agent skill by wedsamuel1230/arduino-skills
- community
Checking that the SKILL.md file is still in the repository.
Explain Arduino and embedded compiler, upload, boot, power, and runtime errors in plain English. Use when a user shares an error or failure from Arduino IDE, Arduino CLI, PlatformIO, or a vendor-specific tool. Separate build, upload, hardware, and system evidence and give a board-specific recovery path without assuming UNO, ESP32, or RP2040 behavior.
Install
npx vskill@latest install wedsamuel1230/arduino-skills/error-message-explainerSKILL.md
Error Message Explainer
Translates cryptic compiler errors into actionable fixes for Arduino/ESP32/RP2040 projects.
Resources
This skill includes bundled tools:
- scripts/parse_errors.py - Automated error analysis with 20+ error patterns
- ../../docs/board-support/uno-r4-family.md - Shared Uno R4 board-family caveats
Quick Start
Analyze error from file:
Analyze single error:
Interactive mode:
Pipe from compiler:
How to Use This Skill
When user pastes an error message:
- Identify the error type from patterns below
- Explain what it means in simple terms
- Show the specific fix with code example
- Explain WHY this error happens (educational value)
- If the target is Uno R4 family and the failure touches WiFi, OTA, USB, or
board recognition, open ../../docs/board-support/uno-r4-family.md
Recovery Boundary
Before recommending a reset, erase, bootloader repair, or reflash, capture the exact board/revision, tool and library versions, port, power path, and last known-good image. Use the router recovery reference for failed uploads, boot failures, power faults, or corrupted firmware. Do not call a compile fix a hardware or system fix.
Common Compilation Errors
1. "'xyz' was not declared in this scope"
Meaning: Compiler doesn't recognize the name xyz.
Common Causes & Fixes:
| Cause | Fix | |
|---|---|---|
| Typo in variable/function name | Check spelling, C++ is case-sensitive! | |
| Variable used before declaration | Move declaration before first use | |
Missing #include | Add required library header | |
| Function defined after it's called | Add forward declaration or move function up |
Example - Typo:
Example - Missing Include:
2. "expected ';' before..."
Meaning: Missing semicolon on the previous line.
Fix: Add ; at end of the line ABOVE the error.
Pro Tip: The error line number is where compiler noticed the problem, not where the missing ; is!
3. "expected ')' before..." or "expected '}' before..."
Meaning: Mismatched parentheses or braces.
Common Patterns:
Debugging Tip: Use IDE auto-format (Ctrl+T) to reveal mismatches.
4. "invalid conversion from 'const char' to 'char'"
Meaning: Trying to modify a string literal (which is read-only).
5. "no matching function for call to..."
Meaning: Function called with wrong number or type of arguments.
Read the "note:" lines - they show what arguments ARE accepted.
6. "multiple definition of 'xyz'"
Meaning: Same variable/function defined in multiple files.
Fixes:
Or for functions in header:
7. "'xyz' does not name a type"
Meaning: Class/type not recognized.
Fixes:
| Board | Library | Include | |
|---|---|---|---|
| ESP32 | WiFi | #include <WiFi.h> | |
| ESP8266 | WiFi | #include <ESP8266WiFi.h> | |
| Arduino + WiFi Shield | WiFi | #include <WiFi.h> |
8. "redefinition of 'xyz'"
Meaning: Variable declared twice in same scope.
Upload Errors
9. "avrdude: stk500_recv(): programmer is not responding"
Meaning: Arduino IDE can't communicate with the board.
Fixes (try in order):
- ✅ Correct board selected? (Tools → Board)
- ✅ Correct port selected? (Tools → Port)
- ✅ USB cable is data cable (not charge-only)?
- ✅ Try different USB port
- ✅ Nothing connected to pins 0/1 (TX/RX)?
- ✅ Press reset button during upload
- ✅ Install/reinstall USB drivers
10. "A fatal error occurred: Failed to connect to ESP32"
Meaning: ESP32 not entering bootloader mode.
Fix: Hold BOOT button while uploading:
- Click Upload in IDE
- When "Connecting..." appears, hold BOOT button
- Release when upload starts
- Some boards: hold BOOT, press EN/RST, release BOOT
11. "Sketch too big"
Meaning: Program doesn't fit in flash memory.
Fixes:
Library Errors
12. "fatal error: xyz.h: No such file or directory"
Meaning: Library not installed.
Fix:
- Sketch → Include Library → Manage Libraries
- Search for library name
- Click Install
- If not in Library Manager: download ZIP, Sketch → Include Library → Add .ZIP Library
13. "exit status 1 / Error compiling for board..."
Meaning: Generic error - scroll UP to find the real error message.
The actual error is ABOVE this line! Look for lines containing error:.
Type Errors
14. "cannot convert 'String' to 'const char*'"
Meaning: Function expects C-string but got Arduino String.
15. "invalid operands to binary expression"
Meaning: Can't use + with C-strings.
Quick Reference Table
| Error Contains | Likely Problem | Quick Fix | |
|---|---|---|---|
| "not declared" | Typo or missing include | Check spelling, add #include | |
| "expected ';'" | Missing semicolon | Add ; to line ABOVE error | |
| "expected ')'" | Unmatched parenthesis | Count ( and ) | |
| "expected '}'" | Unmatched brace | Count { and } | |
| "no matching function" | Wrong arguments | Check function signature | |
| "does not name a type" | Missing library | Add #include | |
| "multiple definition" | Defined in multiple files | Use extern | |
| "stk500" | Upload failed | Check board/port/cable | |
| "No such file" | Library not installed | Install via Library Manager | |
| "too big" | Out of flash | Use F(), remove unused code |
Debugging Strategy
- Read the FIRST error (later ones often cascade)
- Note the FILE and LINE NUMBER
- Look at that line AND the line above
- Check for common patterns above
- Fix ONE error at a time, recompile
- Repeat until clean
Shared Output Contract
Use the shared Arduino skill contract: state assumptions, required tools and versions, implementation steps, tests/evidence by proof stage, known limitations, and recovery/security notes.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/error-message-explainer/SKILL.md
Popularity
- Repository stars
- 14
- 7-day trend score
- 14
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 1 May 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/wedsamuel1230/arduino-skills/error-message-explainer)