Skip to content

What Is a Capability

Tuff uses the word capability for any building block you give a coding agent. Together, capabilities shape how an agent works in a project: what it knows, what it can do, what rules it must obey, and which multi-step flows it should follow.

Tuff manages these capability types:

Capability What it is Feature status
skill Written instructions the agent reads Implemented
tool Something the agent can run, with typed parameters Implemented
mcp-server An external MCP server, wired into every agent from one declaration Implemented
hook A command that runs automatically at a moment such as session start Implemented
policy Rules that narrow what an agent may do: commands, file reads and edits, MCP tools Preview

Every type is handled the same way. You install a capability once, and Tuff:

  • writes it into each agent’s own folder, in that agent’s format,
  • records what it wrote in tuff.lock,
  • tells you when the installed files change or a newer version is available.

A capability usually describes itself in a tuff.toml file. Several capabilities can be bundled and shipped together as a pack.