Claude Code Skills: Coding Workflow Guide

Claude Code Skills let you teach Claude how your team codes — your conventions, your workflows, your standards. This guide covers everything from first install to advanced patterns, so you can turn Claude Code into a specialist that ships production-ready code your way.

What Are Claude Code Skills?

Claude Code Skills are folders of instructions, scripts, and resources that Claude Code loads dynamically to improve how it handles specific coding tasks. They work directly in your terminal — Claude scans available skills at session start, loads them when relevant, and follows their instructions to produce better, more consistent results.

Skills were introduced by Anthropic in October 2025. In Claude Code specifically, skills integrate with the CLI, subagents, plugins, and MCP servers to form a powerful automation layer for developer workflows.

What makes Claude Code Skills different from Claude.ai Skills:

How to Set Up Claude Code Skills

Getting skills into Claude Code takes less than a minute. Three installation paths depending on your scope.

Personal Skills (Global)

Skills that apply to all your projects. Place them in your home directory:

Plain Text
~/.claude/skills/ ├── my-code-review/ │ └── SKILL.md ├── my-changelog/ │ └── SKILL.md └── my-testing/ ├── SKILL.md └── scripts/ └── run-tests.sh

Project Skills (Local)

Skills scoped to a specific project. Place them in the project root:

Plain Text
your-project/ ├── .claude/ │ └── skills/ │ └── project-conventions/ │ └── SKILL.md ├── src/ └── package.json

Skills in .claude/skills/ within additional directories (--add-dir) are also loaded automatically.

Plugin Marketplace

Install pre-built skills from Anthropic's plugin marketplace (launched December 2025 with 36 curated plugins):

Bash
# Install a plugin containing skills /plugin install document-skills@anthropic-agent-skills # List available skills /skills

Verify Installation

Run /skills inside a Claude Code session to see all loaded skills, their source (personal, project, or plugin), and their status.

Claude Code Skill Format — Anatomy of a SKILL.md

Every skill starts with a SKILL.md file. Here's the complete format with Claude Code-specific features.

Basic Structure

YAML
--- name: my-skill-name description: What this skill does and when Claude should use it --- # My Skill Name ## Instructions [Step-by-step guidance for Claude to follow] ## Examples [Concrete usage examples] ## Guidelines [Constraints and best practices]

Claude Code-Specific Frontmatter

Claude Code supports additional frontmatter fields beyond the basics:

YAML
--- name: pr-summary description: Summarize changes in a pull request context: fork agent: Explore allowed-tools: Bash(gh *) ---

Shell Command Preprocessing

Claude Code skills support the !command syntax — shell commands that execute before the skill content is sent to Claude. The output replaces the placeholder, so Claude receives real data, not the command.

markdown

Markdown
## Pull request context - PR diff: !`gh pr diff` - PR comments: !`gh pr view --comments` - Changed files: !`gh pr diff --name-only` ## Your task Summarize this pull request...

Claude receives the fully-rendered prompt with actual PR data. This is preprocessing, not something Claude executes — Claude only sees the final result.

Extended Thinking

To enable extended thinking (deep reasoning) in a skill, include the word ultrathink anywhere in your skill content.

Token Budget

Skill description character budget scales with context window — approximately 2% of the available context. Users with larger context windows can load more skill descriptions without truncation.

Advanced Claude Code Skills Patterns

Once you have the basics down, these patterns unlock serious workflow power.

Skills + Subagents

Subagents are specialized Claude instances with their own context windows. Combine them with skills for domain-specific automation:

YAML
--- name: reviewer description: Use for thorough code reviews model: sonnet color: orange --- You are an expert code reviewer. Focus on security, performance, and maintainability.

The skill tells Claude what to do. The subagent gives it a focused persona and model to do it with.

Skills + MCP Servers

MCP provides tool access. Skills provide the workflow knowledge on top. Together they enable complex integrations:

AspectClaude.ai SkillsClaude Code Skills
EnvironmentWeb-based chat with code execution sandboxTerminal with full filesystem, git, and shell access
InstallationUpload ZIP via SettingsDrop into ~/.claude/skills/ or .claude/skills/
DistributionManual upload per userVersion control, plugins, plugin marketplace
CapabilitiesSandboxed code executionFull shell access, git worktrees, MCP integrations
Shell CommandsNot supported!command syntax for live data preprocessing
SubagentsNot availableSkills can be combined with specialized subagents
Network AccessLimited/configurableFull network access (same as local environment)

Skills in Plugins

Package skills for distribution via the plugin system:

