← ClaudeAtlas

embedded-data-parsing-libslisted

Use when integrating, porting, configuring, or debugging embedded C data parsers such as cJSON, jsmn, or inih on MCU projects
easyzoom/aix-skills · ★ 26 · Data & Documents · score 77
Install: claude install-skill easyzoom/aix-skills
# Embedded Data Parsing Libs ## Overview Use this skill for small embedded data parsers where the main risks are memory allocation, input bounds, encoding assumptions, recursion, and callback handling. Cover `cJSON`, `jsmn`, and `inih` without copying their full APIs. ## When To Use Use this skill when: - The user wants to parse JSON or INI on an MCU. - The task mentions `cJSON`, `jsmn`, `inih`, config files, telemetry JSON, command payloads, or settings parsing. - The issue involves parse failure, memory leak, heap exhaustion, malformed input, callback mapping, or stack/recursion limits. Do not use this skill for binary protocols or large streaming parsers outside these small libraries. ## First Questions Ask for: - Parser library: `cJSON`, `jsmn`, `inih`, or another small C parser. - Input source and maximum input size. - Runtime: bare metal, RTOS, Linux, bootloader, or shell command. - Whether dynamic allocation is allowed. - Expected schema and how malformed input should behave. - Current error, sample input, and memory budget. ## Library Checks ### cJSON - Decide whether heap allocation is acceptable. - Provide custom malloc/free hooks if the project uses a custom allocator. - Always delete parsed trees after use. - Bound input size before parsing. - Validate type before reading values. ### jsmn - Allocate enough tokens for the expected JSON shape. - Handle `JSMN_ERROR_NOMEM`, `JSMN_ERROR_INVAL`, and `JSMN_ERROR_PART`. - Remember that tokens reference the o