Skip to documentation
Documentation navigation

Documentation navigation

Documentation / guides

Workspace Skills

Discover and load project-local skills through a bounded, gated workspace path.

developer

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.

Source and proof

← back to documentation