Custom Slash Commands
Custom slash commands are file prompts: reusable prompt templates that work like shortcuts in the
Dexto CLI and Web UI. Think of them as your personal command library that you can invoke with a
simple /command-name syntax.
They are not skills. Skills live in skills/<id>/SKILL.md directories, are managed by
SkillManager, and are listed with /skills or the server skill catalog API (GET /api/skills).
What are Custom Slash Commands?
Markdown files with prompt templates that support:
- Positional arguments –
$1,$2, etc. for structured inputs - Free-form content –
$ARGUMENTSfor flexible text - Local or global scope – Project-specific or user-wide
- Auto-discovery – Loaded automatically on startup
Creating a Command
Create a .md file with frontmatter and your prompt template:
---
description: Translate text between languages
argument-hint: [from-lang] [to-lang] [text]
---
Translate from $1 to $2:
$3
Save locations:
- Local (project-specific):
<your-project>/commands/translate.md - Global (available everywhere):
~/.dexto/commands/translate.md
Using Commands
In Web UI:
Type / to discover and invoke your custom commands.
In CLI:
dexto
> /translate english spanish "Hello world"
This expands to:
Translate from english to spanish:
Hello world
Frontmatter Fields
| Field | Required | Description |
|---|---|---|
description | ✅ Yes | Brief description shown in command list |
argument-hint | ⚠️ Recommended | Argument names for UI hints like [style] [length?] |
name | ❌ Optional | Override the filename as command name |
Placeholder Types
Positional ($1-$9):
---
description: Code review comment
argument-hint: [file] [line] [severity]
---
**Code Review for $1 (Line $2)**
Severity: $3
Free-form ($ARGUMENTS):
---
description: Improve any text
---
Please improve the following text:
$ARGUMENTS
Mixed approach:
---
description: Analyze code with focus
argument-hint: [language] [focus]
---
Analyze this $1 code focusing on: $2
$ARGUMENTS
Escape literal dollar signs with $$:
The cost is $$100 per month.
Example: Git Commit Message
File: commands/commit-msg.md
---
description: Generate semantic commit message
argument-hint: [type]
---
Generate a commit message of type "$1" for these changes:
$ARGUMENTS
Follow conventional commits format. Be concise and descriptive.
Usage:
/commit-msg feat "Added user authentication with OAuth2"
Viewing Available Commands
In Web UI: Type / to see all commands.
In CLI:
> /prompts
Shows commands from:
- Built-in starter prompts
- Local
commands/directory - Global
~/.dexto/commandsdirectory - Connected MCP server prompts
Skills do not appear in /prompts; use /skills for the skill catalog.
Best Practices
✅ DO:
- Use descriptive names (
analyze-performancenotanalyze) - Add clear descriptions for discoverability
- Use
argument-hintfor inline hints - Use kebab-case filenames (
my-command.md)
❌ DON'T:
- Use spaces in filenames (breaks resolution)
- Make overly complex prompts (split into multiple commands)
- Forget the
descriptionfield (required to appear)
How It Works
Dexto's PromptManager loads prompts from your agent configuration, command files, custom prompt
storage, and MCP prompt providers. For file-based prompts, it parses markdown files with frontmatter
and registers them as slash commands. When invoked, placeholders expand with your arguments and send
the resolved prompt text to the LLM.
Troubleshooting
Command doesn't appear:
- File must end with
.md - Valid YAML frontmatter required
descriptionfield must be present- Must be in
commands/or~/.dexto/commands
Arguments not expanding:
- Use
$1-$9or$ARGUMENTSonly - Match argument order to
argument-hint - Use
$$for literal dollar signs
See Also
- CLI Guide - Interactive commands and options
- MCP Prompts - Prompts from external MCP servers
- Agent Configuration - Customize agent behavior