Three Claude things, similar names, constant confusion: Claude Skills, Claude Code, and Projects. People search “Claude Skills vs Claude Code” expecting an either/or and find the comparison doesn’t fit, because these aren’t competing products. One is an app, one is a feature that works inside that app and others, and one is a way of organizing conversations.
This sorts them out. Short definitions, where they overlap, and a clear answer to the practical question underneath the confusion: which do I use for repeatable work versus actual coding. If you specifically want the Claude Code internals — skills versus MCP versus subagents — that’s a separate comparison; this one is about the bigger naming muddle.
Three different things
What each one actually is
| Thing | Category |
|---|---|
| Claude Code | Application |
| Claude Skills | Feature |
| Projects | Feature |
The reason “vs” feels off is that they’re different categories. Claude Code is a tool you run. Skills are a capability you add. Projects are an organizing structure. You don’t pick one of the three the way you’d pick a model — you might use all three for different reasons.
Claude Code: the coding agent
Claude Code is the terminal application. It reads your repository, edits files, runs commands, and works through multi-step engineering tasks in your actual development environment. When people talk about MCP servers, subagents, and hooks, they’re talking about Claude Code features. If your work involves a codebase, this is the tool. The power-user guide covers what it can do.
Claude Skills: a portable capability
A Skill is a modular capability packaged as a SKILL.md file — instructions plus optional resources that Claude loads when relevant. The important point for this comparison: skills are not part of Claude Code specifically. They’re a shared format that works across Claude tools, Claude Code included.
So “Claude Skills vs Claude Code” is a category error. A skill is something Claude Code (and other Claude surfaces) can use. You author a skill once, and it can apply wherever skills are supported. The mechanics in Claude Code are in skills explained, and building one is in how to write a skill.
Projects: shared context for related conversations
Projects are a feature of the Claude apps. A Project bundles a set of conversations with shared context — custom instructions and uploaded files — so every chat in it starts with the same background. The use case is a body of related work: research around a fixed set of documents, writing within a style guide, ongoing analysis where you want Claude to “remember” the same context across many conversations.
Projects are about organizing chats around persistent context, not about working in a codebase. There’s no terminal, no file editing on your machine, no running commands. That’s the clean line between Projects and Claude Code.
Where the overlap feels confusing
The fuzziness comes from the fact that all three involve “giving Claude context to do better work.” A Project gives Claude background documents. A skill gives Claude a procedure. Claude Code gives Claude your codebase. They’re all forms of context, which is why the names blur — but the kind of context and where it applies are different.
A way to keep them straight:
- Project = persistent context for a set of conversations (in the Claude app).
- Skill = a portable procedure Claude applies when relevant (across tools).
- Claude Code = a coding agent working in your terminal and repo.
Which to use
The practical question most people actually have:
Pick by what you're doing
| Working in a codebase | Claude Code — it edits files and runs commands |
|---|---|
| A repeatable procedure you keep explaining | A Skill — encode it once, reuse everywhere |
| Many related chats sharing the same documents | A Project — persistent context in the Claude app |
| Coding + a repeatable convention | Claude Code with a Skill |
If you’re editing code, you want Claude Code. If you keep pasting the same instructions, you want a Skill (which then works inside Claude Code). If you’re doing research or writing across many conversations that share a document set, you want a Project. And these combine — Claude Code using skills is the common power-user setup.
A note on availability
Because Anthropic’s tools span the terminal, desktop, web, and API, exactly where each feature is available can differ and changes over time. Skills are designed to be portable across surfaces, Projects live in the Claude apps, and Claude Code is the terminal agent. When you need certainty about where something works today, the Agent Skills overview and Claude Code overview are the authoritative sources.
Telling them apart
- Claude Code = terminal coding agent (an application)
- Skills = portable SKILL.md capabilities (a feature, works across tools)
- Projects = Claude-app workspaces with shared context (a feature)
- Editing code? → Claude Code
- Repeatable procedure? → a Skill
- Related chats around fixed documents? → a Project
Wrapping up
Claude Skills, Claude Code, and Projects aren’t three options for the same job. Claude Code is the coding agent, Skills are portable capabilities it (and other Claude tools) can use, and Projects organize conversations around shared context in the Claude apps. The “vs” framing misleads because they’re different categories that often work together — most obviously Claude Code applying a skill while you code.
For the skills feature inside Claude Code specifically, see skills explained, and for how it relates to MCP and subagents, skills vs MCP vs subagents.