Skip to content

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.

CommandDescription
/goalOpens the Goal panel or starts a durable objective that Kodik pursues across turns. Learn more
/compactSummarizes and compresses the current conversation to free up context window space. Learn more
/newtaskDuplicates the current conversation into a new task (“Copy of …”) so you can branch off. Learn more
/create-skillLaunches a guided flow for creating a new Skill for the current project or globally
/create-commandCreates a new custom slash command (a .md file in .kodik/commands/)
/create-ruleCreates a new rules file for controlling agent behavior
/create-hookCreates a lifecycle hook — a shell command tied to an agent event. Learn more
/install-templateStarts a guided template installation workflow from the Kodik Marketplace
/analyze-workspaceAnalyzes the workspace and provides a summary of the project

Beyond the built-ins, you can define your own slash commands as Markdown files that Kodik discovers and makes available to the agent.

Commands are loaded from multiple locations. When names collide, the higher-priority source wins:

LocationScope
<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 directoryNamespaced 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.

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: deploy
title: Deploy to staging
description: Builds the project and deploys to the staging environment
argument-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:

FieldDescription
nameCommand name (defaults to filename without .md)
idStable command identifier (defaults to name)
titleHuman-readable display name shown in the UI
descriptionShort description of what the command does
argument-hintHint text shown in the autocomplete menu
modeExecution mode (e.g. code, plan, ask)

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.