Skills is an experimental feature. Enable it in Settings → Features → Enable Skills.
How Skills Work
Skills use progressive loading to maximize efficiency:| Level | When Loaded | Token Cost | Content |
|---|---|---|---|
| Metadata | Always (at startup) | ~100 tokens per skill | name and description from YAML frontmatter |
| Instructions | When skill is triggered | Under 5k tokens | SKILL.md body with instructions and guidance |
| Resources | As needed | Effectively unlimited | Bundled files accessed via read_file or executed scripts |
use_skill tool, which loads the full instructions from SKILL.md.
Skill Structure
Every skill is a directory containing aSKILL.md file with YAML frontmatter.
Skill directory structure
SKILL.md file has two parts: metadata and instructions.
SKILL.md
namemust exactly match the directory namedescriptiontells Cline when to use this skill (max 1024 characters)
Creating a Skill
1
Open the Skills menu
Click the scale icon at the bottom of the Cline panel, to the left of the model selector. Switch to the Skills tab.
2
Create a new skill
Click “New skill…” and enter a name for your skill (e.g.,
aws-deploy). Cline creates a skill directory with a template SKILL.md file.3
Write your skill instructions
Edit the
SKILL.md file:- Update the
descriptionfield to specify when this skill should trigger - Add detailed instructions in the body
- Optionally add supporting files in
docs/,templates/, orscripts/subdirectories
.cline/skills/ (workspace) or ~/.cline/skills/ (global) and Cline will detect them automatically.
Put the important information first in your SKILL.md. Cline reads the file sequentially, so front-load the common cases. Use clear section headers like ”## Error Handling” or ”## Configuration” so Cline can scan for relevant sections.
Toggling Skills
Every skill has a toggle to enable or disable it. This lets you control which skills are active without deleting the skill directory. Skills are enabled by default when discovered. For example, you might disable a CI/CD skill when working on local development, or enable a client-specific skill only when working on that client’s project.Writing Your SKILL.md
Naming Conventions
The skill name appears in thename field and must match the directory name exactly. Use lowercase with hyphens (kebab-case) and be descriptive about what the skill does.
Good names:
aws-cdk-deploypr-review-checklistdatabase-migrationapi-client-generator
aws(too vague)my_skill(underscores, not descriptive)DeployToAWS(use kebab-case, not PascalCase)misc-helpers(too generic)
Writing Effective Descriptions
The description determines when Cline activates the skill. A vague description means the skill won’t trigger when you expect it to. Good descriptions are specific and actionable:Keeping Skills Focused
Keep SKILL.md under 5k tokens. If your skill needs more content, split it into separate files in adocs/ directory and reference them from the main instructions. Cline loads referenced files only when needed.
Include real examples. Show what commands to run, what output to expect, and what the result should look like. Abstract instructions are harder to follow than concrete examples.
Where Skills Live
Skills can be stored globally or in a project workspace. See Storage Locations for guidance on when to use each. Project skills:.cline/skills/(recommended).clinerules/skills/.claude/skills/
~/.cline/skills/(macOS/Linux)C:\Users\USERNAME\.cline\skills\(Windows)
.cline/skills/ so the whole team can use them.
Version control your project skills by committing .cline/skills/. Your team can share, review, and improve them together.
Bundling Supporting Files
Skills can include additional files that Cline accesses only when needed.Directory structure
docs/
Use docs for information that’s too detailed for SKILL.md or only relevant in specific situations:- Advanced configuration options
- Troubleshooting guides for edge cases
- Reference material (API schemas, database schemas)
- Platform-specific instructions
docs/aws.md, docs/gcp.md, and docs/azure.md. Cline loads only the relevant platform guide based on your request.
templates/
Use templates when your skill creates configuration files, boilerplate code, or structured documents:- Config files (Terraform, Docker Compose, CI/CD pipelines)
- Code scaffolding (component templates, test fixtures)
- Documentation templates (README, API docs)
templates/dockerfile, templates/docker-compose.yml, and templates/.env.example that Cline customizes for each new project.
scripts/
Use scripts for deterministic operations where you want consistent behavior:- Validation (linting configs, checking prerequisites)
- Data processing (parsing, formatting, transforming)
- Complex calculations (cost estimation, resource sizing)
- API interactions (fetching data, running health checks)
Referencing Bundled Files
Reference these files in your SKILL.md instructions:SKILL.md (referencing bundled files)
read_file when the instructions reference them. Scripts can be executed directly, and only the script’s output enters the context window.
| Use Scripts For | Use Instructions For |
|---|---|
| Deterministic operations (validation, formatting) | Flexible guidance that adapts to context |
| Complex computations | Decision-making workflows |
| Operations that need reliability | Steps that might vary by situation |
| Anything you’d rather not consume tokens explaining | Best practices and patterns |
Example: Data Analysis Skill
Here’s a practical skill for data analysis tasks. Create a directory calleddata-analysis/ with this SKILL.md:
data-analysis/SKILL.md

