pub struct SkillMeta {
pub name: String,
pub description: String,
pub tags: Vec<String>,
pub when_to_use: Option<String>,
pub allowed_tools: Vec<String>,
pub user_invocable: bool,
pub argument_hint: Option<String>,
pub source: SkillSource,
}Expand description
Metadata from a SKILL.md frontmatter.
§Parity with Claude Code
These fields map to Claude Code’s FrontmatterData:
| CC field | Koda field | Notes |
|---|---|---|
description | description | |
when_to_use | when_to_use | |
allowed-tools | allowed_tools | Scoped tool access |
user-invocable | user_invocable | Default: true |
argument-hint | argument_hint | Usage guidance |
Fields§
§name: StringSkill name (derived from filename or frontmatter).
description: StringOne-line description.
Searchable tags.
when_to_use: Option<String>Guidance for the model on when to activate this skill.
Surfaced in ListSkills output so the model can decide without
hard-coded hints in instructions.md.
allowed_tools: Vec<String>Tool names allowed when this skill is active.
Empty = all tools available (default). Non-empty = only these tools.
Mirrors CC’s allowed-tools frontmatter field.
user_invocable: boolWhether users can invoke this skill (e.g. via /skill-name).
true (default) = shown in user-facing skill list.
false = model-only, not surfaced in /skills but still activatable.
Mirrors CC’s user-invocable frontmatter field.
argument_hint: Option<String>Usage hint shown when listing the skill (e.g. "<file_path>")
Mirrors CC’s argument-hint frontmatter field.
source: SkillSourceWhere this skill was discovered.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SkillMeta
impl RefUnwindSafe for SkillMeta
impl Send for SkillMeta
impl Sync for SkillMeta
impl Unpin for SkillMeta
impl UnsafeUnpin for SkillMeta
impl UnwindSafe for SkillMeta
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more