embedded-data-parsing-libs

Solid

Use when integrating, porting, configuring, or debugging embedded C data parsers such as cJSON, jsmn, or inih on MCU projects

Data & Documents 22 stars 2 forks Updated 1 weeks ago MIT

Install

View on GitHub

Quality Score: 79/100

Stars 20%
45
Recency 20%
90
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# 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...

Details

Author
easyzoom
Repository
easyzoom/aix-skills
Created
3 months ago
Last Updated
1 weeks ago
Language
Python
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category