Custom Skills
Skills are the primary extension point in Trellis. Most of the shipped workflow (brainstorm, before-dev, check, update-spec, break-loop) is delivered as auto-trigger skills. This chapter explains how to add your own.Commands vs. sub-agents vs. skills
Use a skill when the AI should trigger it automatically based on context; use a command when the user should decide; use a sub-agent when the work needs isolation with its own prompt and restrictions.
Skill file format
A skill is a folder containingSKILL.md:
SKILL.md uses YAML frontmatter that the platform matches against:
.agents/skills/{name}/SKILL.md (the agentskills.io cross-platform shared layer) is directly usable by Amp, Cline, Deep Agents, Firebender, Warp, and other agents that read the standard.
Writing a skill that triggers reliably
Thedescription field is what platforms match on. Write it as a description of the condition that should cause this skill to fire, not a description of the skill’s name.
Examples:
- State the trigger condition again, in the skill’s own voice, so the AI can double-check that the match was correct.
- Tell the AI exactly which files to read before acting.
- Give a fixed output format so the result is consistent across invocations.
Example: an api-doc skill
.claude/skills/api-doc/SKILL.md:
Sharing skills
To distribute a skill across projects:- Put the canonical
SKILL.mdunderpackages/cli/src/templates/common/skills/{name}/SKILL.md(if contributing upstream) or publish it as its own npm package. - Add a configurator step per platform that copies or adapts the skill into that platform’s layout.
- Version the skill alongside the Trellis release so migrations stay consistent.