How to Create Your Own Skills for Claude Code — Complete Tutorial
Skills are Claude Code's most powerful feature -- and also the least explored. While most users stick to individual prompts, those who master skills transform Claude Code into a personalized assistant that knows your patterns, follows your rules and delivers consistent results.
In this tutorial, you will learn how to create a skill from scratch. You don't need to know how to program. Skills are written in Markdown, with instructions in natural language. If you know how to explain a task in writing, you know how to create a skill.
In the end, you will have a functional skill installed and ready to use. Let's build a skill togetherautomated code reviewas a practical example.
1. What are skills in Claude Code
A skill is a set of persistent instructions that Claude Code follows when you invoke it. Unlike a prompt that you type and discard, a skill is saved in your project and can be reused infinite times.
In practice, it works like this:
- You create a Markdown file with detailed instructions
- Save in the correct directory (
.claude/commands/) - Summons with
/nome-da-skillat Claude Code - Claude follows the skill instructions precisely
Analogy:If Claude Code is a chef, a prompt is you saying "make something delicious". A skill is a detailed recipe with ingredients, quantities, pretotion time and presentation. The result is consistent every time.
Skills solve three fundamental problems with setote prompts:
- Inconsistency:prompts generate different outputs each execution. Skills standardize format and quality
- Forgetfulness:you don't need to remember all the details of the prompt every time. Everything is documented in the skill
- Reusability:write once, use forever. Share with your team or across projects
2. Folder and file structure
The structure of a skill in Claude Code is simple:
Each file.mdinside.claude/commands/automatically becomes a slash command available in Claude Code. The file name (without the extension) is the command name.
| File | Command |
|---|---|
code-review.md | /code-review |
deploy-checklist.md | /deploy-checklist |
seo-audit.md | /seo-audit |
For more complex skills with evals and references, the structure can be expanded:
3. Anatomy of a skill: the .md file
A skill's Markdown file has a simple but powerful structure. Let's dissect each part:
Key elements of a good skill
- Context:defines the "role" that Claude should assume. This drastically influences the quality of the output
- Instructions:step by step of what to do. The more specific, the better
- Output format:defines exactly how the result should be presented. Ensures consistency between runs
- Restrictions:negative limits and rules (what NOT to do). Prevents Claude from rambling or generating noise
4. Step-by-step example: creating a code review skill
Let's create the complete skin, from scratch until the first run.
Step 1: Create the folder structure
Step 2: Create the skill file
Step 3: Write the instructions
Open the file.claude/commands/review.mdand write:
Step 4: Test the skill
[Claude Code le a skill e executa a revisao...]
**src/api/users.js** linha 42
- Severidade: CRITICO
- Problema: Input do usuario usado diretamente na query SQL sem sanitizacao
- Fix sugerido: usar tometros pretodos em vez de concatenacao de string
**src/utils/cache.js** linha 18
- Severidade: ALERTA
- Problema: Cache sem TTL pode crescer indefinidamente e causar memory leak
- Fix sugerido: adicionar maxAge ou limite de entradas no Map
Resumo: 4 issues (1 critica, 2 alertas, 1 info)
Nota: APROVADO COM RESSALVAS
Acao: corrigir SQL injection em users.js antes do merge
Ready. Your skill is working. Every time you type/review, Claude Code will follow these instructions exactly.
Want to master this faster?
Everything you are learning here becomes 10x more powerful with ready-made skills. Instead of typing commands manually, skills do the heavy lifting for you. 748+ professional skills, installs in 2 minutes.
Quero as Skills — $95. Evals folder: testing your skill
The folderevals/allows you to test your skill systematically. Each eval is a test scenario that verifies whether the skill produces the expected result.
eval example
Evals do two things: validate that the skill works as expected and document the desired behavior for when you need to update the instructions.
6. References folder: additional context
The folderreferences/stores documents that the skill can consult during execution. This allows skills to access specialized context without cluttering the main file.
In the skill, you reference these files:
Claude Code reads the referenced files and uses them as additional context. This is especially useful for rules specific to your company or project that do not fit in the skill file.
7. Where to save: project vs global
There are two places to save skills:
| Location | Path | Scope | When to use |
|---|---|---|---|
| Project | .claude/commands/ |
Only available in this project | Project-specific skills (review, deployment, etc.) |
| Global | ~/.claude/commands/ |
Available in all projects | Generic skills that you use in any project |
Recommendation
- Project skills:code review (each project has different standards), deploy checklist, specific tests
- Global Skills:README generator, .gitignore creation, dependency analysis, commit message formatting
If a project skill works so well that you want to use it in everything, copy it to the global directory. Simple.
8. Good practices for professional skills
After creating dozens of skills, these are the patterns that differentiate amateur skills from professional ones:
1. Be specific in context
Bad: "You are a developer." Good: "You are a senior Node.js developer with experience in REST APIs, familiar with Express, Prisma, and PostgreSQL. You prioritize security over convenience."
2. Set the output format explicitly
Don't let Claude decide how to format. If you want a table, specify the columns. If you want bullets, specify the pattern. Format consistency is essential for skills you will use repeatedly.
3. Include restrictions (what NOT to do)
Unconstrained skills tend to produce verbose and noisy output. Add negative rules: "Do not explain basic concepts", "Do not suggest cosmetic changes", "Limit to 10 items in the output".
4. Use input/output examples
If possible, include an example of what the output should look like in the skill. This reduces ambiguity drastically:
5. Iterate and refine
Your first version will not be perfect. Use the skill 5-10 times, observe where the output differs from what was expected and adjust the instructions. The best skills go through several iterations.
6. Document optional tometers
Skills can accept arguments. Document this at the beginning of the file:
Pro tip:Start with simple skills (5-10 lines of instruction) and add complexity as needed. A simple skill that works is infinitely better than a complex skill that no one uses.
Next step: install skills and see the difference
You already know the basics. Now imagine Claude Code knowing how to do all this himself — SEO, copywriting, code review, deployment, data analysis. That's what skills do. Lifetime access, updates included.
Ver o Mega Bundle — $9FAQ
As skills do Claude Code ficam na pasta.claude/commands/within the project directory (for project skills) or in~/.claude/commands/(for global skills, available in any project). Each skill is a Markdown file (.md) which contains the instructions that Claude Code must follow when the skill is invoked.
No. Skills are written in Markdown with natural language instructions. You describe what Claude Code should do, what output format to use, what restrictions to follow. And how to write a detailed briefing for an assistant. If you know how to explain a task in writing, you know how to create a skill.
Creating skills from scratch requires time to research good practices, test, refine and iterate. A ready-made package like the one inminhakills.iooffers 748+ professional skills or 748+ skills in 7 categories already tested and optimized by professionals. You can use the package as a base and costmize the skills for your specific context. It's the difference between building a PC from scratch and buying a pre-assembled one that you can upgrade.