embedded-buffer-queue-libs
/embedded-buffer-queue-libs
Use when integrating, porting, configuring, or debugging embedded ring buffers, circular buffers, FIFO queues, Ring-Buffer, or QueueForMcu libraries
- Author
- easyzoom ↗
- Repository
- aix-skills ↗
- Licence
- MIT
- Last repository change
- 17.07.2026
Assessment and security
- Files in this package
- 1
- Scripts
- 0
- HTML comments
- 0
- URLs in SKILL.md
- 0
No signals detected. Repository changed on 17.07.2026, without references to retired models or APIs.
MIT, open: use and modify while retaining author attribution.
What it does and when to use it
Use when integrating, porting, configuring, or debugging embedded ring buffers, circular buffers, FIFO queues, Ring-Buffer, or QueueForMcu libraries
Original author description
Use when integrating, porting, configuring, or debugging embedded ring buffers, circular buffers, FIFO queues, Ring-Buffer, or QueueForMcu libraries
How it works
- Overview
- When To Use
- First Questions
- Integration Checklist
- Common Failures
- Verification
- Example
SKILL.md preview
--- name: embedded-buffer-queue-libs description: Use when integrating, porting, configuring, or debugging embedded ring buffers, circular buffers, FIFO queues, Ring-Buffer, or QueueForMcu libraries --- # Embedded Buffer Queue Libs ## Overview Use this skill for embedded ring buffers and lightweight queues. The core decision is ownership and concurrency: single producer/consumer, ISR-to-task, task-to-task, DMA-to-task, or multi-producer use. ## When To Use Use this skill when: - The user wants to integrate or debug Ring-Buffer, QueueForMcu, circular buffers, FIFOs, UART RX buffers, log queues, or event queues. - The issue involves overflow, data loss, race conditions, wraparound, off-by-one capacity, ISR safety, or DMA buffer handoff. Do not use this skill for RTOS-native queues unless the issue is about wrapping a custom buffer around them. ## First Questions Ask for: - Buffer/queue library and intended data type. - Producer and consumer contexts: ISR, DMA, task, main loop, shell, or logger. - Required behavior on full/empty: drop, overwrite oldest, block, error, or backpressure. - Element size, capacity, maximum burst, and latency budget. - Whether operations must be lock-free or protected by critical sections. ## Integration Checklist 1. Define ownership. Specify exactly who writes, who reads, and whether there can be multiple producers or consumers. 1. Define full/empty semantics. Do not leave overwrite/drop/block behavior implicit. 1. Check capacity math. Many ring buffers hold `N-1` items to distinguish full from empty. 1. Protect concurrent access. Use interrupt masking, atomics, mutexes, or single-producer/single-consumer rules as appropriate. 1. Verify wraparound. Test writes and reads across the end of the buffer. 1. Add telemetry. Track high-water mark, overflow count, drop count, or queue full events. ## Common Failures - Race between ISR producer and task consumer. - Off-by-one capacity causes one byte or one element to disappear. - DMA writes into a buffer while CPU reads stale cached data. - Full buffer silently overwrites critical data. - Queue stores pointers to stack objects that go out of scope. ## Verification Before claiming buffer/queue works: - State producer/consumer contexts and protection strategy. - Confirm full, empty, wraparound, and overflow behavior. - Confirm maximum burst fits capacity or drops are counted intentionally. - For DMA/cache systems, state cache maintenance or memory placement. ## Example User: ```text UART 中断收数据用 ring buffer,偶尔丢字节。 ``` Agent: 1. Asks for producer/consumer contexts, baud, buffer size, overflow policy, and critical sections. 1. Checks N versus N-1 capacity and ISR/task race. 1. Adds overflow counters and tests burst input across wraparound.
Versions
The database has no other skills named embedded-buffer-queue-libs.
Database snapshot: 13.11.2026 · package version 31bee98c9826 (SHA-256 digest of the entire package)
Downloads in the last 30 days: 0 · ranking
Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.
Similar skills
- 100embedded-input-libs
Use when integrating, porting, configuring, or debugging embedded button/input libraries such as MultiButton or FlexibleButton - 100embedded-timing-libs
Use when integrating, porting, configuring, or debugging embedded software timer libraries such as MultiTimer, timeout schedulers, or tick-based callback timers - 90esp32-lock-free-ring-buffer-review
Use when designing, reviewing, debugging or validating lock free ring buffer review for ESP32 firmware; apply target-specific constraints, failure analysis and measurable verification before release. - 100lock-free-ring-buffers
Use this skill when the user says 'lock-free', 'ring buffer', 'LMAX Disruptor', 'SPSC/MPMC queue', 'false sharing', 'mechanical sympathy'. Explains lock-free inter-thread communication with ring buffers and cache-aware design. Do NOT use for: kernel-bypass networking (use… - 90tt-l1-memory-review
Reviews per-core L1 footprint and circular-buffer sizing — buffer inventory discipline, data-movement cost across memory tiers, CB capacity versus tile counts, and accumulator sizing. Use when reviewing program factories, CB allocation, blocking or work-split changes, or any… - 100cache-policy-comparison
Compare and implement eviction policies (LRU, LFU, FIFO, S3FIFO, ARC) for bounded-capacity caches. Use when choosing or implementing an eviction policy for a buffer pool, page cache, CDN edge, or LLM KV cache, or when writing a replay simulator that supports multiple policies.…