Playbook Check
A playbook is the list of positions you take on a type of contract: what you want, what you can live with, what you never sign. Playbook Check reads a contract against that list, one position at a time, and tells you for each one whether the contract meets it, falls back to an acceptable alternative, deviates from it, or says nothing about it. Every verdict that colors the text rests on a quote copied from the contract, so you can see exactly what it was based on.
It is a reviewer that never gets tired of the boring positions, not a lawyer. It does not judge whether a clause is enforceable, it does not know your client, and it can be wrong. Treat every result as a lead to check.
Your first check
- Open the contract you want to check. Playbook Check reads the whole document; a selection is not enough.
- Run Playbook Check from the command palette, or from the Quick Actions on a new installation. You can also right-click the contract in the file tree, in the list of open files or on its title in the top bar and choose Playbook Check…: Return opens the contract and the same window. After a check, if you change the contract, a Playbook Check button above the chat box offers to check it again with the same playbook.
- Choose a playbook. Return lists every
*.playbook.mdfile in your workspace folders, the ones closest to the contract first, then the playbooks in Settings → Document Templates, the built-in starters among them (see Starting points). You can also pick a file with Browse…. - The first time you use a playbook, review it and click Approve and use. Return then checks with exactly the version you approved (see Approving a playbook).
- Click Run. On a long contract this can take a while: Return checks it section by section and shows the progress in the chat.
The result opens as a card in the chat, and the findings appear in the contract: a red mark for a deviation, an amber one for a fallback.
The playbook file
A playbook is a plain Markdown file whose name ends in .playbook.md, so you can write and keep it anywhere, edit it in any editor, and share it with your team. One heading per position:
# Playbook: Master Services Agreement (Customer)
- Agreement type: master services agreement
- Our side: Customer
- Governing law: English law
## Liability cap
- Required: yes
- Priority: high
- Preferred: each Party's total liability is capped at no less than 200% of the Charges paid in the 12 months before the claim
- Acceptable:
- a cap of at least 150% of the Charges paid in the 12 months before the claim
- Unacceptable: a cap below 100% of the Charges paid in the 12 months before the claim
- Model wording: "Each Party's total aggregate liability shall not exceed two hundred per cent (200%) of the Charges paid in the twelve (12) months preceding the claim."
- Note: below 150% needs partner sign-off
The fields:
| Field | What it is |
|---|---|
| Agreement type | Under the title: the kind of contract. Context for the check. |
| Our side | Under the title: the party you act for. |
| Governing law | Under the title: the law the positions assume. |
| Required: yes / no | A required position the contract does not cover is reported as Missing. |
| Priority: high / medium / low | Orders the findings: what matters most comes first. |
| Preferred | The position you want. |
| Acceptable | Fallbacks you can accept, best first, one per line. Optional. |
| Unacceptable | The line you do not cross. Optional. |
| Model wording | Your clause for this position. Used when you fix a deviation and when you insert a missing clause. Optional. |
| Note | For you. Shown in the card, never sent to a model. Optional. |
| Source | The sentence of your own contract template a position comes from, in a playbook made with Draft Playbook. Optional. |
Return also reads these labels in Polish, as the Polish templates use them: Typ umowy, Nasza strona, Prawo, Wymagana (tak / nie), Priorytet (wysoki / średni / niski), Preferowane, Dopuszczalne, Nieakceptowalne, Wzorcowe brzmienie, Notatka, Źródło.
A paragraph under the title is for people too: it is shown in the review, never sent to a model. If a playbook has format problems, the review lists them by line, and the check waits until they are fixed.
Verdicts
| Verdict | What it means |
|---|---|
| Deviation | The contract has a clause on this position, and it meets neither the preferred position nor an acceptable fallback. Marked red. |
| Fallback | The clause matches one of your acceptable fallbacks. Marked amber. “Show fallbacks” on the result card turns these marks on and off. |
| Aligned | The clause meets your preferred position. Listed in the card, not marked in the text. |
| Missing | A required position no section of the contract covers. It has no place in the text, so it is listed under “Not in document”. |
| Not present | An optional position the contract does not cover. |
| Unverified | The model gave a quote Return could not find in the contract, word for word. Nothing is marked; check these yourself. |
| Not checked | The part of the contract that covers this position failed to process, or its answer was cut off before it reached this position. “Retry failed sections” runs just those parts again. |
A finding only colors the text when its quote is found in the contract exactly, apart from typography and spacing. A paraphrase never counts.
Approving a playbook
A playbook decides what the model is asked to check, so Return uses it only after you have read it. Approval is recorded on this computer, for exactly the content you saw:
- Not approved: Return has never seen this content. Review it and approve it.
- Approved: the content is the one you approved. A moved or copied file stays approved.
- Changed: the file changed since you approved it. The review shows what changed, word by word, and you approve again.
Approval lives in Return, not in the file: a colleague who receives your playbook reviews and approves it on their computer.
What is sent to the model
- With the local engine, nothing leaves your computer.
- With cloud AI, Return sends the contract text, section by section, and the parts of the playbook the check needs: the name, the header, the titles and the Preferred, Acceptable and Unacceptable fields. Notes are never sent. Model wording is sent only when you click Fix on a finding, to shape the suggested rewrite.
- Before a cloud run, the window shows how many actions the check will use, and nothing runs until you click Run.
Decisions
Each finding ends with one of your decisions:
- Fix: three rewrites of the clause that meet your preferred position, adapted from your model wording when the playbook has one. You pick one and it replaces the clause in one undoable step. See AI Action. (If you have customized the
remediationprompt in Settings, Fix works without the playbook rule until you reset it.) - Accept for this contract: you keep this wording for this contract, with an optional note. The decision is saved in the contract’s own properties, so it travels with the file; the next check marks the same wording “Deviation, accepted” instead of asking again. If the clause changes, the finding opens again and says that an earlier exception covered different wording. A copy made with Save As does not take your decisions with it: Document Details lists them as made for another document.
- Dismiss: hides the finding from this result. Restore on the result card brings it back.
- Insert model wording: for a Missing position with model wording, inserts your clause at the cursor as an edit you review before it is kept. Run the check again to confirm it.
Exceptions that arrive inside a file from someone else are not applied until you look at them: Document Details lists them, with Apply these exceptions and Remove all.
Report
Create report on the result card opens the result as a new document: the date of the check, the playbook and its version, the mode, the counts, every position with its verdict, quote and your decision, the dismissed ones included. Save it, or export it to PDF or HTML. A report never contains the playbook’s notes or model wording; the note you type when you accept a finding is part of your decision and is in the report.
Starting points
You don’t have to write a playbook from scratch:
- The starters are built in: a services agreement and a mutual NDA, each in English and in Polish. The Playbook Check window lists them under Document Templates, so you can review one, approve it and run a check straight away. Customize makes your own copy in Settings → Document Templates, where you adapt the positions; New template → Playbook there starts from a blank playbook with one example position, and New Playbook in the menu of the New button in the top bar starts the same blank playbook as a file in your workspace. The starters are a starting point, not legal advice, and have not been reviewed for any particular matter.
- Draft Playbook (run it from the command palette) drafts a playbook from your own contract template: one position per clause, each with the sentence it came from. Open the result as a document, save it as a
.playbook.mdfile, and read every position before you approve it. On a long template the draft can repeat a heading or shorten a quote; the review shows what to fix.
Limits
- Local models: the check needs a model that follows long instructions closely. Of the bundled models, Qwen3.5 35B-A3B passed our tests; Qwen3.5 9B missed about one deviation in six on Polish contracts, and Bielik 11B and GPT-OSS 20B did not pass. The window says when the selected model has not passed, and when it has not been tested.
- Long documents are checked section by section. A position counts as Missing only when every section was checked.
- Repeated text: when the quoted words appear twice in the contract, the mark goes to the first place.
- Word files: Playbook Check reads Markdown. Import a
.docxcontract first; a playbook written in Word can be imported the same way. In cloud mode, importing a Word file sends its first 2,000 characters to classify the document, so a playbook you want to keep private is better imported in local mode. - Copies made outside Return (in Finder or Explorer) keep the contract’s identity until Return notices the duplicate and gives the copy its own, and until then your decisions apply to both, though always only to identical wording.
- On a new computer, the playbook is reviewed and approved once, and decisions that came inside a file are applied from Document Details.