When to Use Claude Code Skills vs Workflows vs Agents


When Anthropic released Skills in October 2025, I faced a confusing problem: Skills, Workflows (formerly Commands), and Agents are all essentially markdown files containing prompts. Structurally identical. So which do you use, and when?

The Quick Answer

PrimitivePurposeWhen to UseLocation
SkillDomain containerGrouping related capabilities~/.claude/skills/{Domain}/
WorkflowTask procedureExecuting specific operations~/.claude/skills/{Domain}/Workflows/
AgentParallel workerConcurrent multi-task execution~/.claude/agents/

The Hierarchy

Skills = Domain containers (Blogging, Research, Art, Security) Workflows = Task procedures (Create, Publish, Deploy – nested inside skills) Agents = Parallel workers (Engineer, Architect, Researcher – execute skills concurrently)

Skill Structure

Internal skill structure diagram showing SKILL.md, context files in root, Workflows and Tools subdirectories

Every skill follows this flat structure:

Key rules:

  • TitleCase naming everywhere (Blogging, not blogging)
  • Context files in root (no context/ subdirectory)
  • Workflows/ contains only execution procedures
  • Tools/ contains CLI automation scripts
  • Maximum 2 levels deep (flat hierarchy)

Skill Anatomy: SKILL.md

The main skill file has two parts:

1. YAML Frontmatter (what triggers activation):

2. Markdown Body (routing and documentation):

Claude matches your intent to the description, loads the skill, and routes to the appropriate workflow.

The Three Tiers Explained

Tier 1: Skills (Domain Containers)

When to use: Organizing a domain of related capabilities.

Skills are self-contained modules. Everything for blogging lives in skills/Blogging/. Everything for research lives in skills/Research/.

When you say “write a blog post,” the Blogging skill activates, analyzes your intent, and routes to Workflows/Create.md.

Tier 2: Workflows (Task Procedures)

When to use: Executing a specific task within a domain.

Workflows are step-by-step procedures that live inside their parent skill. They’re the “how to do X” files.

Examples:

  • Blogging/Workflows/Create.md — How to write a new post
  • Research/Workflows/ExtensiveResearch.md — How to conduct deep research
  • Art/Workflows/Essay.md — How to create blog header images

Tier 3: Agents (Parallel Workers)

When to use: Concurrent execution of multiple tasks.

Agents are standalone files in ~/.claude/agents/ that execute work in parallel. They invoke skills and workflows as workers.

Example flow:

  1. You request complex research
  2. The Research skill spawns 3 parallel agents
  3. Each agent executes research workflows on different sources
  4. Results merge back together

Example: My Current Structure

Key Benefits

Encapsulation: All blogging capabilities live in one place.

Discoverability: ls skills/Blogging/Workflows/ shows all blogging tasks.

Portability: Skills are self-contained and shareable.

Intent routing: Natural language triggers the right skill automatically.

Modularity: Small, focused files instead of monolithic prompts.

Decision Flowchart

When adding new capability, ask:

  1. Does this belong to an existing domain? → Add to that skill
  2. Is this a new domain? → Create new skill
  3. Is this a specific task? → Create workflow inside skill
  4. Does this need CLI automation? → Create tool inside skill
  5. Does this need parallel execution? → Create agent

The system is working well—I currently have 77 skills, hundreds of workflows, and 20+ agents, all following this structure.



Source link