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 capsThe 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/reviewTo remove a shared reference:
too eve skill remove reviewRemoving 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 listThe 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 checklistThe 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 --jsonThe --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/reviewOr 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.