# Builtin Skills

> Use when creating a new builtin skill for Prowl, editing an existing builtin skill (internal/skills/builtin/), or when the user needs to understand how the embedded skill system works.

- Skill: `neur0map/builtin-skills` (Agent Skill)
- Install (CLI): `npx skillmds@latest add neur0map/builtin-skills`
- Raw SKILL.md: https://api.skillmd.com/api/skills/neur0map/builtin-skills/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: neur0map (https://skillmd.com/u/neur0map)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/neur0map/builtin-skills

---


# Builtin Skills

Prowl 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 `prowl://skills/` prefix (e.g., `prowl://skills/jq/SKILL.md`).
- The View tool resolves `prowl://` 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                                |
| -------------- | ----------------------- | ------------------------------------------ |
| `prowl-config` | `builtin/prowl-config/` | Prowl configuration help                   |
| `prowl-hooks`  | `builtin/prowl-hooks/`  | Authoring, configuring and debugging hooks |
| `jq`           | `builtin/jq/`           | jq JSON processor usage guide              |

