process.md

Creation Process

Understanding the skill

Before creating a skill, gather concrete usage examples. Ask:

  • What functionality should the skill support?
  • Can you give examples of how this would be used?
  • What would a user say that should trigger this skill?

Skip this when usage patterns are already clear. Conclude when you have a clear sense of the functionality the skill should support.

Planning reusable contents

Analyze each example by:

  1. Considering how to execute on the example from scratch
  2. Identifying what scripts, references, and assets would help when doing this repeatedly

Example analyses

pdf-editor for "Help me rotate this PDF":

  1. Rotating a PDF requires re-writing the same code each time
  2. → A scripts/rotate_pdf.py script would be helpful

frontend-webapp-builder for "Build me a todo app":

  1. Writing a frontend webapp requires the same boilerplate each time
  2. → An assets/hello-world/ template with boilerplate project files would be helpful

big-query for "How many users logged in today?":

  1. Querying BigQuery requires re-discovering table schemas each time
  2. → A references/schema.md documenting table schemas would be helpful

Creating the skill

  1. Create the skill directory with SKILL.md
  2. Implement reusable resources (scripts/, references/, assets/)
  3. Write SKILL.md frontmatter and body
  4. Validate with skills-ref validate ./my-skill
  5. Iterate based on real usage