A personal notebook

Instructions, Skills, Hooks, and MCP

Explanation of common terminology: instructions, skills, hooks, and MCP.

Published
  • ai
  • agent

I have been using Copilot for a couple of months now, and it has made a (mostly) positive difference in my productivity. So far I have mainly used regular prompting, but I keep repeating the same instructions way too often. With AI costs going up, I finally took the time to read up on the terminology as a first step toward a more efficient and structured workflow.

Let’s start with some terminology: instructions, skills, hooks, and MCP.

Instructions

This is the always-on guidance for the agent, such as .github/copilot-instructions.md for Copilot-specific guidance or AGENTS.md for tool-agnostic agents. You will also see this layer called rules in some tools and talks; I stick to instructions throughout, since that is what the files themselves are called. I have been using this in some projects, but without skills this file can either become too large (trying to capture everything up front), or too small and force the agent to fill in the blanks (which increases the risk of hallucination or undesired implementation).

GitHub Copilot custom instructions are typically included in the agent context for each request, so they may add to token usage on every turn. That is why they should only contain what should always be followed and be kept as compact as possible.

The rule of thumb is to keep global instructions short and move task-specific detail into skills.

More information in GitHub docs

Skills

Unlike instructions, skills are more focused guidance for a specific task. The Agent Skills docs call this progressive disclosure. Agents load only skill metadata at discovery time, then read the full SKILL.md instructions only when the task indicates the skill should be used. A skill can reference other documents or other skills and have allowed tools defined. See the Agent Skills specification.

There are already many skills available that you can use as-is or treat as a starting point: skills.sh library.

For me, skills are probably the biggest practical win short term. They keep reusable playbooks out of the global instructions file.

MCP

MCP (Model Context Protocol) is an open standard way to give the agent access to external sources or tools. In many systems, configured MCP tool definitions are loaded into the agent context, so a larger set of connected tools can increase the overall context footprint. The agent still decides which tool to call at execution time.

Many vendors already provide MCP servers (Angular, Umbraco, GitHub, Playwright, Astro, and others), but you can also build your own MCP server to expose custom tools.

My current take is that MCP is most useful when it gives the agent trusted access to systems I do not want to script manually each time.

Hooks

Hooks are something I have not used yet, but I probably should. A hook is a lot like a webhook. It is triggered by AI lifecycle events. It does not depend on agent choice, only on the event it is attached to, so from a workflow perspective it is much more deterministic.

Hooks normally do not affect the agent prompt context length. This is a great place for things like linting, formatting, scans, and similar checks. With instructions, skills, and MCP capabilities, the agent decides whether to use them. Anything that should not be left up to the agent should be done with hooks.

In other words, if it must always run, make it a hook.

Recap

Here is a quick recap of how these four terms differ.

Feature Purpose Token Cost Determinism
Instructions (guidance) Provides global context: guiding principles and style conventions. High Probabilistic
Skills (workflows) Reusable expertise packages with workflows and optional references. Low Probabilistic
MCP (capabilities) Connects AI to external tools, systems, and data sources, giving abilities that skills can use. Varies Calls are model-driven; tool execution is deterministic in principle
Hooks (guarantees) Scripts triggered on lifecycle events that enforce hard constraints and non-negotiable behavior. None Deterministic

Sources