esp-brookesia-skill

Guides ESP-Brookesia HMI and AIoT firmware development on ESP-IDF with verified recipes and API references.

28|3|Updated Jun 24, 2026
One-click install
npx skills add https://github.com/JasonYANG170/esp-dev-skill --skill esp-brookesia-skill-jasonyang170
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: esp-brookesia-skill
Source: https://github.com/JasonYANG170/esp-dev-skill/tree/main/repos/esp-brookesia
Command: npx skills add https://github.com/JasonYANG170/esp-dev-skill --skill esp-brookesia-skill-jasonyang170

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Developing ESP-Brookesia applications requires precise knowledge of its Manager + Helper (CRTP) service framework, HAL board layer, and Agent state machine; guessing APIs leads to broken builds and runtime failures. This Skill grounds every function signature, enum, Kconfig symbol, and call sequence in the official esp-brookesia repository docs and source code. ## Core Features & Use Cases - Scenario Recipes: Step-by-step recipes for project setup, Wi-Fi/NVS/Audio/Device/SNTP/Custom services, AI voice assistants (XiaoZhi/Coze/OpenAI), Emote expressions, HAL board adaptation, and the service console with RPC and runtime profilers. - API & Config References: Real function signatures, enums, serialization macros, and Kconfig symbols organized by component for quick verification. - Pitfall Checklists: Twelve critical pitfalls with wrong/correct code pairs covering ServiceManager start/bind ordering, RAII binding lifetimes, schema parameter types, HAL initialization, and multi-core SPI LCD locking. - Use Case: Build a complete AI voice assistant on an ESP32-S3 board by following the agent_chatbot recipe: initialize HAL devices, start ServiceManager, bind AgentManager, configure AFE wake words, expose device capabilities as MCP tools, and drive the Activate→Start state machine. ## Quick Start Ask the agent to create an ESP-Brookesia project that connects to Wi-Fi and plays an audio file on an esp32_s3_korvo2_v3 board.

Frequently Asked Questions about esp-brookesia-skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I call an ESP-Brookesia service like Wi-Fi from my app?

Start the ServiceManager singleton first, then bind the service by its Helper name to get an RAII ServiceBinding. After binding, call Helper static methods like call_function_sync or call_function_async with arguments matching the schema order, optionally passing a Timeout in milliseconds.

How do I build an AI voice assistant with ESP-Brookesia?

Use the agent_chatbot recipe based on examples/agent/chatbot: initialize HAL devices, start general services, bind AgentManager, configure AFE wake words, and drive the state machine with Activate then Start actions. XiaoZhi, Coze, and OpenAI agents can be enabled via menuconfig with their credentials.

Which ESP-IDF version does ESP-Brookesia v0.7 require?

ESP-Brookesia v0.7 (master, componentized) requires ESP-IDF v5.5 or later. The older release/v0.6 branch supports ESP-IDF v5.3 through v5.5 but is no longer maintained and uses a non-componentized architecture.

Why does my ESP-Brookesia service stop working after binding?

The ServiceBinding returned by bind() is RAII: when it goes out of scope the service stops immediately. Store bindings in a member variable, container, or keep them alive for the full app_main scope, and do the same for event subscription connections.

Should I use idf.py set-target or gen-bmgr-config for Brookesia projects?

Use idf.py gen-bmgr-config -b <board> for board-level projects that depend on peripherals like audio codecs or displays, since it pulls in esp_board_manager and brookesia_hal_boards. Use idf.py set-target only for pure-chip projects like the Wi-Fi service example.

What are the hardware requirements for ESP-Brookesia agent examples?

The base framework requires at least 8MB flash and 4MB PSRAM, while AI agent examples like chatbot require 16MB flash and 8MB PSRAM. Supported chips include ESP32-S3, ESP32-P4, and ESP32-C5 depending on the selected board.