pub struct Frontmatter { /* private fields */ }Expand description
The YAML frontmatter of a SKILL.md file.
Contains both required fields (name, description) and optional fields (license, compatibility, metadata, allowed-tools).
§Examples
use agent_skills::{Frontmatter, SkillName, SkillDescription};
let name = SkillName::new("my-skill").unwrap();
let description = SkillDescription::new("Does something useful.").unwrap();
let frontmatter = Frontmatter::new(name, description);
assert_eq!(frontmatter.name().as_str(), "my-skill");Implementations§
Source§impl Frontmatter
impl Frontmatter
Sourcepub const fn new(name: SkillName, description: SkillDescription) -> Self
pub const fn new(name: SkillName, description: SkillDescription) -> Self
Creates a new frontmatter with required fields only.
Use the builder for setting optional fields.
Sourcepub const fn builder(
name: SkillName,
description: SkillDescription,
) -> FrontmatterBuilder
pub const fn builder( name: SkillName, description: SkillDescription, ) -> FrontmatterBuilder
Returns a builder for constructing frontmatter with optional fields.
§Examples
use agent_skills::{Frontmatter, SkillName, SkillDescription, Metadata};
let name = SkillName::new("my-skill").unwrap();
let desc = SkillDescription::new("Does something.").unwrap();
let frontmatter = Frontmatter::builder(name, desc)
.license("MIT")
.metadata(Metadata::from_pairs([("author", "test")]))
.build();
assert_eq!(frontmatter.license(), Some("MIT"));Sourcepub const fn description(&self) -> &SkillDescription
pub const fn description(&self) -> &SkillDescription
Returns the skill description.
Sourcepub const fn compatibility(&self) -> Option<&Compatibility>
pub const fn compatibility(&self) -> Option<&Compatibility>
Returns the compatibility string, if specified.
Sourcepub const fn allowed_tools(&self) -> Option<&AllowedTools>
pub const fn allowed_tools(&self) -> Option<&AllowedTools>
Returns the allowed tools, if specified.
Trait Implementations§
Source§impl Clone for Frontmatter
impl Clone for Frontmatter
Source§fn clone(&self) -> Frontmatter
fn clone(&self) -> Frontmatter
Returns a duplicate of the value. Read more
1.0.0 · 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 Frontmatter
impl Debug for Frontmatter
Source§impl<'de> Deserialize<'de> for Frontmatter
impl<'de> Deserialize<'de> for Frontmatter
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
Source§impl PartialEq for Frontmatter
impl PartialEq for Frontmatter
Source§impl Serialize for Frontmatter
impl Serialize for Frontmatter
impl Eq for Frontmatter
impl StructuralPartialEq for Frontmatter
Auto Trait Implementations§
impl Freeze for Frontmatter
impl RefUnwindSafe for Frontmatter
impl Send for Frontmatter
impl Sync for Frontmatter
impl Unpin for Frontmatter
impl UnwindSafe for Frontmatter
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,
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.