The gist
There are two kinds of valuable skills: ones that teach the model something new (for example, design rules it was never trained on), and ones that encode your personal way of working (which the model can't know by definition). The first kind can go stale, because models keep getting updated. The second kind never does: it's your unique expertise, and it doesn't exist anywhere else.
Key concepts
- Capability Uplift Skills: extend what the model can do, but risk going stale
- Encoded Preference Skills: encode a personal or business process, long-term value
- Where skills live: global vs project level
- Skill size: under 500 lines, big data goes into reference files
- Subagents (a subagent is a child agent) inside skills for heavy work
Theory
Type 1: Capability Uplift Skills
What it is: skills that give the model knowledge or abilities it doesn't have by default.
Examples:
- "Front-end design guidelines for high-converting landing pages"
- "Data visualization best practices based on Tufte's book"
- "Rules for drafting legal documents in Ecuador"
- "Security standards for fintech products (PCI DSS)"
Why they work: Claude knows general design principles but not the specifics of your niche or a particular methodology. The skill fills that gap.
Risk of going stale:
Claude keeps getting updated. Each new generation of models is trained on more data and knows more: as of October 2026 the current ones are Opus 5.5 and Sonnet 5.5, and the up-to-date list lives on the What's current page. A "front-end design guidelines" skill written today may be unnecessary a year from now, because the model will have learned it on its own.
How to check whether it's still relevant:
Every 3-6 months, test it: ask the model to do the task WITHOUT the skill. If the result is just as good, the skill is outdated and you can delete it.
When to build a Capability Uplift skill:
- Rules specific to your niche (real estate, medicine, law)
- Local standards (a specific country's laws, a local market)
- Proprietary methodologies (your internal scoring system)
- Current information (competitors, prices: things that change)
Type 2: Encoded Preference Skills
What it is: skills that encode your personal style, preferences and business processes.
Examples:
- "My way of making infographics: data into a table first, then 3 visualization options, then pick one"
- "Our new client onboarding process: steps 1-7 with specific questions"
- "How I write emails to cold leads: structure, tone, length, call to action"
- "The brand voice of a real estate agency: a restrained expert observer, no hype"
Why they don't go stale:
The model will never learn exactly how you want to work, because those are your preferences. Even the smartest model can't guess:
- Which report format you like
- Which questions you ask clients at the first meeting
- What tone your brand has
- How you prioritize your product backlog
This is your unique encoded expertise. A competitor can't copy it. The model can't invent it. Only you know it.
The most valuable in the long run: Encoded Preference Skills are what build a moat around your business. The more of these skills you have, the harder it is for competitors to reproduce your processes.
Where to store skills: global vs project
Global folder (~/.claude/skills/):
Available from ANY project
├── code-review-standards/SKILL.md ← the same for every project
├── email-writing-style/SKILL.md ← my style is the same everywhere
└── data-analysis-approach/SKILL.md ← my approach to analysisEach skill is a folder, and the main file inside is called SKILL.md.
Use it for: universal skills, personal preferences, standards that apply everywhere.
Project folder (.claude/skills/):
Available ONLY in this project
├── acme-realty-brand-voice/SKILL.md ← specific to this brand
├── ecuador-real-estate-rules/SKILL.md ← specific to this market
└── client-report-format/SKILL.md ← the format for this clientUse it for: brand-specific skills, client processes, market specifics.
Rule of thumb: ask yourself "does this skill belong only in this project, or everywhere?" → project or global.
Skill size: the 500-line rule
The problem with big skills:
The bigger the skill, the more tokens (a token is a unit of text for AI) it takes to load. A 2,000-line skill means every request that uses it = 2,000 lines of context (context is the text the AI can see). That's expensive and slow.
The rule: keep a skill under 500 lines (roughly 5-10 KB). This is a recommendation from the Claude Code documentation.
What to move into reference files:
# Don't cram into SKILL.md:
# - The full list of 500 competitors
# - All pricing data (it changes)
# - Big templates (HTML/CSS)
# - Libraries of content examples
# Instead, separate files in the skill folder that SKILL.md points to:
my-skill/
SKILL.md
data/competitors-database.json # big JSON
templates/report-layout.html # HTML template
brand/content-examples/ # folder with examplesIn the text of SKILL.md you say when to open which file. The skill reads a file only when it's needed: if the task doesn't call for competitive analysis, competitors-database.json doesn't get loaded.
Inline context vs reference files
Inline (right in the body of the skill):
- Critical rules that always apply
- The structure of the process
- Parameters and settings
Reference files:
- Bulky data (lists, tables)
- Templates (HTML, Excel)
- Data that changes (prices, competitors, trends)
- Content examples (30+ examples)
Example:
# In the body of the skill (inline):
## Analysis steps
1. Extract the key metrics
2. Compare against benchmarks (see references/benchmarks.json)
3. Identify anomalies (more than 20% off the average)
4. Write an executive summary (150 words max)
# In references/benchmarks.json (not in the body; numbers are illustrative):
{
"email_open_rate": {"good": 25, "average": 20, "poor": 15},
"conversion_rate": {"good": 3.5, "average": 2.0, "poor": 1.0},
...200 lines of data...
}Subagents inside skills
Some tasks inside a skill are too heavy for one agent (an agent is an autonomous task executor):
## Step 3: Competitive analysis
Delegate to the `competitor-researcher` subagent with these parameters:
- The list of competitors from references/competitors.json
- Task: collect data for the last 30 days
- Return: JSON with metrics for each competitor
The main agent waits for the result → continues with step 4.Worth knowing (as of October 2026): subagents in Claude Code run in the background by default. If step 4 depends on the result, say explicitly in the instructions that it has to wait. And you can run an entire skill in a separate context with the context: fork field in the frontmatter.
Why: competitive analysis is a long task (lots of requests, lots of data). By delegating it to a subagent, you:
- Keep the main agent's context clean
- Can run several subagents in parallel
- Let the subagent use a cheaper model (Haiku for data collection)
How to audit your skill library once a quarter
Every 3-6 months:
- Check Capability Uplift skills: test the model without the skill. If it does well, delete the skill.
- Update data in reference files: have competitor prices changed? Update them.
- Look at usage: which skills haven't been used in 60+ days? Are they worth keeping?
- Find duplicates: two skills doing similar things? Merge them.
Your skill library should stay lean: not a collection for its own sake, but a working tool.
Practice
Assignment: Sort 5 potential skills into the two types
- Take 5 tasks you do regularly:
- For example: writing emails to clients, doing data analysis, creating social media posts, preparing presentations, doing code review
- For each task, decide: is it Capability Uplift or Encoded Preference?
- Ask yourself: "Can the model do this without my personal experience?"
- If YES → Capability Uplift
- If NO (it needs my personal style/process) → Encoded Preference
- For each skill, decide: global or project?
- Estimate the size: what goes inline, what goes into reference files?
- Bonus: create one Encoded Preference skill right now. Pick the most personal task of the five.
Tools and resources
~/.claude/skills/<name>/SKILL.md: global skills (create the folder if it doesn't exist yet).claude/skills/<name>/SKILL.md: project skills- Claude Code Skills documentation: the official guide to skills
/skill-doctor: checks the health of your skills in Claude Code (the command appeared in 2026; for the list of commands see the documentation)/skills: the command for viewing installed skills
Key takeaways
Encoded Preference Skills = your competitive moat. Encode your processes: a competitor can't copy them, and the model can't guess them.
Capability Uplift Skills age as models get updated. Check them every 3-6 months, and don't carry dead weight.
A skill over 500 lines is a warning sign. Big data goes into reference files, logic goes into the body.
Related lessons
- ← What Skills are: the basic concepts, a 6-step framework for creating them
- ← Building a skill from scratch, LIVE: hands-on creation with Skill Creator
- → Evals: self-improving skills: testing skills, the self-improvement loop
- → Subagents: specialized workers that skills can call
Next lesson
→ Evals: self-improving skills: how to test and improve skills based on data
The mark stays in this browser only and is never sent anywhere. My progress