Plain Text
my-plugin/ ├── .claude-plugin/ │ └── plugin.json ├── skills/ │ └── my-skill/ │ └── SKILL.md ├── commands/ ├── agents/ ├── hooks/ └── .mcp.json

Plugins can bundle skills alongside custom commands, subagents, hooks, and MCP server configs — making them the most powerful distribution unit in Claude Code.

Best Practices for Claude Code Skills

Lessons from early adopters, Anthropic's internal teams, and the Verdent community.

Claude Code Skills + Verdent: Parallel Skill-Powered Workflows

Verdent's multi-agent architecture takes Claude Code Skills further — run multiple skill-powered tasks in parallel, across isolated workspaces, with full planning and review.

FieldPurpose
nameUnique identifier for the skill
descriptionWhat the skill does + when to use it (appears in Claude's system prompt — keep it tight)
contextExecution context — fork runs in an isolated context
agentWhich subagent to use (e.g., Explore for read-only tasks)
allowed-toolsRestrict which tools the skill can invoke (e.g., Bash(gh *) limits to GitHub CLI commands)
PatternMCP ProvidesSkill Provides
Sentry Bug FixingError data from Sentry APIWorkflow for analyzing, reproducing, and fixing detected bugs
Jira Sprint PlanningTicket data from Jira APIYour team's sprint planning methodology and estimation standards
Database MigrationDatabase schema accessYour organization's migration conventions and safety checks
PracticeWhy It Matters
Write the description firstThe frontmatter description determines if Claude loads the skill. A vague description means the skill never fires. A clear one with trigger phrases ("Use when user says 'review PR'") ensures reliable activation
One skill, one jobKeep each skill focused on a single task area. Composability beats complexity — Claude can load multiple skills simultaneously
Use concrete examplesAbstract instructions lead to inconsistent output. Show Claude exactly what good input and output look like
Preprocess with !commandFetch live data (git diffs, API responses, file contents) before Claude sees the prompt. This grounds the skill in real context, not assumptions
Scope allowed-toolsUse allowed-tools to restrict what the skill can do. This prevents accidental side effects and makes skills safer to share
Test with varied promptsDon't just test the happy path. Try ambiguous requests, edge cases, and unrelated prompts to make sure the skill loads when it should and stays silent when it shouldn't
Version control your skillsStore skills in your project repo. Share via Git, review changes in PRs, and maintain a changelog — just like any other code
Combine with CLAUDE.mdCLAUDE.md provides project-wide context. Skills provide task-specific procedures. Use both: CLAUDE.md for "what this project is" and skills for "how to do X in this project"
Verdent FeatureHow It Enhances Skills
Parallel AgentsRun a code review skill, a test generation skill, and a documentation skill simultaneously — each in its own agent, zero conflicts
Isolated WorkspacesEvery agent operates in its own git worktree. Skill-driven changes stay separate until you review and merge
Planning ModeBefore any skill fires, Verdent helps you shape the task into a clear plan — so the skill gets the right input from the start
Diff ReviewSee exactly what each skill-powered agent changed, with highlighted diffs and summaries, before you confirm anything
Task DashboardTrack all active skill-powered tasks across projects in one view — see progress, review outputs, and merge results

Frequently Asked Questions

What are Claude Code Skills?
Claude Code Skills are folders of instructions, scripts, and resources that Claude Code loads dynamically to improve its performance on specific coding tasks. They work in your terminal, integrate with the CLI, and support features like shell command preprocessing, subagents, and MCP servers.
How do Claude Code Skills differ from Claude.ai Skills?
Claude Code Skills run in your terminal with full filesystem, git, and shell access. They support shell command preprocessing (!command syntax), subagent integration, and plugin-based distribution — none of which are available in the Claude.ai web interface.
How do I install a skill in Claude Code?
Place the skill folder in ~/.claude/skills/ (global) or .claude/skills/ in your project root (project-scoped). You can also install skills via plugins with /plugin install. Run /skills to verify what's loaded.
Can I use Skills and MCP together?
Yes, and they're designed to complement each other. MCP gives Claude access to external tools and data. Skills teach Claude the workflows and procedures for using those tools effectively. For example, an MCP server provides Sentry error data, while a skill defines how to analyze and fix those errors.
How does Verdent improve the Claude Code Skills experience?
Verdent runs multiple skill-powered agents in parallel across isolated git workspaces. This means you can execute a review skill, a testing skill, and a refactoring skill simultaneously — each in its own workspace — and review all changes in one dashboard before merging. Planning mode ensures each task is well-defined before any skill fires.