Claude Code tutorial series

Claude Code skills you can reuse

Turn a repeatable workflow into a named skill. One playbook you can explain beats a folder of souvenirs.

What a skill is for

A skill packages a procedure: when to use it, what to check, and which commands to run. Reviewing a PR, cutting a release note, or applying the house lint are good first skills.

It is not a second CLAUDE.md. Instructions stay always on. Skills load when the job matches.

If you cannot say the trigger in one sentence, it is not ready.

Where skills live

Project skills belong in the repo so teammates get them. Personal skills stay on your machine. Official docs describe the directory layout; copy today's layout, not an old gist.

After you add one, start a new session or follow the client's reload path. doctor-style checks and a tiny invocation beat guessing.

  • One project skill in git.
  • Personal skills off the repo if they are yours alone.
  • Reload before you call it broken.
Diagram of CLAUDE.md versus a skill playbook.
Instructions are always on. A skill waits for a matching job.

Write a thin skill

Name, description, and the steps. Include the verify command. Link out instead of pasting a book.

Say what not to do: no production deploy, no secret files.

Keep it runnable on a fresh clone.

  1. Trigger sentence.
  2. Steps a new hire could follow.
  3. Verify command.
  4. Bans.

How you invoke it

Many builds expose a slash command or a skill name. You can also ask in plain language if the description is clear.

First invoke on a tiny stand-in, not on the release branch.

  • Tiny repo or branch.
  • Watch which files it touches.
  • Then use it for real.

Sharing with a team

PR the skill like code. If it shells out, reviewers should see the command list.

Version pins and URLs go stale. Re-read quarterly.

  • PR required.
  • No tokens in the skill body.
  • Owner name in the description.

Skills and CLAUDE.md

CLAUDE.md says how this repo works. The skill says how this workflow works. If both repeat the test command, keep the command in CLAUDE.md and point the skill at it.

Do not hide architecture bans only inside a skill nobody triggers.

  • Always-on facts in CLAUDE.md.
  • Procedures in skills.
  • One test command.

Hooks are not skills

Hooks run your command at a lifecycle point, such as after an edit. They are complementary and easy to overdo.

Week one: zero or one hook. A bad hook makes every session hard to explain.

  • One hook, one job.
  • Prove it in a practice repo.
  • Skills first if you are unsure.

Skill-stage mistakes

Dumping a chat log into a skill file.

Ten skills before one of them has a verify command.

  • Secrets in the playbook.
  • No trigger sentence.
  • Skill that restates CLAUDE.md.

Done looks like this

You invoked one skill on a tiny task and kept or reverted the result.

  1. One skill written.
  2. Trigger is one sentence.
  3. Verify exists.
  4. Teammate could run it.
  5. No tokens.

Next: one MCP server

MCP connects systems that are not the git tree. Skills stay in-repo procedures.

Do not add three servers the same night.

FAQ

Skill or CLAUDE.md?

If it must apply to every session, it is an instruction. If it applies to a named job, it is a skill.

Can I import a marketplace skill?

Only from a source you would run as code. Read it first.

Do IDE and CLI share skills?

That is the intent when they share the project. Confirm with a tiny invoke.

How many skills in week one?

One.

May a skill call MCP?

Later. Get the skill right with repo tools first.

Who owns a broken skill?

The last editor, like any other file in git.

Slash command required?

Nice if present. A clear description is the real requirement.

All chapters in this series

  1. 1. What Claude Code is (and is not)
  2. 2. Install Claude Code the 2026 way
  3. 3. Finish your first reviewable Claude Code task
  4. 4. CLAUDE.md and project instructions
  5. 5. Claude Code skills you can reuse
  6. 6. Add one MCP server to Claude Code
  7. 7. Claude Code vs OpenAI Codex
  8. 8. Claude Code troubleshooting