Slash commands

Static contractor slash commands and the per-repo blueprint commands generated from a schema.

contractor ai install writes slash commands into your AI provider's commands directory (e.g. .claude/commands/ for Claude Code, or ~/.claude/commands/ with --global). Two namespaces ship:

  • /contractor:* — static, repo-agnostic helpers built into the CLI.
  • /blueprint:* — generated from the active schema's phases: section when you install. The exact set varies by schema.

Static commands

These four commands ship with the CLI and are written verbatim during contractor ai install.

The static command bodies live under packages/cli/schemas/commands/ (explore.md, retro.md, contractor-setup.md) and are wired in packages/cli/src/lib/slash-commands/build.ts.

Generated /blueprint:* commands

Every phase in the active schema with namespace: blueprint (the default) is rendered into a slash command at install time. The id in the schema becomes the slash command name.

For contractor-base the generated set is:

For contractor-lite the generated set is /blueprint:implement and /blueprint:close (and a single-agent /blueprint:review). A forked or custom schema that adds, removes, or renames phases changes the generated set on the next contractor ai install.

The strategy attached to each phase determines how the command body is built — see Strategies. Project-level partials (contractor/partials/testing.md, contractor/partials/prepare.md) are inlined at command-render time, so the prompts in the installed file already contain your repo-specific guidance.

Reinstalling after schema changes

The generated commands are static files on disk. After editing a schema, forking a schema, or switching a blueprint to a different schema, re-run:

to regenerate the affected /blueprint:* files. contractor ai list shows the current install state per provider.