CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

71

Quality

86%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Builtin Skills

Crush embeds skills directly into the binary via internal/skills/builtin/. These are always available without user configuration.

How It Works

  • Each skill lives in internal/skills/builtin/<skill-name>/SKILL.md.
  • The tree is embedded at compile time via //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).
  • The View tool resolves crush:// paths from the embedded FS, not disk.
  • User skills with the same name override builtins (last occurrence wins in Deduplicate()).

Adding a New Builtin Skill

  1. Create internal/skills/builtin/<skill-name>/SKILL.md with YAML frontmatter (name, description) and markdown instructions. The directory name must match the name field.
  2. No extra wiring needed — //go:embed builtin/* picks up new directories automatically.
  3. Add a test assertion in TestDiscoverBuiltin in internal/skills/skills_test.go to verify discovery.
  4. Build and test: go build . && go test ./internal/skills/...

Existing Builtin Skills

SkillDirectoryDescription
crush-configbuiltin/crush-config/Crush configuration help
crush-hooksbuiltin/crush-hooks/Authoring, configuring and debugging hooks
jqbuiltin/jq/jq JSON processor usage guide
Repository
charmbracelet/crush
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.