pub struct SkillManifest {
pub namespace: String,
pub name: String,
pub description: String,
pub license: Option<String>,
pub compatibility: Option<String>,
pub allowed_tools: Vec<String>,
pub composes_with_reflections: Vec<ComposesWithReflectionEntry>,
pub metadata: Value,
pub body: String,
}Expand description
Parsed, validated SKILL.md manifest.
Produced by crate::parsing::skill_md::parse and consumed by the
memory_skill_register handler to insert into the skills table.
Fields§
§namespace: Stringnamespace field from the YAML frontmatter.
name: Stringname field — validated against ^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$,
length 1-64.
description: Stringdescription — 1-1024 chars.
license: Option<String>license — SPDX expression or free-form text. Optional.
compatibility: Option<String>compatibility — 1-500 chars when present. Optional.
allowed_tools: Vec<String>allowed_tools — list of MCP tool names.
composes_with_reflections: Vec<ComposesWithReflectionEntry>v0.7.0 L2-7 (issue #672) — declared composition with reflection
namespaces. Empty vector when the frontmatter omits the field
(the common case for non-composing skills). The field is also
duplicated into the JSON metadata payload for opaque-metadata
readability by older clients.
metadata: ValueExtra YAML keys not explicitly mapped above, serialised to JSON.
L2-7: composes_with_reflections is re-injected here too so
pre-L2-7 readers that only consult metadata still observe the
declaration as opaque-but-present data.
body: StringMarkdown body after the closing --- fence.
Trait Implementations§
Source§impl Clone for SkillManifest
impl Clone for SkillManifest
Source§fn clone(&self) -> SkillManifest
fn clone(&self) -> SkillManifest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SkillManifest
impl Debug for SkillManifest
Source§impl PartialEq for SkillManifest
impl PartialEq for SkillManifest
Source§fn eq(&self, other: &SkillManifest) -> bool
fn eq(&self, other: &SkillManifest) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SkillManifest
Auto Trait Implementations§
impl Freeze for SkillManifest
impl RefUnwindSafe for SkillManifest
impl Send for SkillManifest
impl Sync for SkillManifest
impl Unpin for SkillManifest
impl UnsafeUnpin for SkillManifest
impl UnwindSafe for SkillManifest
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,
impl<T> ErasedDestructor for Twhere
T: 'static,
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