From xmake-skills
Generates compile_commands.json, CMakeLists.txt, Xcode/VS project files, Doxygen docs, and other built-in Xmake plugins. Also defines custom tasks via `task(...)` with menus and option handling.
How this skill is triggered — by the user, by Claude, or both
Slash command
/xmake-skills:xmake-pluginsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Plugins extend the `xmake` CLI with new subcommands. Xmake ships many built-in plugins; you can also define project-local tasks in `xmake.lua`.
Plugins extend the xmake CLI with new subcommands. Xmake ships many built-in plugins; you can also define project-local tasks in xmake.lua.
xmake project -k compile_commands # compile_commands.json (clangd/LSP)
xmake project -k cmakelists # export CMakeLists.txt
xmake project -k ninja # build.ninja
xmake project -k vsxmake -m "debug,release" # Visual Studio
xmake project -k xcode # Xcode
xmake doxygen # generate API docs via doxygen
xmake lua <script> # run a Lua snippet in xmake env
xmake l path/to/script.lua # shorthand
xmake macro --begin ... --end # record a macro of commands
xmake repo --add myrepo https://... # manage xrepo repositories
Auto-regenerate compile_commands.json on every build:
add_rules("plugin.compile_commands.autoupdate", {outputdir = "."})
xmake show -l plugins
A task is a named script reachable via xmake <taskname>.
task("hello")
set_menu {
usage = "xmake hello [options]",
description = "Say hello",
options = {
{"n", "name", "kv", "world", "name to greet"}
}
}
on_run(function ()
import("core.base.option")
print("hello, %s!", option.get("name"))
end)
xmake hello --name=ruki
Option spec: {short, long, kind, default, description} where kind is "k" (flag), "kv" (key-value), or "vs" (values).
task("count_files")
set_menu {usage = "xmake count_files", description = "Count .cpp files"}
on_run(function ()
import("core.project.project")
for _, target in pairs(project.targets()) do
local n = #target:sourcefiles()
print("%s: %d files", target:name(), n)
end
end)
Commonly imported modules: core.base.option, core.project.project, core.project.config, core.platform.platform, lib.detect.find_tool, core.tool.toolchain.
task(...) API, lives under ~/.xmake/plugins or a repo).xmake-rulesxmake-commandsnpx claudepluginhub xmake-io/xmake-skills --plugin xmake-skillsGuides developers through authoring custom xmake plugins and tasks: defining `task()` with `set_menu`, implementing `on_run` logic, packaging standalone plugins, and using `import()` for core modules.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.