# .dsh Plugin

> Xmake Agent Skills (xmake-skills)

- Skill: `xmake-io/dsh-plugin` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add xmake-io/dsh-plugin`
- Raw SKILL.md: https://api.skillmd.com/api/skills/xmake-io/dsh-plugin/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: xmake-io (https://skillmd.com/u/xmake-io)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/xmake-io/dsh-plugin

---


# 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 minimal `xmake.lua`, build modes, project layout.
- **xmake-style** — idiomatic `xmake.lua` structure 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 `xmake` binary 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.md` focused — its `description` is what the agent reads to decide whether to load it.
- Put long reference material under the skill's `references/` so the `SKILL.md` stays 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`).

