Slash Commands
Slash commands are saved prompt templates. Type / in the chat input to see a list of available commands, then select one to insert its content. This saves typing repetitive prompts and keeps consistent workflows across threads.
Using Slash Commands
Section titled “Using Slash Commands”- Click in the chat input.
- Type
/— an autocomplete dropdown appears listing all available commands. - Continue typing to filter by name (e.g.
/reviewnarrows to commands with “review” in the name). - Click a command or press Enter to insert it.
The command’s content is inserted into the input. You can edit it before sending, or send it immediately if no modification is needed.
Creating a Slash Command
Section titled “Creating a Slash Command”Slash commands can be created from within Tarsk or by creating files manually.
Via the UI
Section titled “Via the UI”- Open the Slash Commands panel (accessible from the
/dropdown — click New Command). - Choose the scope: Global (available in all projects) or Project (current project only).
- Set a name (becomes the
/nametrigger). - Add a description (shown in the autocomplete dropdown).
- Write the command body — the Markdown text that will be inserted.
- Click Save.
Manually
Section titled “Manually”Slash commands are Markdown files with YAML frontmatter stored at:
| Scope | Location |
|---|---|
| Global | ~/.tarsk/commands/ |
| Project | <threadPath>/.tarsk/commands/ |
Example: ~/.tarsk/commands/review.md
---description: Review the latest changes and suggest improvementsargumentHint: focus area (optional)mode: default---
Please review the recent changes in this thread. Look for:
- Logic errors or edge cases- Missing error handling- Performance concerns- Code style inconsistencies
Summarise findings and suggest specific improvements.Frontmatter Fields
Section titled “Frontmatter Fields”| Field | Required | Description |
|---|---|---|
description | Yes | Short description shown in the autocomplete dropdown |
argumentHint | No | Hint text shown after the command name, suggesting what the user might type (e.g. “branch name”) |
mode | No | default (standard chat) or plan (activates plan mode when this command is used) |
Examples
Section titled “Examples”Code Review
Section titled “Code Review”---description: Structured code review of recent changes---
Review the changes made in this thread. For each file modified, evaluate:1. Correctness and logic2. Error handling completeness3. Test coverage4. Naming and readability
List any issues with line references and suggested fixes.Write Tests
Section titled “Write Tests”---description: Generate tests for the current implementationargumentHint: file or function name---
Write comprehensive tests for the implementation. Include:- Happy path tests- Edge cases and boundary conditions- Error/exception scenarios- Use the existing test framework and conventions in this project.Commit and PR
Section titled “Commit and PR”---description: Commit changes and create a pull request---
1. Review the current git diff.2. Generate a clear, conventional commit message.3. Commit all staged changes.4. Push to the remote branch.5. Create a pull request with a descriptive title and summary.Global vs Project Scope
Section titled “Global vs Project Scope”| Global | Project | |
|---|---|---|
| Available in | All projects, all threads | Only threads of this project |
| Stored at | ~/.tarsk/commands/ | <threadPath>/.tarsk/commands/ |
| Override | Project commands override global commands with the same name | — |
Use global commands for workflows that apply everywhere (review, test, commit). Use project commands for project-specific instructions that reference internal modules, APIs, or conventions.
Managing Commands
Section titled “Managing Commands”In the slash command UI:
- Edit — modify the name, description, or body
- Delete — removes the file from disk; the command disappears from autocomplete immediately
Changes take effect in the next message — no restart required.