Only the codes this command can produce. The full contract is on the commands index.
0ok
2usage
10contract unmet
12missing artifact
Repository-local prompt assets
Small reusable prompts that live in the repository rather than in someone's history. render substitutes a fixed set of tokens and no others; an unknown token is an error rather than a literal left in the output.
What is available
asset exists
yes
Given this repository
# A repository with Majordomus installed and projections generated, and one commit of work.
"$MJ" init >/dev/null
"$MJ" update >/dev/null
mkdir -p lib docs
echo a > lib/a
echo d > docs/d
git add . && git commit -qm base
Run
$ majordomus prompt list
Output contains
continue
handover
review
exit0
Each asset carries a name matching its filename and a one-line description, both validated by doctor.
Asking for one that does not exist
asset exists
no
Given this repository
# A repository with Majordomus installed and projections generated, and one commit of work.
"$MJ" init >/dev/null
"$MJ" update >/dev/null
mkdir -p lib docs
echo a > lib/a
echo d > docs/d
git add . && git commit -qm base
Run
$ majordomus prompt show nosuch
Output contains
no prompt asset
prompt list
exit12
Exit 12 is MISSING_ARTIFACT, and the message names the command that lists what does exist.
Reference
List, show and render repository-local prompt assets. Read-only.
An asset is .ai/repo/prompts/<name>.md: YAML front matter with name (matching the
filename) and a non-empty description, then a body. They are small, versioned with the
repository, and provider-neutral — a prompt library is not the goal, and nothing here
invokes a model.
Rendering substitutes a closed set of tokens and no others. Inline: {{TASK}},
{{TASK_ID}}, {{PROFILE}}, {{SCOPE}}, {{OWNER}}, {{BRANCH}}, {{HEAD}},
{{WORKING_TREE}}, {{REPOSITORY}}, {{NOW}}. Alone on a line: {{OPEN_QUESTIONS}},
{{DECISIONS}}, {{CHECKPOINT}}, {{HANDOVER}}, {{CONTEXT}}.
There is no templating language: no conditionals, no loops, no includes, no shell. An
unknown token is an error, exactly as an unknown configuration key is, because a prompt
that silently renders {{TSAK}} as literal text is worse than one that refuses. doctor
and watch validate every asset for the same reason.
$ majordomus prompt listcontinue resume a task from durable state instead of from someone's memorydebug frame a defect so that the fix is proven, not assertedhandover produce a continuation record body for the current taskreview review the working diff against the claimed scope and the finish contract$ majordomus prompt render debug | head -3Task t-20260903193012-a4f1 on branch main at 3f2a9c1e...: fix the OAuth callbackScope: lib/auth
Evidence
Every case below runs in CI on Linux and macOS. The site refuses to build if a public command has no behavioural case, no negative case, or no demonstration.