AI Skills
Beginner Guide
March 2026

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.

March 6, 202610 min read

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.

Session-only, not persistent

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.

Project context, always loaded

AI Skills (SKILL.md / .cursorrules)

What this article covers

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.

Modular, reusable, shareable

Skills by AI Tool

Claude Code

SKILL.md
Project or global

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

.cursorrules
Project-level

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

.windsurfrules
Project-level

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

.github/copilot-instructions.md
Repository-level

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:

  1. Create a .claude/skills/ directory in your project
  2. Create a file named typescript-expert.md
  3. 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.