pub struct SkillName(/* private fields */);Expand description
Strongly-typed skill name identifier.
SkillName identifies a skill by its canonical name (e.g., "rust-agents",
"readme-generator"). Names come from SKILL.md frontmatter name: fields and
are used at match time, invocation routing, and telemetry.
§Inner type: Arc<str>
The inner type is Arc<str>. Skill names are referenced from multiple subsystems
(registry, matcher, invoker, TUI) during a single agent turn. Arc<str> makes all
clones O(1).
§No Deref<Target=str>
SkillName does not implement Deref<Target=str>. Use .as_str() for explicit
string conversion and .clone() to duplicate.
§Examples
use zeph_common::SkillName;
let name = SkillName::new("rust-agents");
assert_eq!(name.as_str(), "rust-agents");
assert_eq!(name, "rust-agents");
// Clone is O(1) — Arc reference count increment only.
let name2 = name.clone();
assert_eq!(name, name2);Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for SkillName
impl<'de> Deserialize<'de> for SkillName
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 SkillName
impl StructuralPartialEq for SkillName
Auto Trait Implementations§
impl Freeze for SkillName
impl RefUnwindSafe for SkillName
impl Send for SkillName
impl Sync for SkillName
impl Unpin for SkillName
impl UnsafeUnpin for SkillName
impl UnwindSafe for SkillName
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