Skip to content
LogoLogo

Extend agents with caps

Caps provide reusable instructions, knowledge, and tools for agents. You can add shared caps, create local ones, or define them directly in .too files.

Manage shared caps

Add caps from remote sources to an existing agent:

too eve skill add gh:briceyan/review
too eve psyche add gh:briceyan/concise
too eve caps

The add command saves a reference to the remote source in the agent's configuration.

Omit the agent name to manage caps at the Toolang root, where they can be shared by resident agents:

too skill add gh:briceyan/review

To remove a shared reference:

too eve skill remove review

Removing a reference does not delete its remote source.

See Share agents and caps for source layouts and version pinning.

Manage local caps

Create, edit, and list a local skill:

too eve skill new checklist
too eve skill edit checklist
too eve skill list

The new and edit commands open your configured editor.

Skills are stored in skills/NAME/SKILL.md. Psyches, services, and prompts use Markdown files in their respective directories.

To delete the skill:

too eve skill delete checklist

The same commands work with psyche, service, and prompt. See Cap file formats for their structures and examples.

Define caps in .too files

Caps can also be defined inline or referenced from remote sources within .too programs.

For example:

with skill gh:briceyan/review
 
psyche concise:
  Prefer short answers with concrete findings.
 
agic review:
  Review {{_}} and report actionable issues.

These declarations apply to the program containing them, whether it belongs to an agent or is a standalone script. They do not modify the caps installed at the Toolang root or in an agent's home.

See Scope and resolution for how root, agent-local, and program-local caps are resolved.

Control cap access

Use --allow to restrict which caps an agent can access during execution.

First, inspect the available caps:

too eve caps --query 'skill/*'
too eve caps --all --json

The --query option filters the list, while --all includes caps excluded by policy.

To restrict cap access when starting chat:

too eve chat --allow 'skills=skill/review' --allow 'services=none'

Within chat, use :allow to change the allowlist for later submissions:

:allow skills=skill/review

Or use /allow to restrict a single submission:

/allow skills=skill/review

Review this code.

Allowlists can only narrow existing permissions, not grant access to additional caps. The supported cap fields are psyches, skills, services, and prompts.

Use too help allow for the complete syntax.