Documentation / guides
Embedded Skills
Compile curated skills into an application and authorize a closed set for each Loop identity.
Embedded skills are application-owned instructions compiled into the binary. They are suitable for procedures that must ship with a known version of the application.
Embed and authorize
//go:embed skills/*/SKILL.md
var skillFiles embed.FS
agent := identity.AgentName("weather-assistant")
loader := skill.NewEmbeddedSkillLoader(skillFiles, map[identity.AgentName]map[string]struct{}{
agent: {"weather-briefing": {}}, // This Loop can load only this skill.
})
skillTool := skill.NewSkill(loader, agent)
The loader checks (agent, name) against the closed allow-set before it constructs skills/<name>/SKILL.md. A different Loop using the same embedded filesystem can receive a different set. Unknown agents and unknown names fail closed.
Use Registering the Skill Tool to make skillTool available through Harness.