Customize

Commands and workflows

Turn prompts you repeat into slash commands, with arguments, file contents and shell output.

A custom command is a saved prompt you run with a slash, like /submit-pr or /fix-issue 123. Use commands for multi-step routines you'd otherwise type out every time. In the VS Code and JetBrains settings, these are listed under Workflows.

Create a command

Create a Markdown file in a commands folder. The file name, without .md, becomes the command name:

ScopeFolder
Project.hull/commands/
Global~/.config/hull/commands/

For example, .hull/commands/submit-pr.md runs as /submit-pr. Hull also reads command/ as well as commands/, and the legacy .hullcode/ folders.

---
description: Run checks and open a pull request
agent: code
---

Prepare this branch for review:

1. Search the changed files for leftover TODOs and debug logging, and remove them.
2. Run the tests. If anything fails, fix it before you continue.
3. Commit with a clear message, push the branch and open a pull request with `gh pr create`.
4. Reply with the pull request URL.

Frontmatter

All fields are optional:

FieldDescription
descriptionShown in the command list
agentRun the command with this agent
modelRun it with this model, as provider/model
variantModel variant, such as a reasoning effort
subtasktrue runs the command as a subagent, so it doesn't fill up your main session

Arguments, files and shell output

PlaceholderReplaced with
$ARGUMENTSEverything you type after the command name
$1, $2, ...Individual arguments
@path/to/fileThe file's contents
!`command`The output of a shell command
---
description: Fix a GitHub issue
---

Fix GitHub issue #$1.

Issue details:
!`gh issue view $1`

Follow the conventions in @CONTRIBUTING.md.

Run it as /fix-issue 123.

The highest-numbered placeholder receives the rest of the arguments. If a command has no placeholders, Hull adds whatever you type after the command to the end of the prompt.

Define commands in config

You can also define commands in hull.json, where template is the prompt:

{
  "command": {
    "test": {
      "description": "Run the tests and fix failures",
      "template": "Run the test suite. Fix any failures in $ARGUMENTS."
    }
  }
}

Built-in commands

Hull ships with a few commands, such as /init to write AGENTS.md and /review to review your changes. Skills and MCP server prompts also show up as slash commands. See the CLI slash commands for the full list.

Legacy workflows

Markdown files in .hull/workflows/ or .hullcode/workflows/ (and the same folders in your home directory) still work. Hull turns each one into a command when it starts, so .hull/workflows/deploy.md runs as /deploy. New commands should go in .hull/commands/.

Tips

  • Write the steps the agent should follow, and say what "done" looks like.
  • Use subtask: true for long, self-contained routines.
  • Commit project commands so your team can use them.
  • After adding a command, run /reload in the CLI, or Hull Code: Reload Config and Skills in VS Code.

On this page