A Command component packages a user-invokable action that fires when the user types a matching slash command in their agent runtime. Commands are explicitly user-initiated — the user typesDocumentation Index
Fetch the complete documentation index at: https://agentvolumes.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
/review, /summarize, or another trigger pattern, and the runtime executes the associated command definition. This makes Commands distinct from Tools, which agents invoke programmatically.
Command vs. Tool
The most important distinction in Agent Volumes is between Commands (user-initiated) and Tools (agent-initiated):| Command | Tool | |
|---|---|---|
| Invoked by | User (explicitly) | Agent (programmatically) |
| Trigger | Slash command pattern | Function call by agent |
| Input | User-provided context | Structured parameters |
| Statefulness | May maintain workflow state | Stateless per call |
Entrypoint format
Command entrypoints must be Markdown (.md) files with YAML frontmatter. The frontmatter must include a trigger field.
The portable validation minimum requires:
- The entrypoint file exists and is a Markdown file.
- The frontmatter declares a
triggerfield. - The
triggervalue matches the regex^\/[a-z0-9-]+$.
Required frontmatter
Thetrigger field is the only required frontmatter field for a command. It defines the slash command pattern users type to invoke it.
/review, /summarize, /explain, /fix-types, /run-tests.
Declaring a command in volume.toml
Add a [[components]] entry with type = "command" and point entrypoint to your Markdown command file.
Command entrypoint structure
A well-structured command file uses the frontmatter for the trigger and the Markdown body for instructions the runtime follows when the command fires:Validation requirements
A command entrypoint fails portable validation if any of these conditions are true:- The file does not exist or is not a regular Markdown file.
- The frontmatter is missing or unparseable.
- The
triggerfield is absent. - The
triggervalue does not match^\/[a-z0-9-]+$.
Optional fields
| Field | Type | Description |
|---|---|---|
description | string | One-line description for registry search and tooling. |
providers | array of strings | External services this command integrates with. |
permissions | table | Component-specific permission overrides. Can only narrow volume-level values. |