lpm skills
Install, list, validate, or clean AI agent skills delivered as packages.
lpm skills <action> [package]Skills are markdown files that ship inside a package and tell an AI agent how to use it correctly. lpm install and lpm add install them automatically; this command is for explicit management.
For the conceptual model — what skills are, on-disk layout, editor integration, and the lpm.dev-only status — see AI agent skills.
Examples
lpm skills list # what's installed, grouped by package
lpm skills install @lpm.dev/owner.pkg # fetch and write one package's skills
lpm skills validate # local sanity-check against the size + shape rules
lpm skills clean # wipe .lpm/skills/ entirelySubcommands
| Subcommand | Aliases | Effect |
|---|---|---|
list | ls | Walk .lpm/skills/<package>/*.md, group by package, print one row per skill with file size |
install <package> | — | Fetch the published skills for one package from the registry and write them to .lpm/skills/<package>/. Same end state as the auto-install side-effect of lpm install / lpm add, scoped to one package |
validate | — | Walk local .lpm/skills/, validate each file against the publish-time shape rules (see below). Exits non-zero on any failure |
clean | — | Recursively remove .lpm/skills/ and everything under it. Blunt — not orphan-aware; re-run lpm install afterward to repopulate |
install requires an authenticated session against lpm.dev (only lpm.dev packages ship skills today). list, validate, and clean are purely local — no network.
Validation rules
lpm skills validate enforces what the publisher had to satisfy at publish time:
| Rule | Limit |
|---|---|
| Per-skill file size | ≤ 15 KB |
| Per-skill content length | ≥ 100 chars (after frontmatter) |
| Per-skill structure | Must start with YAML frontmatter (---) |
| Total skills size | ≤ 100 KB across all installed skill files |
Each violation is printed as a warning; the command exits non-zero if any violation occurred. --json emits a structured envelope:
{
"success": false,
"valid": 2,
"errors": [
"owner.pkg/heavy.md: exceeds 15KB limit (16384 bytes)",
"owner.pkg/short.md: content too short (need 100+ chars)"
],
"quality_impact": 7
}quality_impact mirrors the publish-time quality bonus: +10 if 3 or more skills validate, +7 for at least one, 0 otherwise.
--no-skills and .gitignore
lpm install and lpm add auto-install skills as a post-resolve side-effect. Skip with --no-skills per-invocation. When skills do install through those commands, .lpm/skills/ is added to your project's .gitignore automatically. The standalone lpm skills install does not touch .gitignore — add the entry by hand if you want the skill files ignored.
Keep .lpm/skills/ out of source control unless you have a specific reason to commit it (e.g., reproducible AI tooling in CI). The contents come back deterministically from the registry on the next install.
Flags
lpm skills takes no specific flags besides the global flags. --json returns structured output for every subcommand.
See also
- AI agent skills — concept page, on-disk layout, editor integration
lpm install --no-skills— skip skill installation per-invocationlpm add --no-skills— same, for source delivery- MCP servers — different AI-integration mechanism (tool calls vs. ambient docs)