How-to: skill
Common crm skill recipes. See the CLI reference for every flag.
Install the bundled agent skill
crm skill install --target claude
SKILL.md + reference/*.md) into <target>/crm in the agent's skill directory; --target is claude | copilot | cursor (default claude). The destination is recorded in ${CRM_HOME:-~/.crm}/installed-skills.json so crm self-update can keep it in sync (see self-update).
Install the migration skill
crm skill install --skill crm-migration
crm skill install --skill crm --skill crm-migration # both at once
crm (the default, operating the CLI) and crm-migration (assessing and verifying a CRM 2011 or on-prem to Dataverse online migration; it defers to crm for exact commands, so install both). --skill is repeatable, and each skill installs into its own <target>/<skill name> folder, so installing one never touches the other. With several --skill values the --json envelope lists one row per skill under data.skills. If one skill fails partway, the skills before it stay installed (or removed): the error names them, meta.completed_skills holds their rows and meta.failed_skill names the one that failed.
Install without the CLI (npx skills)
npx skills add Gharib89/crm --skill crm -g -y
crm skill directly from the repo using the skills tool — no crm install required. --skill crm selects only the shipped crm skill (--skill crm-migration the migration one; -g global, -y non-interactive). Unlike crm skill install, skills added this way are not registered for crm self-update sync; re-run the command to update.
Install to a custom directory
crm skill install --dest ./my-skills --force
--dest overrides --target and names the skill's folder itself, so it takes one --skill (more is a usage error, exit 2). When a skill already exists at the destination and --force is not given, an interactive terminal prompts to overwrite (declining aborts, exit 1); under --json or a non-TTY (agent/CI) it errors with … already exists. Use --force to overwrite. instead of prompting. --force overwrites without asking.
Show the bundled skill's path
crm skill path
Uninstall the skill
crm skill uninstall --target claude
SKILL.md + reference/, and the directory if empty) for the given target. --skill picks which one, as for install (default crm).