miton

In development. The beta will be a downloadable desktop app with automatic updates. Access is not open yet.Request an invitation.

Guide · 7 min read

Skills and commands

The slash command system in Miton: the built-in commands, the user-defined commands, the shared skill registry, the command picker, the command history, and the per-workspace command configuration.

Product stage
Pre-release development
Last reviewed
2026-07-23
Successful result
The change is visible in the active project.

What this accomplishes

The slash command system in Miton: the built-in commands, the user-defined commands, the shared skill registry, the command picker, the command history, and the per-workspace command configuration.

The slash command system is the user-facing surface of the skill registry. The slash commands are invoked from the chat input with a / prefix. The slash commands are the right shape for the user to extend the agent with custom behaviours, custom tools, and custom prompts.

This page is the slash command system. The sub-agent system (which uses the same registry mechanism) is in sub-agents; the prompt library (the prompt templates) is in cross-cutting memory.

Current availability

This page documents behaviour verified in Miton development builds. Miton is still pre-release and is not publicly downloadable; invited beta users will receive a signed desktop build with automatic updates.

Before you start

  • A Miton development build and an active project containing source code.
  • A connected model. Trust the project before allowing file, terminal or Git actions.

The built-in commands

Miton ships with a set of built-in slash commands. The commands are:

  • /help — show the slash command picker.
  • /miton — ask about Miton (capabilities, privacy, models) or change allowlisted settings. Also invocable as $miton, or by the model via invoke_skill when the user asks about Miton itself (ADR-0204).
  • /clear — clear the current session.
  • /fork — fork the current session into a new session. The new session has the same context as the original session.
  • /compact — manually trigger the token condenser. The condenser compresses the older turns in the session into a structured summary.
  • /export — export the current session to Markdown or JSON.
  • /model — switch the model for the current session. The user can pick a different model from the session’s model.
  • /profile — switch the routing profile for the current session. The user can pick a different routing profile from the session’s profile.
  • /memory — open the memory surface. The user can see the memory’s rules, patterns, and confidence scores.
  • /rewind — open the rewind drawer. The user can rewind to any turn in the session.
  • /verify — run the Verifier sub-agent on the current project.
  • /explorer <question> — run the Explorer sub-agent with the given question.
  • /debugger <hint> — run the Debugger sub-agent with the given hint.
  • /test-runner — start the Test Runner sub-agent in the background.
  • /orchestrator <plan> — run the Orchestrator sub-agent with the given plan.

The built-in commands are documented in slash commands in the reference section.

The user-defined commands

The user can define custom slash commands. A custom command is a YAML file in .miton/commands/<name>.yaml that specifies:

  • Name — the command’s name (used in the slash command and in the command picker).
  • Description — the command’s purpose (shown in the command picker).
  • System prompt — the command’s system prompt (a free-text string).
  • Tools — the tools the command can use (a list of tool names).
  • Model — the model the command uses (the user can pick a different model from the session’s model).
  • Routing profile — the routing profile the command uses.
  • Args — the command’s arguments (a list of argument specs; each spec has a name, a type, a description, and an optional default value).
  • Permission gate — the command’s permission gate (the user can configure a stricter or looser policy than the session’s).
  • Workspace — the command’s workspace scope (project-local, user-global, or shared).

The user can also define a custom command in the shared skill registry (the @miton/skills registry). The shared commands are available across all projects the user works on.

The command picker

The command picker is a CoW panel that shows every command the user has access to. The command picker is opened with / (or with the /help command). The command picker shows:

  • The command name — the command’s name (e.g. /explorer).
  • The command description — the command’s purpose (shown next to the name).
  • The command source — the command’s source (built-in, project-local, user-global, or shared).
  • The command shortcut — the command’s keyboard shortcut (if any).

The user can filter the command picker by name, by source, by shortcut. The user can navigate the command picker with the keyboard; the user can click a command to insert the command into the chat input.

The command history

The command history is a list of the commands the user has invoked, with the timestamp and the session. The command history is in the chat input’s command menu; the user can click a command in the history to re-invoke the command.

The command history is per-user, not per- workspace. The history is stored in the user’s application data directory; the history is not synced across machines by default (the user can configure cross-machine sync in Settings under “Commands → History sync”).

The shared skill registry

The shared skill registry is the user’s cross-project command library. The registry is hosted on the user’s machine; the registry is not a cloud service. The user can install skills from the shared registry; the user can submit skills to the shared registry; the user can remove skills from the shared registry.

The shared skill registry is moderated. A skill submitted to the shared registry is reviewed by a moderator before the skill is published. The moderation queue is in Settings under “Commands → Moderation queue”. The user can also configure the registry to be self-moderated (the user is the moderator; the user approves or rejects submissions from other users).

The shared skill registry is documented in detail in the Canvas overview under “Marketplace” (the marketplace is the shared skill registry).

The per-workspace command configuration

The user can configure the slash commands per workspace. The configuration includes:

  • Enabled commands — the commands that are available in the workspace. The user can disable a built-in command for a specific workspace; the user can enable a project- local command for a specific workspace.
  • Command shortcuts — the keyboard shortcuts for the commands. The user can configure a shortcut for a built-in command; the user can configure a shortcut for a custom command.
  • Default arguments — the default values for the command’s arguments. The user can configure a default for a built-in command; the user can configure a default for a custom command.

The configuration is in .miton/commands.yaml in the project root. The configuration is read on session open; the configuration is preserved across sessions.

What the slash command system does not cover

The slash command system does not cover:

  • Multi-turn commands — a slash command is a single-turn invocation. The user can use a slash command to start a multi-turn conversation, but the multi-turn conversation is a regular session, not a slash command.
  • Context-aware commands — a slash command is a stateless invocation. The user can use the session’s context to inform a slash command, but the slash command does not have its own context.
  • Plugin commands — the slash command system is for the user-defined and the built-in commands. The user can extend the slash command system with a plugin; the plugin is documented in the plugin model documentation.

What success looks like

The slash command system is the right shape for the user to extend the agent. The user can define a custom command; the user can use a shared command; the user can disable a built-in command for a specific workspace.

The command picker is the entry point. The user opens the picker with /; the user navigates the picker; the user picks a command; the command is invoked.

The shared skill registry is the user’s cross-project command library. The user can install a skill; the user can submit a skill; the user can remove a skill.

The command history is the user’s recent commands. The user can re-invoke a command from the history; the user can filter the history by name.

Common failures and recovery

  • Confirm the correct project and branch are active.
  • Check the model connection and the permission request shown in Chat.
  • Keep the exact error before retrying; use Code troubleshooting when the failure persists.

Open Code troubleshooting for recovery steps and diagnostic paths.