Spec
also called Specification
A written description of the intended outcome, before the work starts.
A document stating what should be built and what "done" means — behaviour, constraints, acceptance criteria. For agents it is the difference between a task that converges and one that wanders.
A good spec is checkable. "Add a login button" is not; "unauthenticated users hitting /dashboard are redirected to /login with a return_to param" is.
For agentic work, the spec is doing something different than for human work: it is the agent’s definition of done, and it is the input to the automated checks. A spec that a grader cannot evaluate is a spec the agent will satisfy by accident.
Acceptance criteria that a machine can check
Delegating a feature to an unattended agent.
"Users can reset a password and the old one stops working" is checkable by tests the agent can run. "The experience should feel smooth" is not, so it will not appear in the agent’s definition of done and will not be delivered.
Letting the agent infer requirements from a one-line prompt and then being surprised by the result.
- docsBest practices for using GitHub Copilot to work on tasks ↗
Recommends bounded tasks with explicit acceptance criteria, and names what is a bad fit for unattended delegation: ambiguous, security-sensitive, production-critical or deeply domain-specific work.
- blogDemystifying evals for AI agents ↗
Gives working definitions for harness, task, trial, grader, transcript and outcome, and argues you must evaluate the model and harness together and judge final environment state, not just the last message.
Ticket
The unit of delegated work, with scope and a definition of done.
Handoff Artifact · Brief
The document that makes a fresh context productive in one read.
Spec-Driven Development
Write the specification first; let the implementation follow.
Grilling
Making the model interrogate the plan before building it.