Guide for adding and modifying builtin skills embedded in the Crush binary. Use when creating a new builtin skill, editing an existing one, or understanding how the embedded skill system works (internal/skills/builtin/).
Crush embeds skills directly into the binary via internal/skills/builtin/.
These are always available without user configuration.
internal/skills/builtin/<skill-name>/SKILL.md.//go:embed builtin/* in
internal/skills/embed.go.DiscoverBuiltin() walks the embedded FS, parses each SKILL.md, and
sets paths with the crush://skills/ prefix (e.g.,
crush://skills/jq/SKILL.md).crush:// paths from the embedded FS, not disk.Deduplicate()).internal/skills/builtin/<skill-name>/SKILL.md with YAML
frontmatter (name, description) and markdown instructions. The
directory name must match the field.name//go:embed builtin/* picks up new
directories automatically.TestDiscoverBuiltin in
internal/skills/skills_test.go to verify discovery.go build . && go test ./internal/skills/...| Skill | Directory | Description |
|---|---|---|
crush-config | builtin/crush-config/ | Crush configuration help |
jq | builtin/jq/ | jq JSON processor usage guide |