## Definition
The **extension trifecta** is the framing that three complementary mechanisms — Skills, MCP servers, and Hooks — extend an agentic CLI beyond its built-in capabilities. They are *not* interchangeable; each solves a different problem.
## The Three Mechanisms
| Mechanism | Adds… | Best for… |
| ------------------------- | ------------------------------------------- | -------------------------------------- |
| [[Skill]] | Reusable *procedures* and *domain knowledge*| "When asked to X, do Y the way we do." |
| [[Model Context Protocol]] | New *tools* and *data sources* | Talking to systems that aren't files. |
| [[Hook]] | *Deterministic* automation around events | Lint on save, block secrets, gate PRs. |
## Decision Rubric
| Question | If yes → |
| ----------------------------------------------------------------- | -------- |
| Is this a **procedure** the model decides *when* to invoke? | Skill |
| Is this a **tool / data source** the model calls during a task? | MCP |
| Does this need to happen **deterministically** on an event? | Hook |
| Is it knowledge that should be **available every session**? | [[AGENTS.md Convention File]] |
## Composition
Capabilities often span dimensions. *"Run the data-quality SQL when verifying a migration"*:
- **MCP server** exposes the SQL queries.
- **Skill** documents the procedure (which queries, what order, how to interpret).
- **Hook** fires the procedure after every migration file edit.
## Related
- [[Skill]]
- [[Model Context Protocol]]
- [[Hook]]
- [[Building Effective AI Agents]]