Agents vs Skills

Core Difference

AgentSkill (Plugin)
RoleDecides what to do and whenDoes what it’s told
ReasoningYes — plans, reacts, adaptsNo — deterministic execution
Initiates actionsYesNo
Calls other thingsYes (calls skills/tools)Usually no
State/memoryMaintains context across stepsStateless by default
ComplexityHigh — open-ended goalsLow — fixed inputs/outputs

Mental Models

The Contractor & Power Tools

An agent is a contractor who decides how to complete a job — which steps to take, in what order, and how to react when things go wrong. Skills are the power tools the contractor picks up and uses. The tools don’t decide anything; the contractor does.

The Manager & Employees

An agent is a manager who receives a vague goal (“increase sales”) and figures out the plan. Skills are specialist employees who each do one thing well when asked — the accountant runs the numbers, the designer makes the mockup. The manager coordinates; the employees execute.

The Function Test

If you can write it as a deterministic function, write it as a skill. Only reach for an agent when the decision-making itself is the hard part.

When to Create a Skill

  • The task has a predictable input/output — same input always produces same output
  • No reasoning required — just execution (fetch a URL, query a DB, send an email, parse a file)
  • It’s a reusable capability that multiple agents might need
  • You can unit test it in isolation without an LLM
  • The task is a leaf node — it doesn’t need to call other skills to complete

Examples:

  • GetWeather(city) → returns current weather
  • SearchDatabase(query) → returns matching records
  • SendEmail(to, subject, body) → sends an email
  • ParseInvoice(file) → extracts line items from a PDF

When to Create an Agent

  • The task requires deciding which steps to take and in what order
  • The goal is open-ended — the path to completion isn’t known upfront
  • It needs to react to intermediate results before deciding the next action
  • Requires multi-turn reasoning, memory, or conversation state
  • The task involves error recovery — retry, reroute, or ask for clarification when something fails
  • Multiple skills need to be coordinated to achieve the goal

Examples:

  • ResearchAssistant — decides whether to search the web, summarise findings, ask a clarifying question, or cite sources based on what it finds
  • DatabaseAssistant — determines which tables to query, validates the generated SQL, retries on failure
  • InvoiceProcessor — parses the invoice, looks up the vendor, checks for duplicates, flags anomalies, routes for approval

Decision Framework

Can you write it as a function?
├── Yes → Is it reusable across multiple agents?
│          ├── Yes → Skill
│          └── No  → Inline logic (don't abstract yet)
└── No  → Does it need to coordinate multiple steps?
           ├── Yes → Agent (possibly with sub-skills)
           └── No  → Revisit — you may be over-engineering

Scenario Guide

ScenarioUse
Fetch data from an APISkill
Generate a SQL query from natural languageSkill (wraps LLM with fixed I/O)
Answer a question that may require multiple lookupsAgent
Send a notificationSkill
Triage an inbox and decide what to do with each emailAgent
Convert a file formatSkill
Autonomously complete a multi-step research taskAgent
Validate a form fieldSkill
Manage a workflow with branching logic and retriesAgent (or Workflow)

Common Mistakes

  • Making agents too granular — if your “agent” only ever calls one skill, it should just be a skill
  • Making skills too smart — if your skill is making decisions about what to do next, it’s becoming an agent
  • Skipping skills entirely — agents that inline all their logic are hard to test and reuse
  • Agent for everything — most tasks are deterministic; adding an LLM where a function suffices adds latency, cost, and unpredictability

In Specific Frameworks

FrameworkTerm for SkillTerm for Agent
Microsoft Agent FrameworkTool / MCP ServerAgent
Semantic KernelPlugin (formerly Skill)Agent
LangChainToolAgent / Chain
Claude CodeSkill (slash command)Claude (the model + harness)
AutoGenTool / FunctionConversableAgent

See Also:: Microsoft Agent Framework
See Also:: Agentic Frameworks
See Also:: Semantic Kernel


📇 Additional Metadata

  • 🗂 Type:: note
  • 🏷️ Tags:: ai
  • 📡 Status:: #status/🌱