# Slash Commands

Slash commands are shortcuts that trigger specialized AI workflows. Type `/` in the chat input to see available commands, then select one from the popup.

## [How Slash Commands Work](/content/docs/slash_commands#how-slash-commands-work/index.html)

When you type `/` in the chat input, a popup appears listing all available commands. Use **Arrow keys** to navigate and **Enter** or **Tab** to select.

**Important:** Always select the slash command from the popup menu. If you type the command manually without selecting it, Invoke treats it as a regular message and sends it to the default Agent — it won't trigger the specialized workflow.

When you select a command, a styled pill (e.g., `/skill`) appears in the input along with a placeholder prompt. Replace the placeholder with your actual request and press **Enter** to send.

## [Available Commands](/content/docs/slash_commands#available-commands/index.html)

### [/invoke-guide](/content/docs/slash_commands#invoke-guide/index.html)

Ask questions about Invoke's features, shortcuts, settings, agent modes, and workflows.

**Examples:**

- `/invoke-guide` What keyboard shortcuts are available?
- `/invoke-guide` How do I set up MCP servers?
- `/invoke-guide` What's the difference between Agent and Plan mode?

### [/summary](/content/docs/slash_commands#summary/index.html)

Condense the current conversation into a compact summary card.

The summary includes key topics discussed, decisions made, code changes, and outstanding tasks. Useful when your conversation is getting long and approaching context limits.

**How to use:** Type `/`, select **summary** from the popup, and press Enter. No additional input needed.

### [/skill](/content/docs/slash_commands#skill/index.html)

Create a new reusable AI skill — a knowledge bundle with instructions, scripts, references, and assets.

**How to use:** Select `/skill` from the popup, then describe what the skill should do:

```
/skill Create a code review skill that checks for security vulnerabilities and follows OWASP guidelines
Scope: Project
```

The AI will create a skill folder with a `SKILL.md` file and any necessary scripts or references.

### [/agent](/content/docs/slash_commands#agent/index.html)

Create a new custom agent with its own system prompt and tool access.

**How to use:** Select `/agent` from the popup, then describe the agent:

```
/agent Create a documentation writer agent that generates clear API docs with examples. It should only read and write files, no terminal access.
```

The AI will create the agent in **Settings → Agents** with the appropriate configuration.

### [/subagent](/content/docs/slash_commands#subagent/index.html)

Create a new subagent — a specialized agent that the main Agent can automatically delegate tasks to during execution.

**How to use:** Select `/subagent` from the popup, then describe what it should handle:

```
/subagent Create a test writer subagent that generates unit tests following the project's existing test patterns
Scope: Project
```

Unlike custom agents (which you switch to manually), subagents are called automatically by the main Agent when it determines a task needs specialized handling.

### [/boards](/content/docs/slash_commands#boards/index.html)

Manage your feature boards directly through the AI. Create boards, add tasks, move items, and organize your workflow.

**How to use:** Select `/boards` from the popup, then describe what you want:

```
/boards Create a new board called "Sprint 4" with columns: To Do, In Progress, Review, Done
```

### [/api](/content/docs/slash_commands#api/index.html)

Scan the current project for API endpoints and add them to the Invoke API view.

**How to use:** Select `/api` from the popup, optionally describe which APIs to scan for:

```
/api Scan all REST endpoints in the Express server
```

Or leave the placeholder empty to scan the entire project. The AI reads your code, identifies endpoints, and adds them to the API view ( **Cmd+8**) organized under base URLs with methods, headers, and request chaining.

### [/automation](/content/docs/slash_commands#automation/index.html)

Create and manage automated workflows that run manually or on a schedule.

**How to use:** Select `/automation` from the popup, then describe your workflow:

```
/automation Create a daily test report that runs npm test and saves results to TEST_REPORT.md every morning at 9 AM
```

The AI guides you through setting up steps, choosing a trigger (manual or scheduled), and managing your automation.

### [/exit](/content/docs/slash_commands#exit/index.html)

