Slash commands
Slash commands are special instructions that begin with / and are typed in the chat input. They let you quickly trigger specific workflows: compact the context, start a new task, install a template, or run your own automation.
Built-in commands
Section titled “Built-in commands”| Command | Description |
|---|---|
/goal | Opens the Goal panel or starts a durable objective that Kodik pursues across turns. Learn more |
/compact | Summarizes and compresses the current conversation to free up context window space. Learn more |
/newtask | Duplicates the current conversation into a new task (“Copy of …”) so you can branch off. Learn more |
/create-skill | Launches a guided flow for creating a new Skill for the current project or globally |
/create-command | Creates a new custom slash command (a .md file in .kodik/commands/) |
/create-rule | Creates a new rules file for controlling agent behavior |
/create-hook | Creates a lifecycle hook — a shell command tied to an agent event. Learn more |
/install-template | Starts a guided template installation workflow from the Kodik Marketplace |
/analyze-workspace | Analyzes the workspace and provides a summary of the project |
Custom commands
Section titled “Custom commands”Beyond the built-ins, you can define your own slash commands as Markdown files that Kodik discovers and makes available to the agent.
File locations
Section titled “File locations”Commands are loaded from multiple locations. When names collide, the higher-priority source wins:
| Location | Scope |
|---|---|
<selected-workspace>/.kodik/commands/ | Selected chat workspace (highest priority) |
<selected-workspace>/.agents/commands/ | Read-only workspace compatibility |
~/.kodik/commands/ | User-global |
~/.agents/commands/ | Read-only user compatibility |
| Installed plugin’s commands directory | Namespaced plugin command |
The selected chat session determines the exact workspace root, including in multi-root and remote windows. .agents commands remain inspectable in Settings but cannot be changed there, and workspace compatibility commands stay inactive until the workspace is trusted. Other .agents files are ignored. Duplicate identifiers follow the table’s precedence; same-rank duplicates are diagnosed as ambiguous and are not added to the / menu.
On the first launch of the new storage layout, Kodik moves global ~/.kodik/Commands into lowercase ~/.kodik/commands before opening the workbench. Existing lowercase content wins; exact duplicates deduplicate and conflicts remain inspectable under ~/.kodik/.migration/global-assets-v1/. After the committed cutover, uppercase global or workspace command folders are inert. Move any command created there later into the lowercase owner manually.
Symbolic links inside owned command or plugin paths are not followed. Linked roots, categories, command files, plugin manifests, and plugin configuration are reported as inactive. Copy the command into the canonical lowercase directory instead of linking it when you want it to appear in the / menu or be managed by Kodik.
Command file format
Section titled “Command file format”A command file is a .md file whose filename (without the extension) becomes the command name. An optional YAML frontmatter block can supply metadata:
---name: deploytitle: Deploy to stagingdescription: Builds the project and deploys to the staging environmentargument-hint: "[branch]"mode: code---
Build the project, run the tests, and deploy branch `$ARGUMENTS` to staging.If tests fail, stop and report the issue.Supported frontmatter fields:
| Field | Description |
|---|---|
name | Command name (defaults to filename without .md) |
id | Stable command identifier (defaults to name) |
title | Human-readable display name shown in the UI |
description | Short description of what the command does |
argument-hint | Hint text shown in the autocomplete menu |
mode | Execution mode (e.g. code, plan, ask) |
Plugin commands
Section titled “Plugin commands”Commands contributed by plugins are namespaced as pluginId:commandName. In the chat you can invoke them with or without the prefix. See Plugins & Marketplace for details.