Play files
The contract for one step: what every Play file has to declare, what it may add, and the rule about what a step reads when it does not say so.
On this page
Each step is its own file, named for its position and its slug, in the
Playbook's plays folder: play-01-audit-page.md, then play-02-…, and so
on. The front matter declares the contract; everything below it is the
instruction.
Required
Six fields. A step file without all six is not valid.
stage: its position, from 1.name: its identifier, referred to by other steps.title: the human sentence.input: what it expects to be handed.output: what it promises to produce.tools: the Connectors it may call. This one is required and may be empty, which is deliberate: a step has to state that it calls nothing rather than say nothing.
Optional
gate:humanto pause for approval before proceeding. Absent means no gate. See Approvals.references: the reference files this step reads.reads: the earlier steps whose output it takes.model: pin a specific model, rather than letting routing choose.search: declare that this step searches the web as it works, and with which provider.persona: craft text baked into this step alone.retry: how many attempts, and how long to wait between them.phase: whether it gathers, composes or finishes.skill: which library Skill this step was imported from, where it was.
The rule about reads
Absent does not mean "nothing". A step with no reads takes the output of
the step immediately before it, which is the ordinary chain. Naming steps in
reads is how you say something other than that: take the output of steps one
and three, and skip two.
That is the one place in this format where an omission means something specific rather than nothing, so it is worth knowing before you delete the line.
The body
Markdown, conventionally under an ## Instructions heading. Values from the
input contract are written as {{inputs.<key>}} and are replaced with the
answers before the step runs.
A real one
URL SEO Audit's first step is stage: 1, name: audit-page, titled
"Research the page". Its input is the URL from the run inputs; its output is
research notes. It declares no tools, no gate, and that it searches with a
search provider. Its instruction is one paragraph.
More in Reference
Related
playbook.md
The Playbook document itself: the fields it must declare, the ones it may, what each optional field means by its absence, and the sections in its body.SKILL.md
The reusable step format, spelled in capitals because that is the filename: what a Skill declares about itself, and the two sections in its body.The agent endpoint
The one programmatic door into YAMO: what an agent can call, how a Service becomes a callable tool, and what consent and spend caps mean for the payer.Limits
The boundaries a run actually meets: how long it may take, how often a step is retried, what gets truncated, and how large an uploaded file may be.Pricing
How YAMO charges: you pay for the runs you make, and nothing for the ones you do not. What a run is, what it includes, and what publishing costs.Who it's for
The six kinds of expert YAMO is built for, and what changes when the method you already follow becomes a Service that somebody else can run.
Open a Playbook that does this
Every template in the library publishes its contract and a real example output.