Skip to content
Skills Library
Programming · Tool integration

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

Repository
aix-skills ↗
Licence
MIT
Last repository change
17.07.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 17.07.2026, without references to retired models or APIs.

Licence

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

  1. Overview
  2. When To Use
  3. First Questions
  4. Integration Checklist
  5. Common Failures
  6. Verification
  7. Example
Original SKILL.md headings · 77 lines, 379 words
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.…

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.