Agent Mentor Learn
Claude Code Skills: Build Your Own AI Workflows · Lesson 6 of 6

Lesson 6: Advanced Patterns: Making Skills More Powerful

Learning goals:

  • Understand the difference between personal skills and project skills
  • Manage project skills with Git
  • Apply the team practices that keep shared Skills healthy
  • Know what else exists in the Skills ecosystem

Prerequisites: << Lesson 5

Personal Skills vs Project Skills

Every Skill we've built so far went into ~/.claude/skills/. Those are personal skills — only you can use them. 1

On a team, though, you usually want something else:

  • Everyone reviewing code against the same standard
  • A new hire cloning the repo and having the team's Skills immediately
  • Improvements to a Skill reaching everyone without anyone copying files around

That's what project skills are for. 2

How the two differ

TraitPersonal SkillsProject Skills
Location~/.claude/skills/.claude/skills/
ScopeAll of your projectsThe current project
Version controlNot neededCommitted to Git
Team sharingNot sharedShared with everyone
Typical usePersonal habits, general-purpose toolsProject conventions, team process

Which one to reach for

Personal skills: 2

  • Document format conversion (Markdown → Word)
  • The way you personally like tasks organized
  • Your own code style preferences
  • General tools you want in every project

Project skills:

  • The team's code review standard
  • The project's commit message format
  • Scaffolding for a specific framework
  • The project's deploy process

Creating a project Skill

Step 1: Create it in the project directory

Go to your project:

Step 2: Commit it to Git

Step 3: Teammates pick it up

Everyone else on the team:

The Skill works immediately. There's nothing else to configure. 1

Managing Skills with Git

Once project skills live in Git, everything Git can do applies to them: 3

Version history

Code-review the Skills themselves

Reviewing a Skill matters as much as reviewing code. 4

When someone submits a new Skill or changes an existing one:

  1. Check that the description is clear
  2. Check that the instructions are specific enough
  3. Test whether it actually behaves as intended
  4. Decide whether it earns a place in the project (will it collide with an existing Skill?)

Reviewing a Skill file in a PR:

Branching

Keep experimental Skills on a feature branch:

Team practices that hold up

1. Document them in the README

Documenting Skills is straightforward: list them in the project's root README or in .claude/README.md: 4

2. Agree on naming

Settle on one naming convention across the team: 3

Recommended:

  • Hyphens: commit-format, api-doc-gen
  • Verb-noun or noun-verb: format-commit, review-code
  • Short and clear: two or three words

Avoid:

  • Numeric suffixes: skill-1, helper-v2
  • Anything vague: tool, helper, utility
  • Project abbreviation plus a number: proj-skill-3

3. Prune on a schedule

Review the set once a quarter: 3

A Skill that barely gets used should be improved or deleted. A pile of unused Skills makes it harder for Claude to find the one that actually applies.

4. Announce changes

This one matters: when you change an existing Skill, post it in the team channel.

📢 Skill update: code-review
Changes:- Added checks for React Hooks rules- Lowered the function length threshold (50 lines → 40)
Impact:- Code that passed before may now get flagged- Worth re-reviewing recent PRs
Questions: @dana

Composing Skills

Composing Skills means chaining several of them to handle one larger task: 1

/commit-format fixed the login bug
(Claude returns the formatted commit)
/code-review
(paste the code you just changed)

Or reference one Skill from inside another:

This is where Skills get their reach: small, single-purpose Skills combine into larger workflows. The Anthropic engineering guide puts it this way: "Instead of building fragmented, custom-designed agents for each use case, anyone can now specialize their agents with composable capabilities." 5

Past the basics: where to go next

You now have the core skill set. From here, a few directions worth exploring.

Optional frontmatter fields

This course only used name and description. There are more: 6

  • model: which model this Skill runs on (when you need stronger reasoning)
  • allowed-tools: restrict the Skill to specific tools
  • disable-model-invocation: stop Claude from loading it automatically, so it's manual-only

Of the three: model picks the model, allowed-tools draws the permission boundary, and disable-model-invocation turns off automatic triggering and leaves manual invocation only.

When to use them:

  • Expensive operations (calling an external API) → disable-model-invocation, so it can't fire by accident
  • Tasks that need careful reasoning → model: claude-opus-4
  • Security-sensitive Skills → allowed-tools to limit what they can touch

The full field list is in the official docs: https://code.claude.com/docs/en/skills 1

Skills plus MCP servers

MCP (Model Context Protocol) servers supply tools; Skills supply workflow knowledge. 7

For example:

  • An MCP server exposes a read_database tool
  • A Skill teaches Claude how to use that tool to run the "generate the monthly report" workflow

Put together, Skills become the bridge between Claude and your external systems. 7

Community Skills

To see what other people have built:

Before you run someone else's Skill:

  • Read the whole SKILL.md and understand what it does
  • Try it in a scratch project, not on production code
  • Look for anything risky (running scripts, network access, modifying files)

Recap

  • Personal skills (~/.claude/skills/) are for your own habits; project skills (.claude/skills/) are for working as a team 2
  • Project skills go into Git, teammates get them automatically, and you version and branch them like any other file
  • Team practices: document them, agree on naming, prune on a schedule, announce changes
  • Skills compose: small single-purpose Skills combine into larger workflows 5
  • Where to go next: optional frontmatter fields, MCP server integration, community Skills

You've finished the course

You can now:

  • ✅ Explain how Skills work and where they apply
  • ✅ Write a well-structured SKILL.md
  • ✅ Run a systematic testing and debugging process
  • ✅ Organize a more involved Skill
  • ✅ Apply the team practices that keep shared Skills healthy

What to do next:

  1. Write a Skill today: pick the task you explained three times this week and turn it into one
  2. Use it for a week: track how often you invoke it, what breaks, how much time it saves
  3. Iterate: add the checks you missed, adjust the output format based on what actually happened
  4. Share it: if it's genuinely useful, promote it to a project skill

Remember: a good Skill isn't written once and finished — it gets shaped by being used. 3 4

Now go build the workflows you keep re-explaining. </content> </invoke>

Footnotes

  1. Claude Code official docs: Extend Claude Code with skills — https://code.claude.com/docs/en/skills 2 3 4 5

  2. Teach Claude Code your workflow: a hands-on guide to custom skills — https://medium.com/@n913239/teach-claude-code-your-workflow-a-hands-on-guide-to-custom-skills-8bc35d4a11ed 2 3

  3. Claude Code skills: .NET workflows and reusable prompts — https://codewithmukesh.com/blog/skills-claude-code/ 2 3 4

  4. Claude skills as self-documenting runbooks — https://zackproser.com/blog/claude-skills-internal-training 2 3

  5. Anthropic engineering blog: Equipping agents for the real world with Agent Skills — https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills 2

  6. Claude Skills deep dive (a first-principles view) — https://leehanchung.github.io/blogs/2025/10/26/claude-skills-deep-dive/

  7. The complete guide to building skills for Claude (PDF) — https://resources.anthropic.com/hubfs/The-Complete-Guide-to-Building-Skill-for-Claude.pdf 2

Exercises

01

Pick a project you're currently working on and add a project skill to it:

Level 1: Create your first project Skill
  1. Create .claude/skills/[skill-name]/ in the project directory
  2. Write a Skill that's specific to the project (commit format, deploy process, test generation, whatever fits)
  3. Commit it to Git
  4. Document it in the project README
Done criteria · checked locally
02

A teammate has opened a PR adding a new Skill. Write the review.

Level 2: Review a Skill PR

The PR contents:

Write your review, naming at least 3 problems.

Done criteria · checked locally