Skip to documentation
Documentation navigation

Documentation navigation

Documentation / guides

Embedded Skills

Compile curated skills into an application and authorize a closed set for each Loop identity.

developer

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.

Source and proof

← back to documentation