Skills
Skills are specialized instruction sets that load only when their trigger fires. Cold context stays small; hot context stays relevant.
Triggers
A skill has one or more triggers:
- Keyword — e.g.
architecture,react-router. - File pattern — e.g.
*.tsx,Dockerfile. - Project signal — e.g.
package.json#dependencies.react-router-dom. - Manual — the orchestrator or a human asks for it explicitly.
Skill layout
.ai/skills/
react-router/
SKILL.md # the prompt body
skill.json # id, triggers, scope, owner
evals/ # at least one eval case
Authoring a skill
- Create the folder under
.ai/skills/<name>/. - Write
skill.jsonwith triggers and scope. - Write
SKILL.mdwith the actual instructions. - Add at least one eval case in
.ai/evals/cases/that exercises the skill. - In the Alfred source repo, run
cd packages/evals && npm run test. - Open a PR. The librarian reviews triggers; the qa reviews eval coverage.
Skills cannot override security policy. A skill
may teach an agent how to ask for a destructive command, but
the permission gate is owned by the kernel, not the skill.
Skill packs
A skill pack is a versioned bundle of related skills plus a shared eval suite. Alfred ships two packs:
@alfred/skills-core— the kernel, the panel, the policy.@alfred/skills-web— TypeScript, React Router, TanStack, Node, Postgres.
Pack your own by keeping skills under .ai/skills/ and adding eval coverage before review.