Skip to content
The Liberation Engine

Build your own AI setup / Lesson 4 of 4 · Decide

Read the whole contract before you sign

A 26-clause lease gets read to the last line, and every clause leaves with either a question for the landlord or a one-line OK.

What the agent made

Ran it for real with Claude Code 2.1.292 and OMP 18.8.5 on 2026-10-08. The first session started with no saved memory; each later session was a new one that kept only the files in the folder. Your result will differ.

1 · Build the fine-print reader

SAVED OUTPUT · review.md
# Lease review: questions to ask the landlord

Source: lease.txt (26 numbered clauses). These are questions to raise, not conclusions.

Clause 1: OK

Clause 2: OK

Clause 3: OK

Clause 4: ASK
Quote: "Rent is paid through the Brightwater online portal or by check delivered to the Landlord's office."
Question: Does the online portal charge any processing fee, and if so, how much is it?

Clause 5: ASK
Quote: "the charge continues to increase every day until rent is paid in full"
Question: Is there a maximum total amount the late charge can reach in a single month?

[trimmed]

The piece it left behind

It saved a skill any later session can use: .claude/skills/fine-print/SKILL.md.

SAVED IN THE FOLDER · .claude/skills/fine-print/SKILL.md
---
name: fine-print
description: Review a contract, lease, or terms document clause by clause, quoting exact words and turning concerns into plain questions to ask the other party (never verdicts or legal advice), then prove full coverage and exact quotes with clause-check.py. Use when the user hands over a contract or terms to review.
---

# Fine print review

Use this whenever the user hands you a contract, lease, policy, or terms document to look over.

## Method

1. Read the whole source file. Find every numbered clause and read each one. Skip nothing, including clauses that look routine.
2. Write the review to `review-<source file name without extension>.md` in the same folder as the source. Example: `lease.txt` gives `review-lease.md`; `terms-of-service.pdf.txt` gives `review-terms-of-service.pdf.md` (strip only the last extension).
3. List every clause number exactly once, in order. Each entry starts with a header line in exactly this form:
   - `Clause N: OK` for a clause with nothing to ask. An OK entry is that one line and nothing else.
   - `Clause N: ASK` for a clause worth raising. Follow it with:
[trimmed]

Then a brand-new session used what it saved on new input: see the proof.

The same prompts in OMP made their own versions, every session recorded and checked: Build the fine-print reader · A fresh session, a different contract.

Make your own

  1. Get the files

    Download the practice folder (ZIP)

    Unzip it: you get a folder called cli-practice with 1 fictional file. Download the fictional lease.txt, a 26 clause lease from an invented property manager. It also has a for-later folder with the new files for the fresh sessions.

  2. Open your agent in that folder

    Open a terminal in cli-practice and type claude or omp --approval-mode always-ask. First time? Set up in about five minutes, with steps for Mac, Windows, and Linux.

  3. Paste this prompt

    Work only inside this practice folder with the fictional lease.txt. Do not use the network, install anything, read outside this folder, or edit lease.txt. Do not write any file outside this folder, including temporary test files in /tmp. Do not ask me to reply. Do not use em dashes or en dashes. Use only Python 3 and its standard library already on this computer. If python3 is unavailable, report that the checks could not run and never claim they passed.
    Read every numbered clause of lease.txt, with nothing skipped. Write review.md listing every clause number exactly once. Each entry starts with a line that reads Clause N: ASK or Clause N: OK. An ASK entry has a line Quote: followed by the exact words copied from the lease inside double quotes, and a line Question: with one plain question I could put to the landlord. An OK entry is one line. Offer questions to ask and never verdicts: do not say whether anything is safe, fair, or allowed, and give no legal advice. Write clause-check.py, which takes a source file and a review file as its two arguments, proves every clause number in the source appears exactly once in the review and every quoted passage appears word for word in the source, names each problem, and exits nonzero if anything fails or zero if all pass. Run python3 clause-check.py lease.txt review.md and report its real exit status in your reply. Then write the project skill .claude/skills/fine-print/SKILL.md, with frontmatter name: fine-print and a description, capturing this method for any future contract or terms I hand you: cover every clause, quote exact words, ask questions and never give verdicts, name the review file review-<source file name without extension>.md, and run clause-check.py on it and report the real exit status.

    The prompt asks the agent to stay in this folder; it cannot enforce that. Read each file change and command before you approve it.

  4. Check it yourself

    Open cli-practice/review.md in any text editor, then:

    Human check: Count the clauses in lease.txt and find each exactly once in review.md. Confirm these are marked ASK with the exact words quoted and a plain question: the 60 day renewal notice in clause 17, the carpet cleaning fee in clause 18, entry at any reasonable time in clause 15, the daily late charge in clause 5, the 7 night guest limit in clause 10, and the early termination fee in clause 19. Run clause-check.py yourself and confirm exit status 0, and check that the reply reports the same status. Look for any verdict language such as safe, fair, or illegal. There should be none.

    When we checked the recording above: Reran clause-check.py on the recorded files in a scratch folder: exit 0, all 26 clauses once (13 ASK, 13 OK), every quote verbatim. Clauses 5, 10, 15, 17, 18, 19 are all marked ASK with exact quotes and plain questions. A deleted clause and an altered quote both made the checker exit 1. No verdict words, no dashes, lease.txt unchanged, and the fine-print skill was written in the folder.

