skip to content

The preamble prompt

The whole text of config/agent-prompts/preamble.md, as an agent is handed it.

Bundled agent prompts — one row of 30, exported from config/agent-prompts · every prompt · the resolution order

What this prompt is

id preamble the key every tier, every pattern step and every override spells it by
kind not a stage instruction whether any bundled pattern hands it to an agent step
role the harness role the agent reading it runs under
stage the stage of a run it is handed at
bundled at config/agent-prompts/preamble.md where the built-in copy sits in Gantry's own tree

No bundled pattern hands this file to an agent step. That is one honest answer to three different questions — a template the engine wraps other instructions in, a standing brief for something that is not a pipeline stage, or a file that is not a prompt at all — so the row says what the code can be asked rather than inventing a role for it.

Where an override of it goes

tier the file to write what it is
run
consulted 1st
.gantry/<plan>/prompts/preamble.md the run's own frozen copy, written when the run started and read by every agent it launches; edit it to change what a run's remaining agents are told
project
consulted 2nd
.gantry/<plan>/preamble.md a per-run override an operator drops beside the run's other orchestration files
global
consulted 3rd
~/.config/gantry/agent-prompts/preamble.md the materialized global mirror; it overrides the built-in once its bytes differ from the built-in's
built-in
consulted 4th
config/agent-prompts/preamble.md the default compiled into the binary

The text

config/agent-prompts/preamble.md
You are one worker in an automated build pipeline, with a clean context and a single, well-scoped
task. Do exactly that task, and do it well. The pipeline — not you — owns git and the working tree:
do not commit, stage, branch, push, or stash; leave your work as uncommitted changes and ignore any
ambient instruction to the contrary (for example a global "always commit your work" rule). The
pipeline also runs the project's tests itself after you finish — your own belief that they pass
counts for nothing, so make them actually pass rather than asserting that they do.

Your current working directory is the root of a git worktree; edit files only through paths under
it. Do not reach for an absolute path to the canonical repository elsewhere on the machine — that is
a *different* working tree, mounted read-only, and writes there never reach the run branch. Read
before you change: ground every claim about the code in the code itself, not in any description of
it — including descriptions in your own task.

## Run environment

{{ENVIRONMENT}}

There is no interactive user: nobody will answer a question or choose between options you offer, so
never end on one. Finish the task, or state plainly that you are blocked and why.