pub struct SkillSpec {Show 13 fields
pub id: String,
pub name: String,
pub description: String,
pub instructions_md: String,
pub allowed_tools: Vec<String>,
pub when_to_use: Option<String>,
pub arguments: Vec<SkillArgumentSpec>,
pub argument_hint: Option<String>,
pub user_invocable: bool,
pub model_invocable: bool,
pub model_override: Option<String>,
pub context: SkillSpecContext,
pub paths: Vec<String>,
}Expand description
ConfigStore representation of a skill.
Fields§
§id: StringCanonical skill id. Must be a valid skill-name token.
name: StringHuman-facing display name.
description: StringCatalog description shown to the model/user.
instructions_md: StringMarkdown instructions injected when the skill is activated. This is the SKILL.md body, not a full frontmatter document.
allowed_tools: Vec<String>Tool ids or matcher patterns granted when the skill is activated.
when_to_use: Option<String>§arguments: Vec<SkillArgumentSpec>§argument_hint: Option<String>§user_invocable: bool§model_invocable: bool§model_override: Option<String>§context: SkillSpecContext§paths: Vec<String>Reserved for future resource/conditional-activation support. Config write validation currently requires this to be empty so DB-managed skills do not advertise resource/path semantics they cannot serve.
Trait Implementations§
Source§impl ConfigRecordMerge for SkillSpec
impl ConfigRecordMerge for SkillSpec
type Patch = SkillSpecPatch
fn merge_patch( self, patch: SkillSpecPatch, ) -> Result<SkillSpec, ConfigRecordError>
Source§impl<'de> Deserialize<'de> for SkillSpec
impl<'de> Deserialize<'de> for SkillSpec
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SkillSpec, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SkillSpec, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for SkillSpec
Source§impl JsonSchema for SkillSpec
impl JsonSchema for SkillSpec
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl Serialize for SkillSpec
impl Serialize for SkillSpec
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for SkillSpec
Auto Trait Implementations§
impl Freeze for SkillSpec
impl RefUnwindSafe for SkillSpec
impl Send for SkillSpec
impl Sync for SkillSpec
impl Unpin for SkillSpec
impl UnsafeUnpin for SkillSpec
impl UnwindSafe for SkillSpec
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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