Exit a locked slash command session and return to the default agent.

**How to use:** Select `/exit` from the popup and press Enter.

## [Agent Command Locking](/content/docs/slash_commands#agent-command-locking/index.html)

When you use `/boards`, `/api`, or `/automation`, the agent locks to that command's specialized tools. This means all follow-up prompts continue using the same toolset — you don't need to type the slash command again for each message.

For example, after sending `/boards Create a sprint board`, you can follow up with:

- "Add a task called Fix login bug to the To Do column"
- "Move it to In Progress"

These messages automatically go through the boards tools.

To unlock the agent and return to the default mode, use the `/exit` slash command.

Agent command locking only applies to `/boards`, `/api`, and `/automation`. Other slash commands like `/skill`, `/agent`, and `/subagent` do not lock the agent.

## [Creating Custom Slash Commands](/content/docs/slash_commands#creating-custom-slash-commands/index.html)

You can create your own slash commands tailored to your workflow. Custom commands are stored as markdown files in your project.

### [How to Create a Custom Command](/content/docs/slash_commands#how-to-create-a-custom-command/index.html)

### [Create the commands folder](/content/docs/slash_commands#create-the-commands-folder/index.html)

In your project root, create a `.invoke/commands/` directory (if it doesn't exist).

### [Create a markdown file](/content/docs/slash_commands#create-a-markdown-file/index.html)

Create a new markdown file with the command name. For example: `.invoke/commands/review-code.md`

The filename becomes the command name (without the extension). So `review-code.md` becomes `/review-code`.

### [Write the command prompt](/content/docs/slash_commands#write-the-command-prompt/index.html)

Write clear instructions in markdown. This is what the AI will follow when you invoke the command:

```
# Code Review Command

You are an expert code reviewer. When the user provides code, analyze it for:

- **Performance issues** — Identify slow algorithms or inefficient patterns
- **Security vulnerabilities** — Check for XSS, injection, authentication issues
- **Code style** — Enforce consistency with the project's patterns
- **Readability** — Suggest clearer naming and structure
- **Testing** — Comment on test coverage

Provide feedback in this format:
- Critical issues (must fix)
- Suggestions (nice to have)
- Positive observations (done well)
```

### [Use the command](/content/docs/slash_commands#use-the-command/index.html)

Type `/` in the chat and select your new command from the popup. It will appear with the standard command styling.

### [Command Naming Rules](/content/docs/slash_commands#command-naming-rules/index.html)

- Use lowercase letters, hyphens, and numbers
- Keep it short and descriptive
- No spaces or special characters
- Examples: `review-code`, `api-docs`, `test-generator`

Custom commands are project-level only. They're stored in `.invoke/commands/` and only available in that project. To share commands across projects, store them in `~/.invoke/commands/` globally.

### [Example: Creating a Test Writer Command](/content/docs/slash_commands#example-creating-a-test-writer-command/index.html)

Create `.invoke/commands/write-tests.md`:

```
# Test Writer Command

You are a test automation expert. Write comprehensive tests following these rules:

1. **Test structure** — Use describe/it blocks with clear names
2. **Coverage** — Test happy path, edge cases, and error states
3. **Mocking** — Mock external dependencies and APIs
4. **Assertions** — Use specific assertions that fail with clear messages
5. **Setup/Teardown** — Include proper initialization and cleanup

Follow the project's existing test patterns and naming conventions.

When the user provides code or a file path, write tests for it.
```

Then use `/write-tests` anytime you need tests generated.

## [Tips](/content/docs/slash_commands#tips/index.html)

- **Use the popup** — Always select from the `/` popup. Typing `/skill` manually sends it as plain text to the default agent.
- **Replace the placeholder** — After selecting a command, a bracketed placeholder appears. Replace it with your specific request before sending.
- **Scope field** — For `/skill` and `/subagent`, you can specify `Scope: Project` (current project only) or `Scope: Global` (all projects).
- **Iterate** — You can use the same slash command multiple times in a conversation to create multiple skills, agents, or subagents.
