Agent Skills

A skill is a folder with a SKILL.md that teaches agentty your conventions, DSLs, and tribal knowledge. Drop one in and it's live the next turn — no rebuild, no restart.

Why skills

On codebases with internal DSLs or house conventions, curated skills push agent accuracy from roughly 20% to 85%. The model discovers a skill by its name and summary, then loads the full instructions only when the task calls for it — so a big library of skills costs almost nothing per turn.

Writing a skill

A SKILL.md is Markdown with a small YAML frontmatter block. The directory name is the skill's slug.

---
name: house-style
description: This project's commit + code conventions. Load before committing or refactoring.
---

# House style

- Commit messages are single-line, imperative, no AI attribution.
- Prefer `edit` over rewriting whole files.
- Run `cmake --build build -j` to build; tests live in tests/.

The description is what the model sees in the catalog — write it so it's obvious when to load the skill. The body is only pulled into context on demand.

Where skills live

agentty scans these roots for <name>/SKILL.md. Earlier roots win when two skills share a name:

LocationScope
<project>/.agentty/skills/This repo
~/.agentty/skills/Every project (personal)
<project>/.claude/skills/Claude Code compatibility
<project>/.agents/Shared agent skills

Bundled resources

A skill folder can ship supporting files — scripts, reference docs, templates — alongside its SKILL.md. agentty enumerates them (bounded to a shallow depth) and read-allowlists the skill directory, so the model can fetch a bundled reference even when it lives outside the workspace boundary. Those reads are read-only; the write gate never consults them.

Linting your skills

agentty skills lists every discovered skill with spec-lint diagnostics and exits non-zero on warnings — drop it in CI to catch a broken or mis-named skill before it ships.

agentty skills   # list + validate; exit 1 on warnings

NoteSkills are compatible with Claude Code's .claude/skills/ format, so an existing skill library works in agentty unchanged.