en un clic
builtin-skills
// Use when creating a new builtin skill for Crush, editing an existing builtin skill (internal/skills/builtin/), or when the user needs to understand how the embedded skill system works.
// Use when creating a new builtin skill for Crush, editing an existing builtin skill (internal/skills/builtin/), or when the user needs to understand how the embedded skill system works.
Use when the user needs help configuring Crush — working with crush.json, setting up providers, configuring LSPs, adding MCP servers, managing skills or permissions, or changing Crush behavior.
Use when creating a new shell builtin command for Crush (internal/shell/), editing an existing one, or when the user needs to understand how commands are intercepted in Crush's embedded shell.
Use when the user wants to add, write, debug, or configure a Crush hook — gating or blocking tool calls, approving or rewriting tool input before execution, injecting context into tool results, or troubleshooting hook behavior in crush.json.
Use when the user needs to query, filter, reshape, extract, create, or construct JSON data — including API responses, config files, log output, or any structured data — or when helping the user write or debug JSON transformations.
| name | builtin-skills |
| description | Use when creating a new builtin skill for Crush, editing an existing builtin skill (internal/skills/builtin/), or when the user needs to understand how the embedded skill system works. |
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 name field.//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 |
crush-hooks | builtin/crush-hooks/ | Authoring, configuring and debugging hooks |
jq | builtin/jq/ | jq JSON processor usage guide |