Documentation / guides
Workspace Skills
Discover and load project-local skills through a bounded, gated workspace path.
Workspace skills let a project add local procedures without rebuilding the application. Treat them as untrusted project input, not as an extension of the embedded catalog.
Enable a workspace source
skillTool := skill.NewSkill(
loader,
agentName,
skill.WithWorkspaceRoot(workspaceRoot),
)
available := skill.DiscoverWorkspaceSkills(workspaceRoot)
The expected layout is .skills/<name>/SKILL.md. Discovery returns metadata only. Loading a non-embedded name snapshots the file during preparation and requests both context.load and the applicable filesystem.read capability. Embedded names still resolve from the compiled catalog.
Discovery limits
candidate directory entries: 256
documents inspected: 64
metadata records returned: 32
Malformed documents, symlinks, unsafe names, and unreadable paths are omitted. An oversized candidate directory closes the catalog instead of returning a partial, attacker-controlled view.