agentsclimarketplace

Embedded buffer queue libs

Skill easyzoom/aix-skills/skills/embedded-buffer-queue-libs

Reusable Agent Skills for embedded systems, MCU debugging, firmware workflows, and AI automation. (嵌入式、MCU 调试、固件流程与 AI 自动化的可复用 Agent Skills 集合)。

Install
npx -y skills add easyzoom/aix-skills --skill embedded-buffer-queue-libs

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 22 stars22 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when integrating, porting, configuring, or debugging embedded ring buffers, circular buffers, FIFO queues, Ring-Buffer, or QueueForMcu libraries

SKILL.md

2.8 KB, as published. Nobody here has run it

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.

  2. Define full/empty semantics. Do not leave overwrite/drop/block behavior implicit.

  3. Check capacity math. Many ring buffers hold N-1 items to distinguish full from empty.

  4. Protect concurrent access. Use interrupt masking, atomics, mutexes, or single-producer/single-consumer rules as appropriate.

  5. Verify wraparound. Test writes and reads across the end of the buffer.

  6. 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:

UART 中断收数据用 ring buffer,偶尔丢字节。

Agent:

  1. Asks for producer/consumer contexts, baud, buffer size, overflow policy, and critical sections.
  2. Checks N versus N-1 capacity and ISR/task race.
  3. Adds overflow counters and tests burst input across wraparound.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.