Skip to content
The Liberation Engine

Build your own AI setup / Lesson 6 of 6 · Setup

Ask for the raise, after a critic that thinks like your manager tears it apart

A year of notes and a wage survey become a raise request with a number, and a reusable critic agent, built from what you know about the person who decides, attacks it before your manager can. A month later the same critic takes on a rent increase.

What the agent made

Ran it for real with Claude Code 2.1.294 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 critic and the case

SAVED OUTPUT · raise-request.md
# Raise request: Sam Okafor, dispatch coordinator

To: Pat | From: Sam Okafor | Date: October 8, 2026

Pat, I am sending this in writing before the October 30 deadline so nothing in our meeting is a surprise.

## The ask

A base salary of **$55,200 a year**, up from **$48,500** ($6,700, about 13.8 percent). The owner said budgets are "tight until the holiday season," so I am asking for it **to start after the holiday season**, not now. Nothing changes in this year's tight period.

## Why: the on-time rate

- January 12: I started tracking late deliveries by route. December's late rate was **14 percent**.
- March 3: I rebuilt the route sheet so drivers stop doubling back on the east loop.
- June 30: June's late rate was **6 percent**. September's was **5 percent**.

What I can and cannot prove: the late rate fell from 14 to 5 percent, but December is a single month and I cannot show how much of the drop came from the route sheet versus other causes. I have tracked by route since January 12, and I will send you the route-level breakdown in writing before the meeting so you can judge it yourself. The "about 9 hours a week" saving is the drivers' estimate, not a measurement, and I cannot put a dollar figure on it.

[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 critic and the case · A month later, the same critic on a rent increase.

Make your own

  1. Get the files

    Download the practice folder (ZIP)

    Unzip it: you get a folder called cli-practice with 3 fictional files. Download a dispatch coordinator's year of notes, a fictional regional wage survey, and notes on how their manager decides. 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. It holds my notes on what I did this year, a fictional wage survey, and my notes on my manager, Pat. Do not use the network, install anything, read outside this folder, or edit those files. Do not write any file outside this folder, including /tmp. Do not ask me to reply. Do not use em dashes or en dashes.
    First build a critic I can reuse before any big ask. Write the same file, byte for byte, to .claude/agents/critic.md and .omp/agents/critic.md. Frontmatter: name: critic, and a description saying to use it to pressure-test any request before it goes to the person who decides. Instructions in the body: the caller names the request file, the facts files, and the person who decides. Read only those files. Take the side of the person who decides, using only what the files say about them. Write the objections to a file named objections-<the request file's name>, numbered, at most 6, each with the exact fact it rests on (quoted), the question the decider would ask, and what answer would settle it. No encouragement, no softening, nothing invented. End with the single objection most likely to sink the request.
    Then write raise-request.md: a one page written request to Pat, with a specific yearly number and why that number, using only facts from my notes and the survey, with dates and numbers quoted. It must fit how Pat decides, as my notes describe it.
    Then use the critic agent on raise-request.md with my three notes files as the facts and Pat as the decider. Do not write the objections file yourself; the critic writes it. Read its objections and revise raise-request.md so each one is answered or honestly conceded. Add a short section at the end listing each objection and where the revised request answers it.

    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/raise-request.md in any text editor, then:

    Human check: Confirm objections-raise-request.md exists and was written by the critic (its objections each quote a line from the notes), and that the final raise-request.md names one yearly number, answers the "surveys don't know our margins" and tight-budget objections with facts from the notes, and is in Pat's hands before October 30. Claude Code loads agent files only when a session starts, so in this first session it ran the critic's instructions through a general subagent; from the next session on it calls the critic by name.

    When we checked the recording above: Critic file identical in .claude/agents and .omp/agents (cmp). New agents load at session start, so this session ran the critic instructions through a general subagent, which wrote objections-raise-request.md: six objections, each quoting manager-notes.txt or wins.txt. Final request asks for 55,200 with a start after the holiday season, uses the survey only as a floor against Pat's margins line, and concedes delegation and the unmeasured 9 hours.

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 month later, the same critic on a rent increase

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

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

My landlord wants to raise my rent. The letter is rent-letter.txt and my notes are rent-notes.txt. Do not use the network, install anything, read outside this folder, or edit those files. Do not write any file outside this folder, including /tmp. Do not ask me to reply. Do not use em dashes or en dashes.
Write rent-reply.md, a short reply to the landlord that makes a counteroffer from my notes. Before you finish, put it through my critic with the landlord as the decider, then revise it so each objection is answered or honestly conceded.
SAVED OUTPUT · rent-reply.md
To: Harbor Row Apartments
Re: Lease renewal, [Unit number]

Thank you for your letter of October 5, 2026. I would like to stay and renew, and I am replying ahead of your November 1 deadline. I am asking you to reconsider the proposed rent of $1,540 a month, an increase of $145 (about 10.4%) over my current $1,395.

**My counteroffer**

1. A 12-month lease at $1,425 a month (an increase of $30, about 2.2%), or
2. An 18-month lease at $1,450 a month (an increase of $55, about 3.9%), running through June 30, 2028.

I understand option 1 is $1,380 less over the year than your proposal. The 18-month option is meant to offset that: it gives you a longer committed term at a higher rate and moves my renewal out of the winter season.

**Why I think this is reasonable**

- **Market.** A comparable one-bedroom two streets over is listed at $1,450. I recognize that is an asking price, not a signed lease, and I am glad to send you the listing. My point is that a 10.4% increase would put my rent well above what nearby units are advertised for.
- **Vacancy.** I have seen for-rent signs on two units in my building since August. I don't know their details, but it suggests the building is not filling units quickly at current asking rents.
- **Turnover.** I don't have your figures for vacancy, cleaning, and leasing costs, and you know them better than I do. I would only ask you to weigh them against the difference between our numbers.
- **History.** I have been a tenant for 4 years and have never paid late, which your records will confirm.
[trimmed]

Human check: Nothing about how the critic works was re-explained. Confirm objections-rent-reply.md exists, was written by the critic from the landlord's side with quoted facts, and that the reply makes a counteroffer from the notes, goes out before November 1, and answers the objection the critic called most likely to sink it.

When we checked the recording: Fresh session, critic not re-explained. objections-rent-reply.md written from the landlord side; top objection is 1,425 sitting below the 1,450 comparable. Reply offers 1,425 for 12 months or 1,450 for 18, replies before November 1, concedes the comparable is an asking price, keeps the dishwasher separate. One placeholder for the unit number, which the notes do not give.

Do it for real

Write down your own wins with dates as they happen, find a public wage survey for your role and region, and write what you know about how your manager decides. Build the critic once, then run every big ask through it, whether it is a raise, a rent renewal, a refund, or a schedule change. Read every fact in the request against your own records before you send it.

Why an agent, not a chat window

A subagent is a second agent with its own fresh context and its own instructions. The critic never sees your drafting, only the facts and the ask, so it reads the request the way the person deciding will. It is saved as a file both Claude Code and OMP load, so any future ask goes through it with one sentence.