Installing Artifacts
Install a single artifact
cmx agent install python-craftsperson
cmx skill install skill-creator
If the artifact exists in multiple sources, cmx will ask you to disambiguate:
cmx agent install guidelines:python-craftsperson
Install all available
cmx agent install --all
cmx skill install --all
This installs every artifact from registered sources that isn't already tracked in the lock file with a matching version.
Local vs global install
By default, artifacts install globally (e.g. ~/.claude/agents/ or ~/.claude/skills/ for Claude Code).
Use --local to install into the current project:
cmx agent install python-craftsperson --local
This installs to the platform's project-scoped directory (e.g. .claude/agents/ for Claude Code).
Choosing a platform
By default — with no --platform — cmx installs to every platform already in
use, i.e. those with tracked artifacts at the target scope. A new install
joins the tools you actually run (e.g. Claude + Codex + Hermes) and stays in sync
across them; when nothing is tracked yet it falls back to Claude. Each landing is
reported on its own line, naming the platform.
Use --platform to constrain the install to one tool (which also onboards a new
one):
cmx agent install python-craftsperson --platform cursor
cmx skill install skill-creator --platform windsurf --local
You can also set the platform via environment variable:
export CMX_PLATFORM=copilot
cmx agent install python-craftsperson
Supported platform values: claude, copilot, cursor, windsurf, gemini,
opencode, codex, pi, crush, amp, zed, openhands, hermes, devin.
To make the in-use set explicit rather than inferred, declare a managed set with
cmx config platforms. See
Platform Paths for the full directory table.
What happens on install
- The artifact is copied to the appropriate platform directory
- A SHA-256 checksum is computed
- The version (if present in frontmatter) is recorded
- An entry is written to the platform's lock file with source, checksum, version, and timestamp