+Skills stay Markdown content, not packages — they are capability packages (`SKILL.md`). Each skill is a **dual surface**: the model looks up descriptions with the advertised `skill_search` catalog tool, loads a body on demand via the `use_skill` core tool, and the operator can invoke it as `/<skill-name>` unless frontmatter sets `user-invocable: false`. The primary prompt lists names only. `loadSkillCommands` (`src/plugins/skill-commands.ts`) synthesizes a slash command that sends the SKILL.md body (plus typed args) to the primary session; untagged skills still become slashes.
0 commit comments