Playbook · Skills

Claude Code Skills

Skills give Claude Code reusable, specialized know-how — beyond a quick command. Here's what they are, how they layer with the rest of your setup, and what makes them reliable on a team.

As teams push Claude Code past one-off tasks, skills have become how you give the agent specialized, reusable capability — deeper than a quick command, broader than a single instruction. This page covers what skills are, how they fit alongside commands and CLAUDE.md, and the thing that decides whether a skill produces sharp output or generic noise.

What a skill is

A skill packages how to do a specific kind of task well — a defined set of instructions, often with supporting files, that the agent can draw on when the task calls for it. Think of it as teaching the agent a capability once, then reusing it: a code-review skill, a migration skill, a docs skill.

How skills layer with the rest

Skills don't replace your other setup — they sit on top of it:

  • CLAUDE.md — always-on baseline context (commands, conventions, layout).
  • Commands — quick, invokable workflow shortcuts.
  • Skills — richer, reusable capabilities for a class of task the agent leans on when relevant.

Together they make the agent's loop more capable and more repeatable.

Anatomy of a skill

A skill is just a folder under .claude/skills/, named for the capability, with a SKILL.md at its root. The agent discovers it by reading the front-matter, and only loads the full body when a task looks like a match. Supporting files — scripts, templates, reference docs — live alongside it and are pulled in on demand:

.claude/skills/
  review-pr/
    SKILL.md          # name, description, instructions
    rubric.md         # reference the agent reads when needed
    check-sql.sh      # a script the skill can run
  db-migration/
    SKILL.md
    template.sql

The SKILL.md itself is plain Markdown with a small YAML header. The description is the part the agent scans to decide whether the skill is relevant, so it carries most of the weight:

---
name: review-pr
description: Review a pull request diff for SQL safety, trust-boundary
  bugs, and conditional side effects. Use when asked to review a PR,
  check a diff, or before landing changes.
---

# Reviewing a pull request

1. Read the diff against the base branch.
2. For every changed query, apply rubric.md.
3. Flag any user input that crosses a trust boundary unsanitized.
4. Run check-sql.sh and surface anything it returns.

Keep the body short and procedural. Push long checklists and examples into sibling files the skill points at — the agent reads them only when the task actually needs them, which keeps your context window lean.

Writing a skill that triggers reliably

The most common failure mode isn't a bad skill — it's a skill the agent never invokes, or invokes at the wrong moment. Two levers fix almost all of it: the description and the scope.

  • Describe the trigger, not the topicName the user phrases that should fire it — "review a PR", "check my diff" — not just "PR review skill". The agent matches on intent.
  • Scope to one jobA skill that reviews, tests, and deploys never triggers cleanly. Split it. One capability per skill.
  • State the boundariesSay when NOT to use it. "Skip for docs-only diffs" stops false fires on unrelated tasks.
  • Defer the detailReference rubric.md, template.sql, examples — load them lazily instead of inlining everything in the body.

A quick way to test a new skill: describe a matching task in plain language ("can you review this diff before I land it?") and watch whether the agent reaches for the skill without being told its name. If it doesn't, the description is too topical — rewrite it around the words a teammate would actually type. Iterate on that line first; it changes behavior more than anything in the body.

Sharing skills across a team

Commit skills to the repo and every teammate's agent gets them. But a shared skill runs into the same wall as everything else: a skill encodes how to do a task, not what your team decided about your codebase. A review skill that doesn't know your conventions produces generic review; a migration skill that doesn't know your constraints produces a migration you have to redo.

First-Tree gives skills the context they operate on — and the orchestration around them.

First-Tree is an open-source agent orchestration platform: agents work alongside humans in shared threads, GitHub issues and PRs become the work queue the right agent picks up, and a living context tree of the team's decisions, designs, and ownership stays in your repo. Skills stay about capability; the tree — an owned, versioned set of decisions the agent reads on every run (via a SessionStart hook) — means a skill's output reflects what your team actually decided instead of a generic best-guess. Shared skills, shared memory, and coordinated work is the combination that scales.

Skills, commands, a tight CLAUDE.md, and a shared context tree are the full Claude Code best practices stack for teams — and on First-Tree they sit inside a platform that also routes work through GitHub and lets agents coordinate in shared threads, the foundation of running AI agent teams where every agent is capable, informed, and working off the same queue.

FAQ

Common questions.

What are Claude Code skills?

Skills are packaged capabilities you give Claude Code — a defined set of instructions, and often supporting files, that teach the agent how to do a specific kind of task well. Where a command is a quick invokable workflow, a skill is a richer, reusable capability the agent can draw on.

How are skills different from commands or CLAUDE.md?

CLAUDE.md is always-on project context; commands are quick workflow shortcuts; skills are deeper, reusable capabilities for a class of task. They layer: CLAUDE.md sets the baseline, commands trigger workflows, skills give the agent specialized know-how.

How do I share skills across a team?

Commit them to the repo so everyone's agent has the same skills available. The harder part is that a skill is only as good as the context it operates on — a 'review' skill still needs to know your team's decisions. Pair shared skills with a shared context layer.

Do skills replace shared context?

No. A skill encodes how to do something; your team's context is what the agent should know about your codebase. A skill plus stale or missing context still produces generic output. See how First-Tree supplies the context below.

Get Started

Run your agents on First-Tree.

First-Tree is the open-source platform where your team and its AI agents work together — agents chat in shared threads, GitHub becomes the work queue, and a context tree gives every agent the same memory. Start in your repo in one command.