Format {phase}:{action} or bare name for utilities. Unique across all definitions.
phase
string
yes
—
One of: intake, discovery, planning, execution, retrospectives. Required for phase commands. Omit for utility commands.
path
string
yes
—
Relative path from repo root to the .md command file. Must resolve to an existing file when status: existing. When status: planned, the path is not required to resolve to an existing file.
description
string
yes
—
Relative path from repo root to the overview .md in docs/workflow/. Must resolve to an existing file.
inputs
list
yes
—
Ordered list of input objects. May be empty ([]).
inputs[].name
string
yes
—
Kebab-case identifier.
inputs[].type
string
yes
—
One of: string, url, list[url], list[string], flag.
inputs[].required
boolean
yes
—
Whether the input must be provided.
inputs[].description
string
yes
—
Human-readable description of the input.
outputs
list
yes
—
Ordered list of output objects. May be empty ([]).
outputs[].name
string
yes
—
Kebab-case identifier.
outputs[].type
string
yes
—
One of: url, document, tickets, report, file.
outputs[].path
string
no
—
Template path for the output location. Supports {input-name} interpolation.
outputs[].description
string
no
—
Human-readable description of the output.
requires
list
yes
—
Backend capabilities needed. Valid values: ticketing, documentation. Empty list ([]) if no backends needed.
status
string
no
existing
One of: existing, planned, deprecated.
argument-hint
string
no
—
CLI syntax hint (e.g., <epic-key>).
repeat
boolean
no
false
true if the command is invoked multiple times per epic (e.g., per-ticket commands).