builtin-skills

Category: Tools & Productivity | Uploader: charmbraceletcharmbracelet | Downloads: 0 | Version: v1.0(Latest)

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. --- # 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 | 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 |

Changelog: Source: GitHub https://github.com/charmbracelet/crush

Directory Structure

Current level: tree/main/.agents/skills/builtin-skills/

  • 📄 SKILL.md 1.8 KB

SKILL.md

Login to download/like/favorite ❤ 23.7K | ★ 0
Comments 0

Please login before commenting.

Loading comments...