Automates building the BartonCore project with support for incremental rebuilds and CMake.

Install

mkdir -p .claude/skills/build-rdkcentral && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18732" && unzip -o skill.zip -d .claude/skills/build-rdkcentral && rm skill.zip

Installs to .claude/skills/build-rdkcentral

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Build BartonCore from source. Use when the user wants to compile the project, rebuild after code changes, reconfigure CMake options, or understand the build system. Covers the build.sh convenience script, incremental cmake builds, CMake configuration flags, and the development build profile.
292 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Beginner

Key capabilities

  • Compile BartonCore from source
  • Rebuild after code changes
  • Configure CMake options
  • Perform a clean re-build
  • Enable or disable subsystem support
  • Generate GObject Introspection files

How it works

The build system uses a layered approach, starting with build.sh for configuration and parallel builds, which then calls cmake to configure and build the project.

Inputs & outputs

You give it
Source code changes or CMake configuration flags
You get back
Compiled BartonCore libraries and executables in the build/ directory

When to use build

  • Build project from source
  • Rebuild after code changes
  • Configure build options
  • Perform clean re-build

About this skill

Build BartonCore

Build Hierarchy

BartonCore has a layered build system. Each layer calls the one below it:

build.sh  (top-level convenience script)
  └── cmake  (configure + build)
        └── build-matter.sh  (Matter SDK, invoked automatically by CMake when needed)
  • build.sh is the human-friendly entry point that handles configuration and parallel builds.
  • cmake --build build is the preferred command for incremental rebuilds after code changes.
  • build-matter.sh builds the Matter SDK. CMake invokes it automatically — you almost never need to run it manually.

Incremental Rebuild (most common)

After modifying source files, rebuild with:

cmake --build build

This only recompiles changed files and is fast. Use this as the default build command.

Full Build From Scratch

For a first-time build or a clean rebuild:

./build.sh

This configures CMake (using the dev profile by default) and builds the entire project in parallel. It creates the build/ directory if it doesn't exist.

Options:

  • ./build.sh -d — Delete the CMake cache before reconfiguring (clean reconfigure)
  • ./build.sh -C <cache-file> — Use a custom CMake initial-cache file instead of the dev profile
  • ./build.sh --no-initial-cache — Don't use any initial-cache; use default public options

You can append CMake flags directly:

./build.sh -DBCORE_ZIGBEE=OFF

Development Build Profile

By default, build.sh uses config/cmake/platforms/dev/linux.cmake which enables:

SettingValue
CMAKE_BUILD_TYPEDebug
BCORE_BUILD_WITH_SSPON (stack smash protection)
BCORE_BUILD_WITH_ASANON (Address Sanitizer)
BCORE_GEN_GIRON (GObject Introspection)
BCORE_MATTER_USE_RANDOM_PORTON (avoids port 5540 conflicts)
CMAKE_PREFIX_PATHbuild/matter-install

CMake Configuration Flags

Pass these with -D to cmake or appended to ./build.sh:

Subsystem Flags

FlagDefaultPurpose
BCORE_ZIGBEEONEnable Zigbee support
BCORE_MATTERONEnable Matter support
BCORE_THREADONEnable Thread/OpenThread support
BCORE_PHILIPS_HUEOFFEnable Philips Hue support

Build Option Flags

FlagDefaultPurpose
BCORE_BUILD_REFERENCEONBuild the reference application
BCORE_BUILD_WITH_SSPOFFStack smash protection
BCORE_BUILD_WITH_ASANOFFAddress Sanitizer
BCORE_GEN_GIROFFGenerate GObject Introspection files (enabled by the dev profile)
BCORE_TEST_COVERAGEOFFEnable code coverage
BCORE_MATTER_VALIDATE_SCHEMASONValidate SBMD specs during build
BCORE_MATTER_USE_RANDOM_PORTOFFUse random Matter operational port
BCORE_MATTER_SKIP_SDKOFFSkip building Matter SDK separately

Example: Build Without Zigbee

cmake --build build  # if already configured
# or to reconfigure:
./build.sh -d -DBCORE_ZIGBEE=OFF

Build Output

  • Libraries and executables are in build/
  • Reference app binary: build/reference/barton-core-reference
  • Matter SDK installation: build/matter-install/

Error Recovery

If a build command fails with a tool-not-found error (e.g., cmake: command not found, make: command not found, gcc: command not found):

  1. Check if /.dockerenv exists
  2. If it does NOT exist, stop and tell the user: "Build tools are not available. Please run inside the BartonCore development container."
  3. If it does exist, the error is a genuine build problem — read the error output and diagnose

When not to use it

  • When build tools are not available in the BartonCore development container

Prerequisites

BartonCore Docker development container

Limitations

  • Build tools must be pre-installed in the container

How it compares

This skill provides a convenience script and specific CMake commands for BartonCore, simplifying the compilation process compared to manual CMake setup.

Compared to similar skills

build side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
build (this skill)02moReviewBeginner
upgrade-deps04moReviewAdvanced
build-zfall03moNo flagsBeginner
build-cmake27moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry