Skip to main content
Skills
Modular instruction sets that extend Cline’s capabilities for specific tasks.
Skills are modular instruction sets that extend Cline’s capabilities for specific tasks. Each skill packages detailed guidance, workflows, and optional resources that Cline loads only when relevant to your request.
Install multiple skills and Cline only loads what it needs. A deployment skill stays dormant until you ask about deploying. Unlike rules (which are always active), skills load on-demand so they don’t consume context when you’re working on something unrelated.
When you send a message, Cline sees a list of available skills with their descriptions. If your request matches a skill’s description, Cline activates it using the
The
Required fields:
You can also create skills manually by creating the directory structure in your file system. Place skill directories in
Weak descriptions leave too much ambiguity:
Start with what the skill does (action verbs), include trigger phrases users might say, and mention specific file types, tools, or domains. Test your descriptions by trying different phrasings of requests to see if the skill triggers.
Cline reads documentation files using
Skills transform Cline from a general-purpose assistant into a specialist that knows your domain. Start with one skill for a task you repeat often, test it, and iterate on the description until it triggers reliably.
Skills is an experimental feature. Enable it in Settings → Features → Enable Skills.
How Skills Work
Skills use progressive loading to maximize efficiency: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
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.
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..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.
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


