Skill Writer Instructions
Use this skill when the user asks to create a new skill (or modify an existing one).
Process
- •
Gather requirements
- •Scope (required)
- •Ask whether the skill should be global or local (unless the user already specified)
- •Global skills live in
~/.roo/skills/ - •Local skills live in
<project-root>/.roo/skills/
- •Skill name (required)
- •Must exactly match the skill directory name under the chosen skills folder
- •1–64 characters
- •Lowercase letters, numbers, hyphens only
- •No leading/trailing hyphens
- •No consecutive hyphens
- •Pattern:
^[a-z0-9]+(?:-[a-z0-9]+)*$
- •Description (required)
- •1–1024 characters after trimming
- •Must be specific about when Roo should use the skill (triggers and scope)
- •Primary use cases (what user requests should trigger it)
- •Constraints (languages/libraries, environment assumptions, safety rules)
- •Output expectations (code templates, checklists, common issues)
- •Scope (required)
- •
Choose file name and location
- •Always write the skill to:
<skills-root>/<name>/SKILL.md - •If scope is global:
- •
<skills-root>=~/.roo/skills
- •
- •If scope is local:
- •
<skills-root>=<project-root>/.roo/skills
- •
- •Ensure the directory name exactly matches
nameand the file is namedSKILL.md - •Create missing directories as needed (e.g., create
<skills-root>/<name>/) - •Use YAML frontmatter exactly as:
- •
name: <name> - •
description: <specific, trimmed description>
- •
- •Always write the skill to:
- •
Write the skill content
- •Start with an H1 title:
# <Skill Title> Instructions - •Provide a step-by-step checklist for how the assistant should respond
- •Include at least one reusable code/template section if applicable
- •Include a “Common Issues” section with practical troubleshooting notes
- •Start with an H1 title:
- •
Keep it practical
- •Prefer concrete steps over narrative
- •Provide defaults when the user does not specify details
- •If requirements are unclear, ask targeted clarification questions
Skill Template
name: <name> description: <specific description of when to use it>
Scope rules:
- •Ask whether the user wants this skill to be global or local (unless explicitly specified)
- •Global path:
~/.roo/skills/<name>/SKILL.md - •Local path:
<project-root>/.roo/skills/<name>/SKILL.md
Name rules:
- •Must exactly match the skill directory name under the chosen skills folder (
~/.roo/skillsfor global,<project-root>/.roo/skillsfor local) - •1–64 chars, lowercase letters/numbers/hyphens only, no leading/trailing hyphens, no consecutive hyphens
Description rules:
- •Required, 1–1024 chars after trimming
- •Must clearly state when Roo should use this skill (specific triggers and scope)
<Title> Instructions
When the user requests <topic>:
- • <step>
- • <step>
- • <step>
Code Template
<insert patterns/snippets here>
Common Issues
- •<issue>: <resolution>
- •<issue>: <resolution>