Slash Commands
Sync user-defined slash commands (prompt templates) across supported agents.
Kasetto can sync user-defined slash commands (a.k.a. custom prompt templates) into every agent that supports them. Commands are authored once in Claude-Code-style Markdown with YAML frontmatter, then transformed on the fly into each agent's native format.
Source format
A command repository contains a commands/ directory. Files are Markdown with YAML frontmatter:
Subdirectories under commands/ become :-separated namespaces:
commands/commit.md→commitcommands/git/commit.md→git:commitcommands/git/work/status.md→git:work:status
Config
The commands field accepts the same shapes as mcps:
"*"— discover every.mdfile undercommands/.- A list of namespaced names (
git:commit,review-pr). - A list of
{ name, path }objects to load from custom subdirectories.
Per-agent output formats
Kasetto rewrites each command into the format expected by the destination agent:
| Agent | Global directory | Project directory | Format |
|---|---|---|---|
| claude-code | ~/.claude/commands/ | .claude/commands/ | Markdown + frontmatter |
| cursor | — | .cursor/commands/ | Markdown (body only) |
| windsurf | ~/.codeium/windsurf/global_workflows/ | .windsurf/workflows/ | Markdown + frontmatter |
| cline | — | .clinerules/workflows/ | Markdown (body only) |
| opencode | ~/.config/opencode/commands/ | .opencode/commands/ | Markdown + frontmatter |
| continue | ~/.continue/prompts/ | .continue/prompts/ | .prompt file |
| github-copilot | — | .github/prompts/ | .prompt.md |
| amp | ~/.config/amp/commands/ | .agents/commands/ | Markdown + frontmatter |
| roo | ~/.roo/commands/ | .roo/commands/ | Markdown + frontmatter |
| augment | ~/.augment/commands/ | .augment/commands/ | Markdown + frontmatter |
| junie | — | .junie/commands/ | Markdown + frontmatter |
| openhands | — | .openhands/microagents/ | Markdown + frontmatter |
| codex | ~/.codex/prompts/ | — | Markdown + frontmatter |
| gemini-cli | ~/.gemini/commands/ | .gemini/commands/ | TOML |
Agents not listed (antigravity, aider, warp, replit, openclaw, trae, kiro-cli, goose) are skipped silently for commands.
Continue Dev's .prompt files get an invokable: true preamble injected automatically,
and Kasetto best-effort rewrites $ARGUMENTS to Continue's {{{ input }}} placeholder.
Stale-file safety
Kasetto only deletes files it claims to own in the lock file. Pre-existing user-authored files in the same directory are preserved even if a command is removed from your config.