pub struct CapabilitySkills {
pub implemented: bool,
pub standard: String,
pub tools: Vec<String>,
pub round_trip: String,
}Expand description
v0.7.0 L3-5 — Agent-Skills capability surface.
Every field MUST map to a real implementation:
implemented: 7 MCP tools wired in [crate::mcp::registry] + handlers in [crate::mcp::tools::skill_*].standard: the parser incrate::parsing::skill_mdvalidates names + frontmatter against the agentskills.io §3.1/§3.2 spec.tools: list mirrors the registered handler names verbatim; regression testSKILL_TOOL_NAMESverifies the slice matches the live MCP dispatcher.round_trip:memory_skill_register→memory_skill_export→ re-register produces the IDENTICAL SHA-256 digest (seetests/skill_test.rs, the round-trip pin).
Fields§
§implemented: booltrue whenever the skill registration + lookup substrate is
wired. False is reserved for a build that compiled the family out.
standard: StringExternal spec the parser targets. "agentskills.io" is the
canonical name documented in the L1-5 spec.
tools: Vec<String>Canonical list of registered skill tools. Order matches the MCP dispatch order so an LLM that pins the order doesn’t drift.
round_trip: String"verified" when register → export → re-register is exercised in
the test suite and the digests match.
Implementations§
Trait Implementations§
Source§impl Clone for CapabilitySkills
impl Clone for CapabilitySkills
Source§fn clone(&self) -> CapabilitySkills
fn clone(&self) -> CapabilitySkills
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CapabilitySkills
impl Debug for CapabilitySkills
Source§impl<'de> Deserialize<'de> for CapabilitySkills
impl<'de> Deserialize<'de> for CapabilitySkills
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for CapabilitySkills
Source§impl PartialEq for CapabilitySkills
impl PartialEq for CapabilitySkills
Source§fn eq(&self, other: &CapabilitySkills) -> bool
fn eq(&self, other: &CapabilitySkills) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for CapabilitySkills
impl Serialize for CapabilitySkills
impl StructuralPartialEq for CapabilitySkills
Auto Trait Implementations§
impl Freeze for CapabilitySkills
impl RefUnwindSafe for CapabilitySkills
impl Send for CapabilitySkills
impl Sync for CapabilitySkills
impl Unpin for CapabilitySkills
impl UnsafeUnpin for CapabilitySkills
impl UnwindSafe for CapabilitySkills
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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>
Converts
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>
Converts
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