Skip to content
Back to the blog
3 min

Agent Skills and MCP: instructions are not permissions

Use Skills to package a repeatable method and MCP to connect the required tools. Keep execution, access, and verification explicit.

Agent SkillsMCPAgent Engineering

Revised September 4, 2026.

Connecting an agent to a system does not teach it how your team works. Giving it a procedure does not authorize it to access that system. Skills and MCP address different parts of that problem.

A useful operational agent needs both a method and controlled access — plus a way to demonstrate that the work was done correctly.

What a Skill supplies

The Agent Skills format packages instructions in a folder containing a SKILL.md file. The folder can also contain scripts, references, and assets. Compatible agents discover the available skills and load detailed instructions when relevant. This packages procedural knowledge; it does not retrain the underlying model. See the Agent Skills overview.

MCP supplies a connection to external capabilities. A skill can explain how to use those capabilities for a particular task, but it cannot grant access that the host or connected service has not authorized. For the integration side, read our MCP guide.

Example: preparing a weekly operations report

Imagine a report that currently requires opening several dashboards and assembling a spreadsheet. A skill could define:

  • Which reporting period and timezone to use.
  • Which records belong in each metric.
  • How to handle missing data and late corrections.
  • Which comparisons need an explanation.
  • What the reviewer must confirm before publication.

The connected tools retrieve the permitted records. A calculation script can aggregate them. The agent can draft commentary that points to the underlying evidence.

The skill should distinguish a missing value from zero, and a provisional result from a confirmed one. Those are operational rules, not stylistic preferences for the prompt.

Publication is a separate step. Permission to prepare the report should not silently include permission to email it to every customer.

Make the package maintainable

A useful skill explains when to use it, what input is required, how to perform the task, and when to stop. Put detailed reference material in separate files with clear routes from the main instructions. Include compatibility requirements when a particular runtime, command, or service is necessary. The format specification includes a compatibility field, but runtime support still needs verification. Read the specification.

For the report example, keep the metric definitions versioned alongside the calculation code. Record the source period and the version used in each output. If a definition changes, a reviewer should be able to understand why two reports differ.

Use a small test fixture with known totals, a missing record, and a late correction. Check the generated numbers independently. A polished narrative is not evidence that the aggregation is correct.

Treat installed skills as dependencies

A skill can contain executable code and instructions that influence tool use. Review its source, referenced resources, and required permissions before using it with sensitive information.

Pin a reviewed revision when repeatability matters. Test an update on representative inputs before promoting it. Do not let a successful run automatically overwrite the operating procedure: proposed improvements should be reviewed and checked like other changes to the system.

A skill that works in one environment may depend on commands or integrations another agent does not have. Portability of the format is helpful; identical behavior across hosts is not guaranteed.

Anthropic maintains a public skills repository with examples to inspect. An example is a starting point, not a certification for your production environment.

What belongs in the skill — and what does not

Put task knowledge in the skill: definitions, steps, examples, and acceptance criteria. Put credentials, authorization checks, spending limits, and enforcement in the runtime and services.

When the task fails, preserve a useful handoff: completed steps, evidence, remaining uncertainty, and what a person needs to decide. Repeatedly retrying an unavailable integration is not learning.

The goal is a procedure that can be understood, reviewed, and reused. The advantage comes from capturing how your operation actually works, not from collecting the largest number of skills.

Agent Skills and MCP: instructions are not permissions | FMKTech Blog