# What Is a Claude Skill? Let's Look Closely at One.
*Published: 2026-05-08*
*Tags: ai*
*Source: https://chrislema.com/what-is-a-claude-skill*
---You likely know this already. AI engines were all trained on massive amounts of content. Files, books, code, and so much more. When AI is at work, it's using your request and context to predict what it should give you back.

But that's like adding a "give me an average answer" to every question you ask. Not very exciting, and most of the reason people say AI gives them slop.

It doesn't have to work that way. You can get stellar results if you teach AI to work the way you want, and help it focus where you want. Now, instead of saying "give me an average response," you're appending "do it the way I like" to everything. So much better.

That's why I love Claude Skills. They let me teach AI to work exactly how I want. Let me show you one I built.

## How a Claude Skill actually works

A Claude Skill is a folder. Sometimes one file, often three or four.

Inside that folder is a `SKILL.md` file with two things at the top: a name and a description. Below that, instructions. What Claude should do when this skill gets triggered, in what order, with what guardrails.

That's it. That's the whole concept.

Here's what I know. Without skills, every conversation with Claude starts from zero. You explain what you want, Claude does it, and the next time you need the same thing you explain it again. You're carrying the expertise. You're the one remembering what good looks like.

With a skill, Claude carries it. The description tells Claude when to load the skill ("when the user wants to research a person, prepare for a meeting..."). The body tells Claude what to do once it's loaded. You ask for the outcome. Something like "research Maria Chen for my podcast next week." The right process fires automatically.

If you've used Claude Code, you've probably seen people call these "Claude Code skills." Same thing. Skills work in Claude.ai, Claude Desktop, the API, and Claude Code. They're a Claude feature, not a Claude Code feature. Don't get me wrong, the Claude Code crowd uses them well. They just got loud about them first.

## The skill I'm going to walk you through

I built one called **Expert Profiler**.

The job: given a person's name and maybe their company, produce a deep profile of who they are, what they believe, how they communicate, and what stories they keep telling. The output is a markdown file. Ten sections. Ready for a sales call, a podcast prep session, a pitch, or content where I want to quote someone accurately.

Total cost to run it: about 22 cents per profile.

Total time I spent building it: a Saturday afternoon.

Total time it saves me per profile: maybe two hours. Sometimes more.

Let me show you how it's built, because the structure is the lesson.

## The structure: three files, three jobs

The skill folder has this shape:

`expert-profiler/`

`├── SKILL.md`

`└── references/`

`    ├── profile-template.md`

`    └── apify-actors.md`

Three files. Each one doing a different job. This split is deliberate.

**SKILL.md is the workflow.** About 165 lines. It defines four steps: identity discovery, content collection, profile synthesis, deliver. It tells Claude what to ask the user, when to wait for confirmation, and which tools to call at each stage. This is the file Claude reads first, every time the skill gets triggered.

**profile-template.md is the output structure.** About 280 lines. Ten sections (identity, public positions, blog analysis, communication style, current focus, engagement patterns, potential angles, conversation starters, raw intelligence, profile confidence). Tables and headers and field names that turn a pile of scraped content into a usable document. Claude only loads this file in step three, when it's actually synthesizing the profile.

**apify-actors.md is the technical reference.** About 260 lines. Input and output schemas for the four Apify actors the skill uses, plus alternatives if any of them break, plus an error-handling table, plus cost-per-profile math. Claude only loads this file in step two, when it's actually calling the scrapers.

That's the pattern. **Workflow on top, references underneath, loaded only when needed.**

Why split it? Because Claude has a finite context window, and stuffing all 700 lines into the main file means Claude is reading the profile template while it's trying to figure out which Apify actor to call. The split keeps the workflow file lean and lets the deep reference material stay deep.

My point is simple: **don't write monolithic skills.** Split the workflow from the reference material. The skill gets more reliable, the context window gets used better, and the parts become reusable in other skills.

## The approach: judgment, then collection, then synthesis

