A practical guide to understanding how AI agents think, decide, and act — with real-world examples.
Introduction
As AI agents become more capable and widely deployed, two foundational concepts shape how they behave: Instructions and Skills. Understanding the difference — and how they work together - is the key to designing, building, and working with agents effectively.
Think of it this way:
Instructions are the agent's mindset — what it knows, how it should behave, what rules it must follow. Skills are the agent's toolkit — the specific capabilities it can invoke to get things done.
Neither is sufficient alone. An agent with great instructions but no skills can reason but not act. An agent with powerful skills but poor instructions will act unpredictably or dangerously.
What Are Instructions?
Instructions are explicit, natural language directives given to an agent that govern its behavior, persona, goals, and constraints. They tell the agent what to do, how to reason, and which rules to follow before any user message is received.
Instructions are typically written as a system prompt and remain active throughout the entire conversation.
Examples of Instructions
You are a customer support agent for Acme SaaS.
- Always respond in a polite, concise tone.
- Never discuss pricing directly — redirect to the sales team.
- If a user reports a bug, always collect their account ID before proceeding.
- Do not speculate about product roadmaps.
What Instructions Govern
| Area | Example |
|---|---|
| Persona | "You are a senior financial analyst named Aria." |
| Tone | "Always respond formally and concisely." |
| Constraints | "Never discuss competitor products." |
| Routing logic | "If the user asks about billing, redirect to the billing team." |
| Safety rules | "Never deploy to production without explicit user confirmation." |
| Goals | "Your primary goal is to resolve issues in under 3 turns." |
Pros of Instructions
- Easy to write; no coding required
- Highly flexible and fast to iterate on
- Encode nuanced behavior, judgment, and persona
- Can handle edge cases through reasoning
- Portable across different LLM backends
Cons of Instructions
- Can drift or be "forgotten" in very long conversations
- Ambiguous instructions lead to inconsistent behavior
- Hard to test systematically; no guaranteed output
- Too many instructions create conflicts or dilute effectiveness
- Cannot reliably enforce behavior the way code can
What Are Skills?
Skills are reusable, structured capabilities — tools, APIs, functions, or documented procedures that an agent can invoke to perform specific tasks reliably and repeatably. They encapsulate how to do something, so the agent doesn't have to figure it out from scratch every time.
Skills are invoked on demand, triggered by the agent's reasoning.
Examples of Skills
| Skill | What it does |
|---|---|
web_search(query) |
Searches the internet and returns results |
lookup_account(id) |
Queries a CRM or database for account details |
send_email(to, subject, body) |
Sends an email via Gmail or SMTP |
run_tests(branch) |
Executes a CI test suite on a given branch |
create_ticket(details) |
Opens a support ticket in Jira or Zendesk |
generate_report(content) |
Produces a formatted PDF or Word document |
Pros of Skills
- Reliable and deterministic: Same input, consistent process
- Encapsulate hard-won knowledge (e.g., which library to use, what pitfalls to avoid)
- Composable: Agents can chain skills to handle complex workflows
- Testable, versionable, and maintainable like code
- Reduce cognitive overhead; the agent doesn't need to reason about how to do it
Cons of Skills
- Requires upfront engineering effort to build
- Less flexible; can break on unexpected inputs
- The agent must know when to use them (routing is still instruction-driven)
- Skills can become outdated when underlying systems change
- Harder for non-technical users to create or modify
Instructions vs. Skills: Side by Side
| Dimension | Instructions | Skills |
|---|---|---|
| Nature | Declarative ("what/how to be") | Procedural ("how to do") |
| Format | Natural language | Code, APIs, tools, docs |
| Reliability | Probabilistic | Deterministic |
| Flexibility | High | Lower |
| Effort to create | Low | Higher |
| Active when | Always (every message) | On demand (when invoked) |
| Best for | Behavior, tone, judgment, constraints | Repeatable tasks, integrations, complex procedures |
Skills and MCP Tools: Are They the Same?
Almost. MCP (Model Context Protocol) is Anthropic's open standard for exposing tools to AI models. Every MCP tool is a skill, but not every skill is an MCP tool.
| Concept | Agent "Skill" | MCP Tool |
|---|---|---|
| What it is | Any reusable capability | A skill following the MCP standard |
| Format | API call, function, SKILL.md file, etc. | Defined with name, description, JSON schema |
| Execution | Varies | Runs on a dedicated MCP server |
| Interoperability | Custom per system | Plug-and-play across MCP-compatible agents |
A good analogy: "Skill" is like knowing how to cook. MCP is the standardized kitchen interface — every tool has a labeled button, a defined input, and a predictable output. The cooking ability is a skill; MCP is the protocol that makes it pluggable and interoperable.
All MCP tools are skills, but not all skills are MCP tools.
How Agents Leverage Both — The Core Pattern
Here is the fundamental loop every agent runs:
User message arrives
↓
Instructions activate (always running)
- Parse intent
- Apply persona and constraints
- Decide: is a skill needed? Which one?
↓
Skill invoked (on demand)
- Executes reliably
- Returns structured result
↓
Instructions shape the response
- Tone, format, safety checks
- Compose final reply to user
Instructions govern the when and why. Skills handle the how.
Real-World Examples
Example 1: Customer Support Agent
Scenario: A SaaS company deploys an AI support agent.
Instructions:
You are a support agent for Acme SaaS. Be polite and concise.
Never discuss pricing — redirect to sales.
If a user reports a bug, collect their account ID before proceeding.
Skills available: lookup_account(id), search_knowledge_base(query), create_ticket(details), escalate_to_human(reason)
User says: "My dashboard isn't loading."
What happens:
- Instructions recognize this as a bug report → they require an account ID first
- Agent asks: "Could you share your account ID so I can look into this?"
- User replies with
ACC-4821 - Agent invokes
lookup_account("ACC-4821")(skill) → returns account status and recent error logs - Agent invokes
search_knowledge_base("dashboard not loading")(skill) → finds a known fix - Instructions shape the reply: concise, empathetic, no pricing mention
- Issue unresolved → agent invokes
create_ticket(...)(skill)
Key insight: Instructions determined the sequence of events. Skills did the actual work.
Example 2: Research Assistant Agent
Scenario: An AI research assistant for a life sciences team.
Instructions:
You are a thorough research assistant. Always cite sources.
Prefer peer-reviewed papers over blogs or news.
Never state something as fact if you cannot verify it.
Summarize findings before giving details.
Skills available: web_search(query), fetch_url(url), generate_report(content), send_email(to, body)
User says: "What's the latest on GLP-1 drugs for obesity?"
What happens:
- Instructions trigger verification-first behavior — the agent won't answer from memory alone
- Agent invokes
web_search("GLP-1 obesity 2025 clinical trials")(skill) - Agent invokes
fetch_url(top_result_url)(skill, chained) → reads the full paper - Instructions govern the response structure: summary first, then details, cite sources, hedge uncertainty
- User says: "Can you send this to my team?"
- Agent invokes
send_email(team@company.com, summary)(skill)
Key insight: Skills were chained — the output of web_search fed into fetch_url, which fed into the response. The agent orchestrated this chain through instructions-driven judgment.
Example 3: DevOps Automation Agent
Scenario: An AI agent managing CI/CD pipelines for an engineering team.
Instructions:
You manage CI/CD pipelines for production systems.
Never deploy to production without explicit user confirmation.
Always run tests before any deployment.
Log every action taken to the team Slack channel.
Skills available: run_tests(branch), deploy(env, branch), rollback(env), notify_slack(message)
User says: "Deploy the latest build to prod."
What happens:
- Instructions intercept: production requires confirmation
- Agent asks: "Are you sure? This will affect live users. Type 'confirm' to proceed."
- User confirms → Instructions mandate tests first
- Agent invokes
run_tests("main")(skill) → tests pass ✅ - Agent invokes
deploy("production", "main")(skill) - Instructions mandate logging → agent invokes
notify_slack("Deployed v2.4.1 to prod")(skill)
What if tests had failed?
- Instructions would have blocked the deployment entirely — no deploy skill gets called
- The agent would report the failure and ask the user how to proceed
Key insight: Instructions acted as a safety layer that no skill could bypass. The skills were only executed when instructions permitted it.
The Layered Mental Model
The cleanest way to think about this relationship:
┌─────────────────────────────────────────────┐
│ INSTRUCTIONS │
│ (Always active — persona, rules, judgment) │
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Skill A │ │ Skill B │ │ Skill C │ │
│ │ Search │ │ Email │ │ Code │ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ (Invoked on demand) │
└─────────────────────────────────────────────┘
Instructions wrap everything. Skills live inside, ready to be called. The agent's reasoning — governed entirely by instructions — decides which skill to invoke, when, and with what inputs.
When to Update Instructions vs. Skills
| You want to change... | Update |
|---|---|
| The agent's tone or persona | Instructions |
| What topics the agent can discuss | Instructions |
| Safety rules and constraints | Instructions |
| Routing logic ("if X, do Y") | Instructions |
| How the agent searches the web | The search skill |
| The format of a generated report | The report skill |
| Which database the agent queries | The lookup skill |
| Speed or reliability of an action | The relevant skill |
A clean separation makes agents easier to maintain: instructions = policy, skills = implementation.
Summary
| Instructions | Skills | |
|---|---|---|
| Role | The agent's conscience and judgment | The agent's hands and tools |
| Always active? | Yes | No — invoked on demand |
| Written by | Product managers, designers, domain experts | Engineers and developers |
| Changed when | Behavior or policy needs to change | Capability or reliability needs to change |
| Analogy | The rules of the kitchen | The appliances in the kitchen |
The best AI agents separate these concerns cleanly. Instructions encode what kind of agent this is. Skills encode what it's capable of doing. Together, they create agents that are both trustworthy and capable — agents that don't just know the right thing to do, but can actually do it.

