SKILLS
Skills allow agents to carry out uniform structured tasks. The SKILL.md file is a standard proposed by Anthropic.
Skills are Markdown files that inject specialised instructions into Harvey’s context on demand. Harvey scans for skills at startup but only loads a skill’s full instructions when you explicitly ask for it. SKILL.md is documented at https://agentskills.io/home.
Discovery — Harvey scans the standard paths below and builds a catalog of (name, description) pairs. The catalog is added to the system prompt so the model knows what skills are available.
Activation — type /skill load
Resources — a skill directory may also contain scripts/, references/, and assets/ subdirectories. Use /read to bring any of those files into context when the skill’s instructions call for them.
my-skill/
├── SKILL.md required: metadata + instructions
├── scripts/ optional: runnable code
├── references/ optional: extra documentation
└── assets/ optional: templates, data files
---
name: my-skill
description: One or two sentences on what this skill does and when to use it.
license: Apache-2.0 (optional)
compatibility: Requires git (optional)
trigger: pdf extract (optional: keyword list or /regexp/)
metadata: (optional)
author: you
version: "1.0"
---
# My Skill
Instructions in plain Markdown. The model reads this entire block
when the skill is activated.Required frontmatter fields: name, description. The name must be lowercase letters, numbers, and hyphens only, and must match the parent directory name.
Location: agents/skills/go-review/SKILL.md
---
name: go-review
description: Review Go source code for correctness, style, and idiomatic
patterns. Use when the user asks to review, audit, or critique Go code,
or when checking a Go file before committing.
license: AGPL-3.0
compatibility: Designed for Harvey (or any agent working in a Go codebase)
metadata:
author: rsdoiel
version: "1.0"
---
Activate it with: /skill load go-review
Then ask Harvey: Please review cmd/harvey/main.goA compiled skill has executable scripts (compiled.bash for Linux/macOS/BSD, compiled.ps1 for Windows) in the skill’s scripts/ directory. When a compiled skill is invoked, Harvey runs the script directly — no LLM round-trip needed — and injects the output into context.
Compiling a skill requires a large capable model (e.g. Claude or Mistral) that is not typically available on resource-constrained hardware. Compile skills on a capable system and commit the resulting scripts alongside SKILL.md.
Compiled skill directory layout:
my-skill/
├── SKILL.md
└── scripts/
├── compiled.bash
└── compiled.ps1
HARVEY_* environment variables set before each script run:
HARVEY_PROMPT the user’s exact prompt text HARVEY_WORKDIR absolute path to the workspace root HARVEY_MODEL the name of the currently active LLM model HARVEY_SESSION_ID the current session ID as a string
Staleness: if SKILL.md is modified after the scripts were compiled, Harvey warns you when the skill is invoked and runs the old compiled version. Recompile the skill on a capable system to pick up the changes.
TRIGGER field: add an optional trigger field to SKILL.md frontmatter to enable automatic skill dispatch when user input matches:
trigger: pdf extract document (keyword mode — any word triggers) trigger: / (regexp mode — wrap pattern in slashes)
When Harvey receives a user prompt matching a trigger, it invokes the compiled skill directly instead of sending the prompt to the LLM. First alphabetically matching trigger wins.
Project scope
<workspace>/agents/skills/ Harvey-native (and shared clients)
Skills placed in agents/skills/ are visible to any agent that follows the Agent Skills specification (https://agentskills.io/home).
/skill list all discovered skills
/skill list same as above
/skill load NAME inject the full skill body into context
/skill info NAME show path, compatibility, and license
/skill status count skills by scope
/skill new interactive wizard to create a new skill
/skill run NAME run a skill (dispatches compiled scripts if available)