pub struct SkillSpec {
pub name: String,
pub owner_tag: String,
pub frontmatter: SkillFrontmatter,
pub body: String,
pub assets: Vec<SkillAsset>,
pub adopt_unowned: bool,
}Expand description
Caller-supplied description of an agent skill to install.
Skills are directory-scoped: each one occupies a subdirectory under the
harness’s skills/ root, with a required SKILL.md and any number of
supporting files in scripts/, references/, and assets/.
Build via SkillSpec::builder. For fallible construction see
SkillSpecBuilder::try_build.
Fields§
§name: StringSkill directory name. Becomes the folder under the harness’s
skills/ root. Must be lowercase kebab-case, max 64 chars.
owner_tag: StringThe consumer of this library that owns the skill. Recorded in the
sidecar ownership ledger; refusal to remove a skill owned by another
consumer matches the same NotOwnedByCaller model used for MCP.
frontmatter: SkillFrontmatterYAML frontmatter required by Claude / Antigravity. Written verbatim
at the head of SKILL.md.
body: StringMarkdown body of SKILL.md (no frontmatter — that is rendered from
SkillSpec::frontmatter).
assets: Vec<SkillAsset>Optional supporting files under scripts/, references/, assets/.
The relative_path is interpreted under the skill directory; any
leading scripts//references//assets/ prefix is honoured as-is.
adopt_unowned: boolWhen true, install adopts a skill directory that exists on disk but
has no recorded owner instead of refusing. Use after a crash between
skill-directory write and ledger record. Default false.