1# Creation Process
2
3## Understanding the skill
4
5Before creating a skill, gather concrete usage examples. Ask:
6
7- What functionality should the skill support?
8- Can you give examples of how this would be used?
9- What would a user say that should trigger this skill?
10
11Skip this when usage patterns are already clear. Conclude when you have a clear sense of the functionality the skill should support.
12
13## Planning reusable contents
14
15Analyze each example by:
16
171. Considering how to execute on the example from scratch
182. Identifying what scripts, references, and assets would help when doing this repeatedly
19
20### Example analyses
21
22**pdf-editor** for "Help me rotate this PDF":
23
241. Rotating a PDF requires re-writing the same code each time
252. → A `scripts/rotate_pdf.py` script would be helpful
26
27**frontend-webapp-builder** for "Build me a todo app":
28
291. Writing a frontend webapp requires the same boilerplate each time
302. → An `assets/hello-world/` template with boilerplate project files would be helpful
31
32**big-query** for "How many users logged in today?":
33
341. Querying BigQuery requires re-discovering table schemas each time
352. → A `references/schema.md` documenting table schemas would be helpful
36
37## Creating the skill
38
391. Create the skill directory with `SKILL.md`
402. Implement reusable resources (`scripts/`, `references/`, `assets/`)
413. Write SKILL.md frontmatter and body
424. Validate with `skills-ref validate ./my-skill`
435. Iterate based on real usage