Module
Module 5 of 5Lesson 2 of 2~22 min

Final workshop: your spec and your intent file

This final workshop brings the whole course together in one concrete deliverable: the full spec for one of your product's features and its intent file. You also leave with a review kit and a plan to make the practice stick in your team, with developers and coding agents alike.

Lesson objective

By the end of this workshop, you will have produced the spec of a feature from your product (intent, Given/When/Then criteria, edge cases, non-functional requirements, definition of done) and its versioned intent file, with the kit and the plan to use them with your team and your coding agents.

Topics covered

  • spec template
  • writing specs
  • intent file
  • specification workshop
  • coding agents

Where it fits

Keep the spec alive

How do you keep the spec accurate during and after the build, and deliver your own?

Lessons in this module

  1. Keep the spec alive, avoid the anti-patterns
  2. Final workshop: your spec and your intent file (this lesson)

What you will learn in the course

This lesson is part of the course Write specs that developers and AI agents understand

  • Choose the level of spec suited to the decision at hand (PRD, feature spec, ticket) and know what each must contain.
  • State the intent of a feature (problem, target outcome, constraints, non-goals) separately from the solution, to leave the right room to the team and the agent.
  • Write verifiable, declarative and unambiguous Given/When/Then acceptance criteria, including as tables of examples.
  • Identify edge cases and non-functional requirements (performance, security, accessibility, personal data) and make them testable.
  • Write a spec and an intent file that a coding agent can use (context, constraints, files involved, out of scope, verifiable definition of done).
  • Review a coding agent's plan against the spec, spot gaps before it writes code, then check the evidence of what was delivered.
  • Keep a spec alive (versions, decisions, updates when the code reveals a case) and spot the anti-patterns that make it useless.