What Are Claude Code Skills — And Why I Use Them to Run My Entire AI Workflow
A hands-on explainer of Claude Code skills: what they are, how they work, and how I use them in real projects like article-humanizer, geo-faq-architect, and llm-citation-tracker.
What Are Claude Code Skills — And Why I Use Them to Run My Entire AI Workflow
Most people discover Claude Code and think it's a smarter autocomplete. They use it to write a function or fix a bug, feel good about the time they saved, and move on. I get it — I did the same thing for the first few weeks.
Then I found skills.
Not "skills" as in "I got better at prompting." Skills as in a formal, structured capability layer you define once and invoke hundreds of times. Since I started building skills into my workflow, I've shipped an automated content engine, a weekly LLM citation audit, and a real-time FAQ generator — all running without me touching a keyboard.
Here's exactly what Claude Code skills are, how they work, and what I've built with them.
The Short Version
A Claude Code skill is a structured markdown file — a SKILL.md — that defines a repeatable expert method. It lives inside your project. Claude reads it the same way it reads your codebase. When you invoke a skill by name, Claude executes the method it describes, step by step, as if a senior practitioner were sitting next to you.
The difference from a regular prompt: a skill is persistent, composable, and version-controlled. It's not "ask Claude to do X." It's "Claude knows how to do X and applies it every time, exactly the same way."
Why This Architecture Exists
Here's something most Claude Code tutorials skip: Claude has no persistent memory between sessions by default. Every time you open a new chat, you start from scratch. You have to re-explain your brand voice, re-describe your tech stack, re-establish what "done" looks like.
Skills are one of several answers to that problem. They encode tacit knowledge — the stuff that lives in an expert's head — as structured text that Claude can reference on demand.
I was wrong about this for a week. My first instinct was to cram everything into a single enormous system prompt. That became unmaintainable fast. Skills let me modularize. Each skill owns one domain. When something breaks or evolves, I edit one file.
Anatomy of a Skill File
Here's the structure I've converged on after building around 12 skills:
```
T-tools/01-skills/article-humanizer/SKILL.md
```
Inside, a typical skill file has:
1. Header — skill name, owner agent (who should invoke it), version, last updated
2. Purpose — one sentence: what this skill does and why it exists
3. Trigger — the exact input signal that should activate this skill
4. Steps — numbered, sequential, with decision branches where needed
5. Quality gates — measurable criteria that define "done" (e.g., "AI-detection score ≤15%")
6. Examples — 1–2 worked examples showing input → output
7. Anti-patterns — common failure modes to avoid
That last section might sound unnecessary, but it's the most valuable thing I added. Telling Claude what not to do cuts iteration cycles in half. The skill becomes opinionated in the same way a senior engineer's pull-request checklist is opinionated.
The Three Skills I Actually Use Daily
1. article-humanizer
This is the skill I'm most proud of. The problem it solves: AI-generated text is recognizable. It patterns into a predictable rhythm — similar sentence lengths, transitions like "It's worth noting," a compulsive need to summarize before concluding. Every paragraph sounds like the last.
The article-humanizer skill runs a 5-step pipeline designed to collapse that AI-detection signature down to ≤15% while keeping the content accurate and on-brand:
- Step 1 — Voice mapping. Before writing anything, the skill reads the
C-core/voice-dna.mdfile to absorb Harel's sentence patterns, prohibited phrases, and stylistic preferences. - Step 2 — Structural disruption. It deliberately varies paragraph length, injects single-sentence paragraphs, and breaks topic transitions with whitespace rather than transitional phrases.
- Step 3 — Specific anchoring. Generic claims get replaced with numbers, named projects, dates, and real outcomes. "I built an AI tool" becomes "I shipped LLM Cost Lens in 6 days — it compares token pricing across 11 providers."
- Step 4 — Hedge injection. One or two genuine hedges — moments where I admit I was wrong or uncertain — because confident human writing admits doubt. AI-generated text almost never does.
- Step 5 — Gatekeeper review. The output passes through a final voice filter before it's committed. The gatekeeper can reject, request edits, or approve.
I run this skill every weekday at 06:30 IL. The article you're reading right now passed through it.
2. geo-faq-architect
GEO stands for Generative Engine Optimization — getting ChatGPT, Claude, Perplexity, and Gemini to cite your site when someone asks a question in your domain. It's the discipline that sits alongside traditional SEO, and most people haven't caught up to it yet.
The geo-faq-architect skill does two things simultaneously:
First, it mines the actual question patterns that LLMs answer. Not what Google's autocomplete suggests — what question structures lead to cited answers in Perplexity and ChatGPT. The distinction matters. "Claude Code skills tutorial" and "what are Claude Code skills used for" produce very different citation patterns.
Second, it writes FAQ blocks structured for dual consumption: readable by humans, parseable by LLMs. Each FAQ entry is capped at 60 words (dense enough for LLM chunking, skimmable for humans), uses direct Q&A structure (no preamble), and gets wrapped in FAQPage JSON-LD schema.
The skill generates 8–12 entries per article. On harelasaf.com's /faq page, these aggregate across all articles into a master FAQ hub — the single highest-leverage page on the site for LLM citation surface area.
Since I started deploying this skill in November, I've had 3 direct messages from people who found me through AI assistants rather than Google. That's new. Six months ago it was zero.
3. llm-citation-tracker
This one runs weekly. The premise: if you're not measuring whether LLMs cite you, you're operating blind.
The llm-citation-tracker skill queries four models — ChatGPT, Claude, Perplexity, Gemini — with a standardized set of prompts across my target keywords ("AI builder Israel," "Claude agent developer," "how to build a WhatsApp bot with Claude"). It logs which sources each model cites, tracks changes week-over-week, and outputs a delta report.
The insight from the first 8 weeks: citation patterns are surprisingly stable per model. Perplexity recrawls often and updates quickly. ChatGPT's browsing is more conservative — content from authoritative domains with schema markup tends to persist. Claude is the most interesting case: it's more likely to cite content that uses structured Q&A, which directly validates the geo-faq-architect investment.
One result that changed my strategy: the tracker showed harelasaf.com was getting zero citations for "AI automation Tel Aviv" even though the site ranked on Google page one. The content existed but wasn't structured for LLM consumption. I rewrote three pages using the geo-faq-architect pattern. Two weeks later, Perplexity started surfacing the site for that query.
How Skills Connect to Real Projects
The skills don't exist in isolation. They integrate with the projects I've shipped:
ctxauditor — my Claude context window auditor — has a companion skill that defines how to analyze context usage patterns and produce structured recommendations. When I was building it, I used the skill to maintain consistency across 14 different evaluation scenarios.
LLM Cost Lens — the token pricing comparison tool — uses a research skill that defines how to pull pricing data from 11 providers and normalize it into a comparable format. The skill encodes the business logic so I'm not re-explaining it every session.
AI Mafia (the WhatsApp group AI assistant) — the conversation analysis lives in a skill that defines how to extract signal from group chat data without surfacing personally identifiable detail. This one was genuinely tricky to get right. Version 3 of the skill is what finally made it reliable.
Building Your First Skill
If you want to build one, start here:
Pick one thing you re-explain to Claude constantly. That's your first skill candidate. Not a huge workflow — one repeatable task.
Write the steps as if you're writing a checklist for a new hire. Be specific about quality gates. "Good writing" isn't a quality gate. "No sentence longer than 35 words in the opening paragraph" is.
Add the anti-patterns section last. You won't know what to put there until you've run the skill 5–6 times. Do a few drafts, notice where Claude consistently drifts, then encode those corrections as anti-patterns.
Version it. Put version: 1.0 at the top. When you change it, increment the version. When something breaks, you can diff versions and understand why.
What Skills Are Not
Scratch that — let me be direct about a common misunderstanding before you go build 15 of these.
Skills are not magic. They don't give Claude new capabilities. They give Claude a structured method for applying capabilities it already has, consistently, in your specific context.
The trap I see: people write vague skills. "Write blog posts in my brand voice" is not a skill. It's a wish. A skill specifies: word count range, prohibited phrases (with examples of each), sentence length variance targets, the exact sequence of steps, and what "done" looks like.
The more specific and constraining the skill, the more useful it is. Counterintuitively, constraints don't limit Claude's output — they channel it into the exact shape you actually want.
The Bigger Picture
I've been building AI systems for a while. The pattern I keep coming back to: the bottleneck is almost never the model. The bottleneck is the method. Claude 3.5 Sonnet is an extraordinary capability, but capabilities don't ship products. Methods do.
Skills are a way to codify method. To make your best thinking repeatable. To turn one great decision into a hundred consistent outputs.
My content engine runs 7 days a week. Three articles per week. A weekly citation audit. Monthly FAQ audits across the entire site. I'm not doing most of that manually. The skills are.
If you're using Claude Code without skills, you're doing it right — but you're leaving the best part on the table.
FAQ
What are Claude Code skills?
Claude Code skills are structured markdown files (SKILL.md) that define repeatable expert methods. They live inside your project repo, get read by Claude at runtime, and encode step-by-step processes, quality gates, and anti-patterns. Think of them as a senior practitioner's checklist that Claude executes consistently across every session.
How are Claude Code skills different from regular prompts?
A prompt is a one-time instruction. A skill is persistent, version-controlled, and composable. It lives in your codebase, gets updated like code, and applies the same method across every session — no re-explaining required. The output stays consistent even when the model changes.
Can Claude Code skills work across multiple agents?
Yes. Skills can specify which agent should invoke them, making them shareable across a multi-agent system. In my setup, Aria (web/SEO agent), Martin (infra), and Jams (social) each invoke shared skills from a common T-tools/ directory without duplicating logic.
What's a good first Claude Code skill to build?
Start with whatever you re-explain most often. If you find yourself copy-pasting the same context block into every Claude session, that's your first skill. Write the steps, add quality gates, and include 2–3 anti-patterns you've already observed in practice.
How do Claude Code skills help with SEO and GEO?
Skills like geo-faq-architect generate FAQ blocks structured for both human readability and LLM citation. They apply consistent FAQPage schema markup, target question patterns that AI assistants actually respond to, and maintain internal linking rules — all without per-article manual effort.
How long does it take to write a useful Claude Code skill?
A first draft takes 20–30 minutes. The skill becomes genuinely useful after 5–6 runs, once you've added anti-patterns based on observed drift. Plan for iteration. Version 1 is a hypothesis. Version 3 is usually when it gets reliable.
Do Claude Code skills work with Claude 3.5 Sonnet and Claude 3 Opus?
Yes — skills are model-agnostic. They're plain markdown. Any Claude model that can read your context can follow a skill. More capable models (Sonnet, Opus) follow multi-step skill logic more faithfully, but the format works across the full model range.
Where should I store Claude Code skills in my project?
I use T-tools/01-skills/{skill-name}/SKILL.md. The naming convention matters: it keeps skills discoverable, separates them from source code, and makes it easy to reference them in agent definitions using a consistent path pattern.
Build log
Get an email when I ship a new prototype or essay. No funnel — just the work.