Generic over a tool Vocabulary (default OpenToolVocabulary — no
constraint), exactly like agent(): a vocabulary-bound skill (e.g.
vigiles/claude-code) makes purity: "pure" + a side-effecting tool a tsc
error; the bare core skill() accepts any tools, as before.
Define a SKILL.md specification.
// skills/my-skill/SKILL.md.spec.ts export default skill({ name: "my-skill", description: "...", body: "..." });
Generic over a tool
Vocabulary(defaultOpenToolVocabulary— no constraint), exactly likeagent(): a vocabulary-boundskill(e.g.vigiles/claude-code) makespurity: "pure"+ a side-effecting tool atscerror; the bare coreskill()accepts any tools, as before.