SKILL.md files containing step-by-step workflow instructions. They teach Ona Agent to follow specific workflows, such as creating PRs, deploying to staging, or writing tests in a particular style. When a task matches a skill’s description, the agent reads and follows those instructions.
Skills come from three places, plus AGENTS.md for general codebase context:
When two sources publish a skill with the same name, repository skills win over organization skills, which win over built-in skills. This lets a repo customize a team-wide workflow, or a team override a built-in one.
Skill structure
create-pr
create-pr
go-tests
go-tests
linear-ticket
linear-ticket
Requires Linear integration.
sentry-triage
sentry-triage
sentry-fix
sentry-fix
Create a skill
Skills live in your repository.- Create a directory in
.ona/skills/:
- Create a
SKILL.mdfile:
- Commit to your repository:
Directory structure
SKILL.md format
Required fields:name: Unique identifier. If omitted, defaults to the directory namedescription: When to use this skill. Be specific and include trigger words
- Lowercase letters, numbers, and hyphens
- Maximum 64 characters
- Avoid vague names:
helper,utils,tools
How Ona Agent discovers skills
At session start, Ona Agent collects skills from three sources:- Repository skills in
.ona/skills/,.claude/skills/, or.agents/skills/of the current repo - Organization skills configured for your Ona organization
- Built-in skills that ship with Ona Agent
read_skill when a task matches a skill’s description. When two sources publish a skill with the same name, repository skills win over organization skills, and organization skills win over built-in skills.
Best practices
Write specific descriptions
The description determines when Ona Agent uses the skill:- ✅ “Create pull requests following repository conventions. Use when asked to create a PR, open a PR, or land changes.”
- ❌ “PR stuff”
Design for stability
- Use concepts that remain valid despite refactoring
- Let Ona Agent rediscover current code state rather than hardcoding paths
- If tools can’t do something, drop it
Keep skills focused
One skill per workflow. KeepSKILL.md under 500 lines. Move reference material to separate files.
Include anti-patterns
Tell Ona Agent what NOT to do. This prevents common mistakes.Reference, don’t duplicate
Next steps
- AGENTS.md: general codebase context
- Organization skills: team-wide reusable prompts with optional slash commands
- Automations: run workflows automatically
Troubleshooting
Ona Agent doesn't use my skill
Ona Agent doesn't use my skill
Check the description: Be specific about when to use it and include trigger words.Check the path: Skills must be in
.ona/skills/<name>/SKILL.md (or .claude/skills/ or .agents/skills/)Skill content not loading
Skill content not loading
Check path: Ensure the file is at
.ona/skills/<name>/SKILL.md (or .claude/skills/ or .agents/skills/)Check frontmatter: Ensure YAML is valid with required name and description fields