aboutsummaryrefslogtreecommitdiff
path: root/skills/skills-system-guide.md
blob: 26d3dcfc3f74dec92dcc46b40fc5a12fe8287287 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
---
name: skills-system-guide
description: How to use the skills system: load, create, patch, list, and audit skills for persistent procedural memory
tags: [skills, system, meta]
category: system
---
## Steps
1. **Always load skills at task start:**
   - At the START of every task, call load_skills(query) to check for stored procedures
   - Example: load_skills("search the web") returns matching skill content
   - Example: load_skills("edit module") returns the module editing workflow

2. **Create skills after complex tasks:**
   - After any task with 3+ tool calls, call create_skill to save the approach
   - Required fields: name (kebab-case), description, content (markdown with YAML frontmatter)
   - Optional: tags (comma-separated), category (e.g. research, system, dev)
   - Skills persist in /skills/ as .md files with /skills/index.json for fast lookup

3. **Patch skills when they're outdated:**
   - If a stored procedure has wrong steps, call patch_skill(name, newContent)
   - This replaces the entire skill content and updates the index
   - Do NOT create a duplicate — always patch the existing skill

4. **Auto-created error skills:**
   - If the same tool fails 3+ times, a workaround skill is created automatically
   - Named tool-<name>-workaround (e.g. tool-write_file-workaround)

5. **Audit and maintenance:**
   - list_skills(category?) — browse available skills, optionally filter
   - Skills are audited every 20 messages for staleness (empty content, >30 days old)

6. **YAML frontmatter format:**
   - Each skill file must start with: ---\nname: <name>\ndescription: <text>\ntags: [...]\ncategory: <cat>\n---\n
   - Steps follow under ## Steps heading
   - Use numbered lists for sequential steps