Extending the agent
Skills and MCP
Constrain the agent to a role with a skill, and connect it to external tools — in both directions — with MCP.
Two ways to extend the agent that do not involve writing a tool: change how it works, or connect it to something that already exists.
Skills — a role with limits
A skill is a guided workflow that restricts the agent to a job. Predefined ones include code reviewer, test generator and security auditor.
> /skills list
> /skills activate
> /skills create
> /skills install <git-url>
The restriction is the point. A skill can narrow the tool set for the duration of its work, so "review this code" cannot become "rewrite this code" because the model got enthusiastic.
/skills install pulls a skill from a git repository, which is how a team shares
one definition rather than each person maintaining their own.
/code-review is a shortcut for activating the code-reviewer skill.
MCP — connecting to external tools
The Model Context Protocol is a standard way for agents and tools to talk. Snaga speaks it in both directions.
Snaga as a client
Connect an external MCP server and its tools become available to the agent:
> /mcp
Declare servers in snaga.toml to have them connected at startup, including
environment variable interpolation so credentials and paths are not written into
the file.
MCP tools appear to the agent like any other tool, and go through the same gates — including Plan mode, which allows an MCP tool only when the verb in its name is read-only.
Snaga as a server
snaga mcp-server
This exposes Snaga's tool registry over stdio JSON-RPC, so other agents and editors — Claude Code, Cursor, Continue — can call Snaga's tools through the standard protocol.
The two directions compose: an editor can drive Snaga's tools while Snaga itself is driving somebody else's.
Which extension mechanism to reach for
| You want | Use |
|---|---|
| A capability nothing provides | write a tool |
| A capability someone already wrote | the registry |
| The agent to behave differently for one job | a skill |
| To reach an existing external system | MCP as a client |
| Another agent to reach Snaga | snaga mcp-server |