MCPInstall

memory-budgeting

Use when Arduino or embedded projects hit SRAM, flash, heap, stack, partition, JSON-buffer, or performance limits, or when reviewing String use, F() placement, OTA slots, FreeRTOS stacks, or memory margin.

Installs
59
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/wedsamuel1230/embedded-engineering-skills --skill memory-budgeting
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads memory-budgeting automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Memory Budgeting

Make memory a measured budget, not a nominal board label. The implementation is embedded C/C++; scripts may parse build or runtime logs when that is the useful deterministic tool.

Intake

Record exact board/module, flash/RAM/EEPROM/PSRAM, bootloader and partition layout, framework, compiler flags, libraries, static buffers, task stacks, filesystem/OTA needs, peak protocol sizes, and available measurement output.

Process

  1. Separate static data, code/flash, heap, task stacks, interrupt state, filesystem, bootloader, and OTA/update slots.
  2. Establish a numeric budget and minimum margin for every category. Use board references rather than copying a family-level number into a project claim.
  3. Capture compiler size output and map changes to a feature or dependency.
  4. Measure runtime free heap, largest block, stack high-water marks, and reset/ allocation failures under representative load where the framework exposes them.
  5. On AVR, keep literals in flash with F() where appropriate, prefer bounded buffers and fixed-size storage, and avoid unbounded dynamic String use. On ESP32/RP2040, still bound buffers and distinguish heap, stack, flash, and filesystem.
  6. Re-run the stress case after each memory-affecting change and record the tradeoff.

Anti-rationalization

ShortcutResponse
"The datasheet says 520 KB, so memory is fine."Separate usable heap, stacks, reserved regions, and radio/RTOS use.
"It compiled."Inspect size output and exercise runtime allocation paths.
"Make the buffer bigger."Bound the protocol and prove the required maximum.
"Use String everywhere."Check fragmentation and lifetime; use bounded alternatives where needed.
"OTA only needs the application image."Budget both update slots, bootloader, metadata, and rollback image.

Verification

  • Build-size output and runtime memory evidence name the exact target/version.
  • Each budget has a margin and a failure response.
  • Stress tests cover peak message, sensor, logging, radio, and task load as applicable.
  • Optimization does not remove bounds, safety checks, or recovery behavior.

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.

FAQ

What does the memory-budgeting skill do?

Use when Arduino or embedded projects hit SRAM, flash, heap, stack, partition, JSON-buffer, or performance limits, or when reviewing String use, F() placement, OTA slots, FreeRTOS stacks, or memory margin.

How do I install memory-budgeting?

Run npx skills add https://github.com/wedsamuel1230/embedded-engineering-skills --skill memory-budgeting in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/memory-budgeting/ (personal) or .claude/skills/memory-budgeting/ (project).

Which AI agents can use memory-budgeting?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is memory-budgeting safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains memory-budgeting?

It is published by wedsamuel1230 in wedsamuel1230/embedded-engineering-skills. It has 59 recorded installs.

More from wedsamuel1230/embedded-engineering-skills

View all →

arduino-project-builder

wedsamuel1230/embedded-engineering-skills

Build complete Arduino and embedded projects across Arduino IDE, Arduino CLI, PlatformIO, and vendor-specific toolchains. Use when users request an application combining firmware, sensors, actuators, networking, power, or deployment rather than a code snippet. The bundled scaffold targets UNO, ESP32, and Raspberry Pi Pico; use the board profile and document limitations for other targets.

DevOps & Cloud540 installs

arduino-code-generator

wedsamuel1230/embedded-engineering-skills

Generate Arduino and embedded C++ snippets for sensors, actuators, buses, state machines, timing, data logging, and hardware abstraction. Use when a user requests implementation code and provide the exact board, framework, toolchain, pins, voltage, memory, and library versions first. Bundled templates target UNO, ESP32, and RP2040; document unsupported board or vendor-framework behavior instead of guessing.

DevOps & Cloud429 installs

circuit-debugger

wedsamuel1230/embedded-engineering-skills

Systematic hardware debugging guide for Arduino/ESP32/RP2040 circuits. Use when user reports: circuit not working, components getting hot, no power, intermittent failures, unexpected behavior, sensor not responding, LED not lighting, motor not spinning. Guides through power checks, continuity testing, signal tracing, and component isolation using multimeter techniques.

Frontend & Design278 installs

arduino-serial-monitor

wedsamuel1230/embedded-engineering-skills

Read and analyze Arduino or embedded serial output for structured runtime debugging across Arduino IDE, Arduino CLI, PlatformIO, and vendor-specific monitor tools. Use when boot output, sensor data, resets, communication failures, timing symptoms, or field behavior need evidence rather than compile-only reasoning.

error-message-explainer

wedsamuel1230/embedded-engineering-skills

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.

191 installs

enclosure-designer

wedsamuel1230/embedded-engineering-skills

Use when users need a 3D-printable enclosure for an Arduino, ESP32, or RP2040 project and need help with measurements, cutouts, print settings, or environmental protection.

Frontend & Design175 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.