Requirements
The ordered list of what has to be true before an app ships — how it is checked, who can tick it, and how to add your own.
Requirements
An app is not finished when it runs. It is finished when the things that make it worth shipping are true: it does what it says, people can get in without an account they do not want, four or five screens explain it before it asks for money, the moment that counts as a win is celebrated and is the only place a rating is asked for, and every rule Apple enforces is kept. The Checklist tab is that list, in the order it happens — from the first screen to the day you submit.
- Some are checked for you. Anything that can be decided by reading the code is: a missing paywall file, a screen that never fires its event, a dependency that is not on the list. Those show a tick or a cross, and a cross says what it found — Fix in Chat hands the exact instruction to Claude.
- The rest are ticked by a person or by Claude. “The app never asks for a rating before the system prompt” is a judgement, not a grep. Anyone can tick it — and so can Claude, through the Broctic MCP server, which is required to say what it saw. A ticked requirement reads Checked by you · Sep 14 or Checked by AI · Sep 14 with the note, and Undo puts it back.
- It is one list, not two. The audit an agent runs and the list on this tab are the same rules with the same ids, so a requirement Claude ticks from your editor is ticked here a moment later, and nothing is met twice or met in private.
Wins and ratings
The one every app gets wrong. A win is the moment your app has actually done something for someone — a workout finished, a recipe saved, a streak hit — and you define what yours are. The app celebrates it on a win screen, and that is the only place it may ask for a rating: after something good, never on launch, never on a timer, never before the system prompt and never for a reward. Apple's review guideline 5.6.4 is the rule; asking at the right moment is also the reason the ratings are good.
Adding a requirement of your own
The list is meant to grow. Every requirement is one object in a set file under packages/core/src/playbook/sets/ — an id, a title, the sentence a founder reads, the instruction Claude is given, and either a static check or manual for the ones a person judges. Add the object and it appears in Claude's prompt, in the MCP playbook, in the audit and on this tab at once; a whole new set is one more file and one registry line. The how-to is docs/how-to/add-a-playbook-rule.md in the repository.