Slash command execution

Updated Jul 14, 2026

Corbusier provides a slash-command orchestration service that parses commands, validates typed parameters, renders templates using minijinja, and produces deterministic tool-call plans with auditable metadata.

Supported command grammar:

  • /<command> key=value key2="quoted value"
  • Required parameters are enforced per command schema.
  • Unknown parameters are rejected with typed errors.
  • Boolean parameter values are case-insensitive (true/false).
  • number parameters currently accept integer values only.

The default in-memory registry includes /task and /review command definitions.

use std::sync::Arc;

use corbusier::message::{
    adapters::memory::InMemorySlashCommandRegistry,
    services::SlashCommandService,
};

fn execute_command() -> Result<(), Box<dyn std::error::Error>> {
    let service = SlashCommandService::new(Arc::new(InMemorySlashCommandRegistry::new()));

    let result = service.execute("/task action=start issue=123")?;

    assert_eq!(result.expansion().command, "/task");
    assert!(!result.planned_tool_calls().is_empty());
    assert_eq!(result.planned_tool_calls().len(), result.tool_call_audits().len());
    Ok(())
}

Repeated execution with the same command string and parameter values produces the same ordered tool-call sequence and call identifiers.