Agents and the library
draftEvery agent Pitwall runs comes from one shared library in the core. Nobody’s personal prompts or skills shape a run: everyone on an instance runs the same definitions, and each run records which version it used.
An agent definition
Section titled “An agent definition”A definition is a short Markdown file: a role and its rules, with a header that says how it runs.
| Field | Says | For example |
|---|---|---|
| Model | A model alias | deep |
| Effort | How hard the model thinks | high |
| Tools | The Claude Code tools the agent may use | Glob, Grep, Read for a reviewer |
| Skills | The library skills it is given | pitwall-adr |
| Version | Grows with every change | 5 |
A step of the pipeline names a definition and adds its gate and limits. A milestone’s phase uses the same definitions as a ticket: its input names the milestone, the phase’s file and the phases run before it, instead of a ticket’s description. Every agent run stores the version of the definition it used, so a run from last month can still be read against the prompt it actually had.
Model aliases
Section titled “Model aliases”A definition names a model by alias, never by id:
| Alias | Used for |
|---|---|
deep |
Planning and code review |
balanced |
Most steps |
fast |
Short, mechanical steps, such as writing the pull request |
One instance-wide table maps each alias to a real model id, so a new model release is one edit.
What an agent receives
Section titled “What an agent receives”An agent’s prompt is built in layers, in this order:
- Claude Code’s own base prompt.
- The checkout’s
CLAUDE.mdand the repository’s own skills in.claude/skills/, loaded by the CLI itself. - The library skills its definition names. Only their descriptions sit in context until the agent uses one.
- The agent definition, appended to the system prompt.
- The step’s input as the message: the ticket,
spec.mdand what earlier steps left.
Tools, model and effort come from the definition, as flags of the CLI.
Library skills
Section titled “Library skills”A library skill is a longer procedure or reference an agent loads when it needs it: how to write a decision record, how to write manual tests, what an agent may decide on its own. Skills are versioned like definitions.
For every job, the runner writes exactly the skills its definition names, at their latest version, into the job’s own Claude configuration directory. An agent sees its own skills and no others.
Never the runner owner’s configuration
Section titled “Never the runner owner’s configuration”Agents run with a Claude configuration directory of the runner’s own, never the owner’s ~/.claude. The owner’s skills, global CLAUDE.md and memory never reach an agent, and neither does a CLAUDE.md above the checkout. Two runners of different people behave the same.
What ships
Section titled “What ships”Pitwall ships its definitions and skills and seeds the library with them the first time the core starts: one definition per step of the pipeline, and two for chats with an agent. Today the library can be read through the API; the screens that show and edit it are not built yet.