You can manage skills and rules for all major AI coding tools directly from the terminal. This skill teaches you the directory layout, file format, and operations for each tool.
Each skill lives in its own subdirectory with a SKILL.md file containing YAML frontmatter.
| Tool | Global Path | Project Path |
|---|---|---|
| Agents | ~/.agents/skills/<name>/SKILL.md |
.agents/skills/<name>/SKILL.md |
| Cursor | ~/.cursor/skills/<name>/SKILL.md |
.cursor/skills/<name>/SKILL.md |
| Claude | ~/.claude/skills/<name>/SKILL.md |
.claude/skills/<name>/SKILL.md |
| Windsurf | ~/.windsurf/rules/<name>/<name>.md |
.windsurf/rules/<name>/<name>.md |
| Cline | ~/.cline/rules/<name>/<name>.md |
.cline/rules/<name>/<name>.md |
| Continue | ~/.continue/rules/<name>/<name>.md |
.continue/rules/<name>/<name>.md |
| Roo Code | ~/.roo/rules/<name>/<name>.md |
.roo/rules/<name>/<name>.md |
| Tool | Global Path | Project Path |
|---|---|---|
| Copilot | ~/.github/copilot-instructions.md |
.github/copilot-instructions.md |
| Codex | ~/.codex/AGENTS.md |
.codex/AGENTS.md |
| Aider | ~/.aider.conf.yml |
.aider.conf.yml |
| Augment | ~/augment-guidelines.md |
augment-guidelines.md |
Plugin skills are cached at ~/.cursor/plugins/cache/<org>/<plugin>/<version>/skills/<name>/SKILL.md. These are managed by Cursor and should not be edited directly.
For directory-based tools (Agents, Cursor, Claude), skills use YAML frontmatter:
---
name: skill-name
description: Brief description of what this skill does
---
# Skill Name
Skill instructions go here. The AI agent reads this content
when the skill is activated.
For Windsurf, Cline, Continue, and Roo Code, skills are plain .md files (frontmatter optional).
# List skills for a specific tool
ls ~/.agents/skills/
ls ~/.cursor/skills/
ls ~/.claude/skills/
ls ~/.windsurf/rules/
ls ~/.cline/rules/
ls ~/.continue/rules/
ls ~/.roo/rules/
# Count total skills across all tools
echo "Agents: $(ls ~/.agents/skills/ 2>/dev/null | wc -l | tr -d ' ')"
echo "Cursor: $(ls ~/.cursor/skills/ 2>/dev/null | wc -l | tr -d ' ')"
echo "Claude: $(ls ~/.claude/skills/ 2>/dev/null | wc -l | tr -d ' ')"
echo "Windsurf: $(ls ~/.windsurf/rules/ 2>/dev/null | wc -l | tr -d ' ')"
echo "Cline: $(ls ~/.cline/rules/ 2>/dev/null | wc -l | tr -d ' ')"
echo "Continue: $(ls ~/.continue/rules/ 2>/dev/null | wc -l | tr -d ' ')"
echo "Roo: $(ls ~/.roo/rules/ 2>/dev/null | wc -l | tr -d ' ')"
# Check single-file tools
test -f ~/.github/copilot-instructions.md && echo "Copilot: exists" || echo "Copilot: not found"
test -f ~/.codex/AGENTS.md && echo "Codex: exists" || echo "Codex: not found"
test -f ~/.aider.conf.yml && echo "Aider: exists" || echo "Aider: not found"
test -f ~/augment-guidelines.md && echo "Augment: exists" || echo "Augment: not found"
cat ~/.cursor/skills/my-skill/SKILL.md
# For Agents/Cursor/Claude (SKILL.md format)
mkdir -p ~/.agents/skills/my-new-skill
cat > ~/.agents/skills/my-new-skill/SKILL.md << 'EOF'
---
name: my-new-skill
description: What this skill does
---
# My New Skill
Instructions for the agent go here.
EOF
# For Windsurf/Cline/Continue/Roo (plain .md format)
mkdir -p ~/.windsurf/rules/my-new-rule
cat > ~/.windsurf/rules/my-new-rule/my-new-rule.md << 'EOF'
# My New Rule
Instructions go here.
EOF
# For single-file tools
cat > .github/copilot-instructions.md << 'EOF'
Instructions for Copilot go here.
EOF
Disabling renames the file to .disabled so the tool ignores it but the content is preserved:
# Disable
mv ~/.cursor/skills/my-skill/SKILL.md ~/.cursor/skills/my-skill/SKILL.md.disabled
# Enable
mv ~/.cursor/skills/my-skill/SKILL.md.disabled ~/.cursor/skills/my-skill/SKILL.md
# Copy from Cursor to Claude
cp -r ~/.cursor/skills/my-skill ~/.claude/skills/my-skill
# Copy from Agents to Windsurf (adapt format)
mkdir -p ~/.windsurf/rules/my-skill
cp ~/.agents/skills/my-skill/SKILL.md ~/.windsurf/rules/my-skill/my-skill.md
mv ~/.cursor/skills/my-skill ~/.agents/skills/my-skill
rm -rf ~/.cursor/skills/my-skill
cp -r ~/.cursor/skills/my-skill .cursor/skills/my-skill
# Search by name
find ~/.agents/skills ~/.cursor/skills ~/.claude/skills ~/.windsurf/rules ~/.cline/rules ~/.continue/rules ~/.roo/rules -maxdepth 1 -type d 2>/dev/null | sort
# Search by content
grep -rl "search term" ~/.agents/skills/ ~/.cursor/skills/ ~/.claude/skills/ 2>/dev/null
find ~/.agents/skills ~/.cursor/skills ~/.claude/skills -name "*.disabled" 2>/dev/null
my-new-skill).