agentsclimarketplace

Kernel services

Skill beriberikix/zephyr-agent-skills/skills/kernel-services

Advanced Zephyr RTOS kernel services. Covers inter-thread communication using Zbus (pub/sub), behavioral management with the State Machine Framework (SMF), background processing via work queues, and persistent configuration with the Settings subsystem. Trigger when building modular application architectures, complex state-driven logic, or requiring persistent data storage.From its SKILL.md

Install
npx -y skills add beriberikix/zephyr-agent-skills --skill kernel-services

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

SKILL.md

3.4 KB, 702 tokens by cl100k_base, as published. Nobody here has run it

Zephyr Kernel Services

Move beyond basic threading and logging to build modular, event-driven, and robust Zephyr applications.

Core Workflows

1. Event-Driven Communication (Zbus)

Decouple your modules using a lightweight publish-and-subscribe bus.

  • Reference: zbus.md
  • Key Tools: ZBUS_CHAN_DEFINE, ZBUS_SUBSCRIBER_DEFINE, zbus_chan_pub.

2. Behavioral Logic (SMF)

Manage complex system states and transitions using the State Machine Framework.

  • Reference: smf.md
  • Key Tools: smf_set_state, SMF_CREATE_STATE, Hierarchical states.

3. Background Processing (Work Queues)

Defer long-running or non-critical tasks to prevent blocking interrupts or high-priority threads.

4. Persistence (Settings)

Save and restore configuration data and state across reboots.

Quick Start (Zbus)

// Define a channel for sensor data
ZBUS_CHAN_DEFINE(sensor_data_chan, struct sensor_msg, NULL, NULL, ZBUS_OBSERVERS_EMPTY, ZBUS_CHAN_DEFAULTS);

// Publish from a thread
zbus_chan_pub(&sensor_data_chan, &msg, K_NO_WAIT);

Professional Patterns (Asset Tracker Style)

  • Modularity: Use Zbus as the backbone for inter-module communication.
  • Predictability: Use SMF to define clear lifecycle states for each module (e.g., Uninitialized -> Ready -> Active -> Error).
  • Responsiveness: Use custom work queues for sensor data ingestion to keep the main thread responsive for cloud communication.
  • Sensor Integration: For sensor data ingestion patterns, see the hardware-io skill.

Automation Tools

Examples & Templates

Validation Checklist

  • Zbus publishers and subscribers exchange messages without deadlock or missed updates.
  • SMF transitions follow expected state graph under normal and error conditions.
  • Deferred work executes on intended queue context with bounded execution time.
  • Settings values persist across reboot and reload successfully at startup.

Resources

  • References:
    • zbus.md: Publish/Subscribe patterns and subscriber types.
    • smf.md: Finite and Hierarchical state machine implementation.
    • settings_workqueue.md: Background work and persistent storage.
  • Scripts:
    • zbus_channel_lint.py: Zbus channel name collision checker.
  • Assets:
    • smf_state_table_template.c: State-machine template.

What ships with it: 6 files

10.9 KB alongside SKILL.md, 1 of them executable

references/

scripts/

Keep looking

Skills are one crate of 325,949. 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.