pub struct SkillDefinition {
pub name: String,
pub description: String,
pub version: String,
pub variables: Vec<String>,
pub argument_hint: Option<String>,
pub allowed_tools: Vec<String>,
pub user_invocable: bool,
pub disable_model_invocation: bool,
pub instructions: String,
pub format: SkillFormat,
pub source_path: Option<PathBuf>,
pub metadata: HashMap<String, Value>,
}Expand description
Unified skill definition.
Combines metadata (name, description, variables, tool permissions) with
the LLM instructions body. The format field
records which on-disk layout the skill was loaded from.
Fields§
§name: StringSkill identifier (typically matches the directory name).
description: StringHuman-readable description shown in skill listings.
version: StringSemantic version of the skill definition.
variables: Vec<String>Template variable names expected by the skill prompt.
argument_hint: Option<String>Hint text shown for the slash-command argument (e.g. "PR URL or number").
allowed_tools: Vec<String>Tools the skill is allowed to use.
user_invocable: boolWhether end-users can invoke this skill directly (e.g. via /skill).
disable_model_invocation: boolIf true, the LLM cannot invoke this skill – only humans can.
instructions: StringThe actual LLM instructions (markdown body).
format: SkillFormatFormat this skill was loaded from.
source_path: Option<PathBuf>Source path on disk.
metadata: HashMap<String, Value>Additional metadata not captured by named fields.
Implementations§
Trait Implementations§
Source§impl Clone for SkillDefinition
impl Clone for SkillDefinition
Source§fn clone(&self) -> SkillDefinition
fn clone(&self) -> SkillDefinition
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more