A procedural-memory skill: an agentskills.io SKILL.md parsed into a struct.
A skill is YAML frontmatter (the leading --- ... --- block) plus a markdown
body. This module is pure: parse a SKILL.md string into a %Skill{}, render
a %Skill{} back to SKILL.md text, and load one from disk. It owns no
process and touches no global state.
Modeled frontmatter keys are name (required), description, version,
category, and created_by. Every other frontmatter key is preserved under
:metadata, so a skill authored by another tool keeps its extra fields across
a round trip. parse(render(skill)) returns an equal struct for the shapes
real skills use (scalars, lists of scalars, and a one-level metadata map).
created_by is decoded to :agent, :user, or nil; this is what the
Curator uses to decide which skills it may age and rewrite. Unknown values
decode to nil rather than calling String.to_atom/1 on file content.
Summary
Functions
Load and parse a SKILL.md from disk.
Parse a SKILL.md string into a %Skill{}.
Render a %Skill{} back to SKILL.md text.
Types
Functions
Load and parse a SKILL.md from disk.
Parse a SKILL.md string into a %Skill{}.
Render a %Skill{} back to SKILL.md text.