Then prove it: fresh sessions

Each run below is a brand-new session, recorded for real in Claude Code. It remembers nothing from the run before except the files saved in the folder, so the short prompt is the whole instruction.

2 · A fresh session, a different contract

Before this run, copy the files from for-later/phone-plan in the ZIP into cli-practice: phone-plan.txt.

Quit the agent, start it again in cli-practice, and paste only this:

Same treatment for my phone plan terms.
SAVED OUTPUT · review-phone-plan.md
# Phone plan review: questions to ask Ferncall

Source: phone-plan.txt (18 numbered clauses). These are questions to raise, not conclusions.

Clause 1: OK

Clause 2: OK

Clause 3: ASK
Quote: "Your plan includes unlimited data in the United States."
Question: Clause 14 says my data speed may be reduced after 25 GB in a billing cycle, so what speed would I get after that point, and how does that fit with "unlimited data"?

Clause 4: ASK
Quote: "After the twelfth billing month, the monthly price becomes Ferncall's standard rate of $58.00."
Question: Will you remind me before the price rises to $58.00, and can the standard rate itself change later?

Clause 5: ASK
Quote: "Customer agrees to automatic payment from the card or bank account on file."
[trimmed]

Human check: Open review-phone-plan.md and confirm it was named and built the way the saved fine-print skill says, with no re-explaining in the prompt. Confirm every clause from 1 to 18 appears exactly once. Confirm these are marked ASK with exact quotes and plain questions: the promotional price that ends after month 12 in clause 4, the network access fee in clause 6, the remaining phone installments due at once in clause 9, and the data slowdown after 25 GB in clause 14. Run clause-check.py yourself on phone-plan.txt and review-phone-plan.md and confirm exit status 0, matching the reply.

When we checked the recording: Fresh session with a one line prompt and no re-explaining: it used the saved fine-print skill and named the file review-phone-plan.md. Reran clause-check.py on phone-plan.txt: exit 0, all 18 clauses once (15 ASK, 3 OK), quotes verbatim. Clauses 4, 6, 9 and 14 are all ASK, and clause 3 is also ASK with a pointer to clause 14. No verdict words, no dashes, input unchanged.

Do it for real

Copy the text of your real lease or terms into a copy of this folder, run the same prompt, then ask the landlord or company the questions it lists. The agent does not tell you whether to sign; that stays your decision.

Why an agent, not a chat window

The agent reads every clause with no skipping, quotes the exact words, turns them into plain questions, and a referee script proves nothing was left out or misquoted.