I showed you this already with [competitive intelligence](https://chrislema.com/competitive-intelligence-the-claude-way/). Same pattern. Different target.

Look at the actual workflow in the skill and you'll notice something. The first step isn't collection. The first step is **identity discovery.**

Claude searches the web for the person's name plus their company. It returns the candidate LinkedIn profile, Twitter handle, top three YouTube interviews, and any blog or publication URLs it finds. Then it stops and asks: *"Is this the right person? Confirm and I'll collect their content."*

That confirmation step is doing a lot of work. It's catching the wrong-Maria-Chen problem before Claude burns 22 cents scraping the wrong person. It's also putting human judgment in the loop at the one moment where human judgment is genuinely better than the model's. Disambiguation between similar names.

After confirmation, step two collects:

- 30 LinkedIn posts
- 30 tweets
- Top 3 YouTube interview transcripts
- Last 10 blog posts

Step three synthesizes all of it against the ten-section template. Step four delivers the markdown file.

The reason this works is that each step has one job. Discovery doesn't try to collect. Collection doesn't try to synthesize. Synthesis doesn't go back to the web for missing information. The seams between steps are where errors get caught and where the human stays in control.

## Integration: this skill needs Apify

What makes skills powerful is that they can connect to and use other tools and technologies. That makes them even stronger.

A skill is just instructions. If those instructions tell Claude to scrape LinkedIn, *something* has to actually do the scraping. For Expert Profiler, that something is Apify, a platform that runs web scrapers (they call them "actors") on demand. The skill tells Claude which Apify actors to call. Apify does the scraping. Claude does the synthesis.

The connection between Claude and Apify happens through MCP, short for Model Context Protocol. Think of MCP as the way Claude plugs into external tools. There's an Apify MCP server. You connect it once, and now Claude can call any Apify actor as if it were a built-in capability.

You'll need an Apify account (free to sign up) and an API key. We'll cover that in the install section.

## The same skill works as one of your Claude Code Skills

Here's where this gets interesting for anyone who's actually building with Claude Code.

The skill file is identical. The same `SKILL.md` works in Claude.ai and Claude Code. What changes is *what you do with the output.*

Let me show you what I mean.

Imagine you're building an interview agent for a podcast. For each episode, you want help thinking through questions, anticipating where a guest might dodge, and pulling threads you'd otherwise miss. That kind of agent lives in Claude Code, not Claude.ai, because it needs access to your notes folder, your prior episode transcripts, and your drafts.

When you're prepping a new episode, the flow could look like this:

1. In Claude Code, you type something like *"profile this guest using expert-profiler, then draft interview questions based on the profile and our episode theme."*
2. Claude triggers the Expert Profiler skill, runs the four-step workflow, produces the profile.
3. Claude then takes that profile as input to the next stage. Drafting questions that pull on threads the profile surfaced.

The profile isn't the deliverable. The profile is **input to the next thing.** That's the upgrade. In Claude.ai, the skill produces a document I read. In Claude Code, the skill produces a document the next agent reads.

This is why the same skill is more powerful inside Claude Code. The output gets composed into longer workflows automatically. You don't copy and paste between conversations. You don't lose context between steps. The skill becomes a building block.

## Installing the skill (and using Claude as your technical assistant)

Now the install. Two parts: connecting Apify, and installing the skill from GitHub.

I want to teach you something here that's bigger than either step. **You don't need to know how to set up an MCP server. You don't need to know how to install a skill from GitHub. You need to know how to ask Claude to walk you through it.**

That's the actual skill. Setup tasks that used to require a developer now require a paragraph of clear instructions and a willingness to go one step at a time. Let me show you the prompt pattern, then we'll use it twice.

### Part 1: Connecting Apify

Sign up at apify.com. Free tier is plenty for testing. Once you're in, open a Claude conversation (Desktop or Code, your choice) and paste this:

*"I want to connect the Apify MCP server to Claude so I can use it with the Expert Profiler skill. I've never set up an MCP before. Before you give me any instructions, ask me what version of Claude I'm using, what operating system I'm on, and where I'd prefer to store config files. Then walk me through the setup one step at a time. Confirm each step worked before moving to the next one."*

Claude will ask you the three questions, get its bearings, and then guide you through getting your API key from Apify, finding the right config file on your machine, adding the MCP server entry, and restarting Claude so the connection takes effect.

If something goes wrong, tell Claude what you see. If a path doesn't exist, tell Claude. If a step doesn't make sense, ask Claude to explain it differently. **You're not stuck. You're in a conversation with someone who's done this a thousand times.**

Call this the **walk-me-through-it prompt.** It's reusable. Hold onto it.

### Part 2: Installing Expert Profiler from GitHub

Now do it again.

The Expert Profiler skill lives in a GitHub repo (link at the bottom of this post). To install it, you need to clone or download the folder and put it in the right place on your machine. For most setups, that's `~/.claude/skills/expert-profiler/`.

You don't need to memorize that path. You need to use the prompt pattern again:

*"I want to install this Claude skill from GitHub: [paste repo URL]. I've never installed a skill before. Before you give me instructions, ask me what version of Claude I'm using and what operating system I'm on. Then walk me through it one step at a time, confirming each step worked before moving to the next."*

Same shape. Different task. **The walk-me-through-it prompt isn't a one-off. It's how you handle every technical setup task from here forward.**

My point is simple. The Apify setup is the practice. The GitHub install is the proof. The next time you hit a technical wall (a new MCP, a new tool, a config file you've never edited) you already know what to do.

### One small note

The skill saves profiles to `/mnt/user-data/outputs/`, which is the path Claude.ai uses. If you're running this in Claude Code, change line 137 of `SKILL.md` to a path that exists on your machine. `~/Documents/profiles/` works fine. Or just delete that line and let Claude ask you where to save it.

## Take it. Use it. Build on it.

Here's the repo: [github.com/chrislema/expert-profile-skill](https://github.com/chrislema/expert-profile-skill)

The whole thing is yours. Three files, MIT license, take it and modify it for your work. If you build something better, send me the link. I want to see it.

A few things you might do with the output once it works:

- **Pre-meeting research.** Run it the night before any sales call or prospect conversation. Read the profile, walk in knowing what they care about.
- **Podcast prep.** Run it on a guest, then ask Claude to draft 10 questions that pull on threads from the profile.
- **Cold outreach that doesn't suck.** Run it on someone you want to reach, then ask Claude to draft an opener that references something specific from their public writing.
- **Content research.** Run it on someone you're writing about, then quote them accurately and reference their actual frameworks instead of guessing.

The skill is the tool. The walk-me-through-it prompt is the meta-skill. The combination is what changes how you work.
