Xmake Agent Skills (xmake-skills)
Xmake is a cross-platform build utility based on Lua, driven by a single xmake.lua at the repository root. This bundle ships a set of focused agent skills. Each skill lives under skills/<category>/<skill-name>/SKILL.md, carries its own description, and loads its instructions only when a task matches (progressive disclosure). This page is the navigation guide: pick the skill whose description matches the task.
Pick a skill by task
Getting started
- xmake-basics — installing Xmake,
xmake create, the minimalxmake.lua, build modes, project layout. - xmake-style — idiomatic
xmake.luastructure and writing conventions. - xmake-templates — creating a project from built-in templates and choosing template options.
Configuring targets
- xmake-targets — target kinds, dependencies, source files, flags.
- xmake-options — user-configurable build options via
option()/set_option. - xmake-packages — adding third-party C/C++ dependencies with
add_requires. - xmake-rules — applying built-in rules (
mode.debug,mode.release, etc.). - xmake-feature-check — probing host/toolchain capabilities in
xmake.lua. - xmake-link-order — fixing linker errors from symbol ordering / link groups.
- xmake-policy — setting build policies with
set_policy.
Command line & interop
- xmake-commands — invoking Xmake from the command line.
- xmake-project-generator — exporting an xmake project to another build system.
- xmake-trybuild — building a third-party project that ships its own
xmake.lua.
Toolchains & cross-compilation
- xmake-toolchains — switching compilers (gcc/clang/msvc/mingw/…).
- xmake-cross-compilation — cross-compiling a project for another target.
- xmake-cxx-modules — C++20 modules: setup and use with Xmake.
Package management
- xrepo-cli — installing, inspecting, exporting C/C++ packages with xrepo.
- xrepo-env — a virtual environment of C/C++ packages.
- xmake-network — slow/failing package downloads and proxy/accelerator config.
- xmake-repo-testing — adding or modifying a package recipe in the xmake-repo.
- xmake-debug-package-source — debugging a package installed from
add_requires. - xmake-private-packages — distributing C/C++ libraries inside a company.
Packaging & distribution
- xmake-xpack — producing distributable artifacts (zip, deb, nsis, …).
Testing
- xmake-tests — setting up and running tests in an Xmake project.
- xmake-unit-tests — running or adding xmake's own unit tests.
Performance
- xmake-build-optimization — speeding up a slow build.
- xmake-build-cache — configuring/debugging xmake's local build cache.
- xmake-distributed-compilation — built-in distributed compilation.
- xmake-remote-compilation — compiling/running on a remote machine.
Scripting
- xmake-scripting — custom Lua logic inside
xmake.lua. - xmake-script-modules — requiring and structuring script modules.
- xmake-plugins — invoking built-in Xmake plugins (project generators, etc.).
- xmake-custom-plugins — authoring a custom xmake plugin / task.
- xmake-async-jobs — parallel / async work inside xmake scripts.
- xmake-graph-module — a generic graph module for xmake scripts.
- xmake-color-output — emitting colored/styled output from xmake.
Ops & debugging Xmake itself
- xmake-env-vars — configuring xmake via environment variables.
- xmake-theme — switching xmake's output theme (colors).
- xmake-troubleshooting — xmake misbehaving: hangs/stuck, mysterious errors.
- xmake-dev — hacking on Xmake itself: building the
xmakebinary from source.
Non-C/C++ languages
- xmake-rust, xmake-go, xmake-swift, xmake-objc, xmake-dlang, xmake-fortran, xmake-cuda, xmake-zig, xmake-nim, xmake-pascal, xmake-vala, xmake-csharp, xmake-kotlin — per-language builds with the right target kinds, toolchains, and interop.
Authoring notes
- Keep each
SKILL.mdfocused — itsdescriptionis what the agent reads to decide whether to load it. - Put long reference material under the skill's
references/so theSKILL.mdstays small. - Ground every example in real, verified Xmake behavior — no invented APIs or options.
- When adding a new skill, drop it in the most natural category and add it to this index (and that category's
README.md).