embedded-buffer-queue-libslisted
Install: claude install-skill easyzoom/aix-skills
# 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 appropriat