Skills are SKILL.md files that teach Claude how to do a specific task. You write the instructions once, then invoke them repeatedly.
You can call a skill yourself with /skill-name, or Claude can invoke it automatically when it recognizes that a task matches the skill's description. Skills live in .claude/skills/<name>/ for your project, or ~/.claude/skills/<name>/ for personal use across all projects.
I'd suggest thinking about it this way: if you find yourself giving Claude the same -step workflow over and over, that's a skill waiting to be written.