Skip to content

Skill anatomy

Skills follow the open Agent Skills shape: a directory with a SKILL.md file and optional resource folders.

On disk (after pm-skills pull)

text
.claude/skills/secure-coding-policy/
  SKILL.md
  scripts/…          # optional
  references/…       # optional
  assets/…           # optional

The same skill may also be written under .agents/skills/ or .github/skills/ depending on agent detection.

SKILL.md

YAML frontmatter + Markdown body. Typical frontmatter fields:

FieldRole
nameKebab-case id (validated)
descriptionWhat the skill does and when to use it
licenseOptional
compatibilityOptional agent/tool hints
allowed-toolsOptional tool allowlist
metadataIncludes provenance after sync (pm_skill_id, pm_version_sha, …)

The body is the progressive-disclosure instructions your agent reads when the skill applies.

Provenance

When pm-skills materializes a skill, it injects Prompt Manager metadata into frontmatter (for example pm_skill_id, pm_version_sha, pm_scope, pm_synced_at). That is how status detects managed skills vs hand-written local skills, and how prune avoids deleting folders the CLI did not create.

Bundles

Versions can attach resource files (scripts, references, assets) stored with the version. pull downloads them via the bundle endpoint into the skill directory.

Spec validation

The server validates name regex, description length, and body size guidelines on create/update. Prefer keeping bodies focused — large skills should point at references/ instead of inlining everything.

Copyright © 2026 elsai foundry.