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 written by the Codex configurator and is directly usable by Amp, Cline, Deep Agents, Firebender, Kimi Code CLI, 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.