What Are AI Skills? SKILL.md, .cursorrules & Rules Files Explained
The complete guide to AI Skills — what they are, how they work, and how to use them to turn a generic AI assistant into a specialized expert.
Quick Answer
AI Skills are persistent instruction files that teach your AI assistant how to behave in your projects. SKILL.md is for Claude Code. .cursorrules is for Cursor. .windsurfrules is for Windsurf. They load automatically — you don't need to repeat your instructions every conversation.
The Problem AI Skills Solve
Every developer has experienced this: you open a new chat with your AI assistant and have to re-explain everything. "I'm using TypeScript with strict mode. I prefer functional patterns. Always add error handling. Never use any."
Then tomorrow, new chat, repeat the whole thing.
AI Skills solve this. They're files in your project that load automatically every time you use your AI tool. Your preferences, standards, and expertise are always there — without you having to type them.
AI Skills vs System Prompts vs CLAUDE.md
There are three related but distinct concepts:
System Prompts
A one-time instruction you write at the start of a chat. Resets when you start a new conversation. Great for single-session customization, not for persistent project standards.
CLAUDE.md / AGENTS.md
Project-level instructions for Claude Code. Describes project context, tech stack, conventions. Read at the start of every session. Broader than Skills.
AI Skills (SKILL.md / .cursorrules)
Reusable, named expertise modules. A "Code Review" skill, a "TypeScript Expert" skill, a "Security Auditor" skill. The AI invokes specific skills based on what you're working on.
Skills by AI Tool
Claude Code
Location: .claude/skills/ directory
Format: YAML frontmatter + Markdown content
Example:
--- name: code-review description: Review code for security, performance, and best practices --- When reviewing code: - Check for OWASP Top 10 vulnerabilities - Flag any hardcoded secrets or credentials - Suggest performance improvements for O(n²) or worse loops - Ensure proper error handling and logging
Cursor
Location: Project root (or .cursor/rules/ directory)
Format: Plain text or Markdown
Example:
You are an expert TypeScript developer. Always: - Use strict TypeScript (no 'any' types) - Prefer functional patterns over class-based - Write tests alongside implementation - Use descriptive variable names
Windsurf
Location: Project root
Format: Plain text
Example:
Follow these coding standards: - Use 2-space indentation - Always add JSDoc comments - Prefer const over let - Handle all promise rejections
VS Code Copilot
Location: .github/ directory
Format: Markdown
Example:
## Project Instructions This is a Next.js 14 App Router project. - Use Server Components by default - Only use 'use client' when needed for interactivity - Follow Tailwind CSS utility-first patterns
How to Write Your First Skill
Creating a skill is as simple as writing a text file. Here's a 3-minute guide for Claude Code:
- Create a
.claude/skills/directory in your project - Create a file named
typescript-expert.md - Add YAML frontmatter and your instructions:
--- name: typescript-expert description: Expert TypeScript developer with strict patterns --- You are an expert TypeScript developer. Always: - Use TypeScript strict mode (no 'any' types, proper generics) - Prefer type inference over explicit annotations where clear - Use discriminated unions for complex state - Add JSDoc comments for public APIs - Write exhaustive type checks with never for impossible states When asked to write TypeScript: - Start with interfaces/types before implementation - Use const assertions for literal types - Handle null/undefined explicitly — no non-null assertions (!)
That's it. Claude Code will now automatically apply these patterns whenever it writes TypeScript in your project.
What Makes a Good Skill?
- Specific, not generic — "Use React 18 Server Components for data fetching" beats "be a good developer"
- Action-oriented — Start with verbs: "Always..., Never..., Prefer..., When X, do Y"
- Single responsibility — One skill per topic. A "TypeScript Expert" skill, not a "TypeScript + React + Testing" skill
- Shareable — Write skills your whole team can use, not just personal preferences
Frequently Asked Questions
Do AI Skills work with all AI tools?
Each tool has its own format: SKILL.md for Claude Code, .cursorrules for Cursor, .windsurfrules for Windsurf, .github/copilot-instructions.md for VS Code Copilot. The concept is universal but the file format varies.
Can I share Skills with my team?
Yes — that's one of the best things about Skills. Commit them to your project repo and every team member automatically gets the same AI behavior. This standardizes code quality across your team.
Do Skills work together with MCP?
Yes — and they're complementary. MCP gives your AI access to tools (GitHub, databases, search). Skills tell it how to use those tools according to your team's standards. See our MCP + Skills workflow guide.
Ready to Build Your First Skill?
See the top 10 skills every developer needs, or dive into the SKILL.md creation guide.