# Retainer Scope Sheet: itemize what an agent monthly covers

> One sheet per client that says line by line what your monthly agent retainer covers: the desks it runs and how many runs each, included hours and what happens over the limit, response times with covered hours, what is not included, what needs the client's yes, the reports they get and how changes are asked for. A checker fails every vague line ("ongoing support", "as needed", "ASAP"), an overage with no rate, a desk that sends or books with no yes row, and checks your proposals, change requests and invoices against the sheet. You approve each sheet at your own terminal.

- URL: https://paperchasewebb.ai/bots/marketplace/items/retainer-scope-sheet-itemize-what-an-agent-monthly-covers/
- Type: Prompt pack
- Category: Solo business
- By: PaperChaseWebb
- Works with: Claude Code, Codex, Grok Bot, Hermes (named in the listing); Plain Markdown files, a small Python checker, and rules for AGENTS.md and CLAUDE.md, Claude Code and Codex notes, Hermes notes and a Grok Bot standing order. The agent files were checked by the checker on Linux; they were not loaded inside each agent for this release
- Price: $29 USD
- Difficulty: Intermediate
- Setup time: 30 min
- Time to result: The worked example in 5 minutes; a first sheet for one of your clients in about 30 minutes
- Format: Markdown (.md) file, retainer-scope-sheet-itemize-what-an-agent-monthly-covers.md
- Version: 1.0, updated 2026-11-01
- License: Use inside your own team or company, including for your clients. Do not resell or republish the kit itself.

## What you end up with

Each client has a sheet with a number, a unit or a place on every line, your proposal says nothing the sheet does not, change requests wait for a written yes, and every invoice line points back to the sheet.

## What you get

- 19 sections and an appendix in one .md file, with a one-line unpack for all 71 files
- The seven-part sheet: Desks covered, Hours and runs, Response times, Not included, Needs your yes, Reporting and Change requests, with fee, term and notice
- scope_check.py sheet: 18 checks, from vague words and desks with no monthly number to an overage with no rate or yes, response times with no time zone, fewer than three exclusions and a send or booking with no yes row
- scope_check.py check: 8 change request checks and 6 invoice checks against the sheet, such as a change billed before the client's written yes, overage with no recorded yes and fees at cost the sheet never names
- scope_check.py proposal: 11 checks on sales copy and quotes, such as a price that is not the sheet's fee, unlimited, 24/7, response times not on the sheet, guarantees and "no extra costs"
- scope_check.py fix: 8 checks so an agent can only add and make lines specific, never drop an exclusion, a yes row or a change step, or move your fee, limits, rates or response times
- Report and rules checks, and approve.py: it needs a real terminal and part of the sheet's hash, refuses agent sessions and piped input, and checks the client's sheet has not changed before the new one goes in
- An eval set with 14 made-up client cases, 3 proposals and 3 reports, rules and two skills for Grok Bot, Claude Code, Codex and Hermes, six prompts and templates
- The test harness: 102 unit tests and 307 planted faults you can repeat

## Who it is for

Agencies and freelancers who want every monthly retainer written line by line, checked for vague items, and matched against proposals, change requests and invoices, with a person approving every sheet.

## Tools needed

- Python 3.8 or newer: runs the sheet check, the change request, invoice, proposal, fix, report and rules checks, the eval set and the owner approval script; standard library only
- Grok Bot, Claude Code, Codex or Hermes: writes sheet and proposal fixes under the AGENTS.md rules or the Grok Bot standing order; never sends, bills or approves anything and never changes the owner's terms
- A folder per client: the scope sheet, change requests and invoices saved as files; the kit never logs in to billing, email or a CRM
- You need: Python 3.8 or newer
- You need: Your own terms: fee, included runs and hours, rates and response times
- You need: Change requests and invoices saved as files
- You need: Someone who approves each sheet and sends it to the client

Cost to run: The kit is the only purchase. Everything runs locally with Python; the checker reads files only, makes no network calls and logs in to nothing.

## How it works

1. **Unpack and test.** Save the kit as pack.md in an empty folder, run the unpack line from Appendix A, then sh test_all.sh. Expected: 71 files written; 102 tests OK; 307 of 307 planted faults caught; the eval set and rules check pass.
2. **Watch the flow.** Run sh example/run_example.sh and read it next to section 16. Expected: A made-up client's sheet with 21 findings, the agent's first fix caught with 3, the second fix clean, a proposal with 10 findings, a first-try report with 3 and a piped approval refused.
3. **Write one client's sheet.** Edit settings.json, copy templates/SCOPE-SHEET.md into a client folder and fill in your own terms, then run python3 desk/scope_check.py check on that folder. Expected: A list of every line that still needs a number, a unit or a place.
4. **Check, fix and approve.** Have your agent follow skills/scope-sheet-write and skills/proposal-check, run scope_check.py fix until 0 high, then approve the sheet at your terminal and send it to the client yourself. Expected: A sheet with 0 high findings and a proposal that matches it.

## Sample prompt: What the monthly covers (Grok Bot, Claude Code, Codex, Hermes)

```
Read AGENTS.md. Run scope_check.py check on clients/[name] and tell me in plain words what the monthly covers today and which lines a client could read two ways. Change nothing.
```

Prompt 1 of 6.

## Sample prompt: Write the sheet (Grok Bot, Claude Code, Codex, Hermes)

```
Follow skills/scope-sheet-write/SKILL.md for clients/[name] and write queue/fixes/SCOPE-SHEET.md. List every number you need from me instead of making one up.
```

Prompt 2 of 6.

## Sample prompt: Before invoices go out (Grok Bot, Claude Code, Codex, Hermes)

```
Run scope_check.py check on every client folder before invoices go out and list each V and Q code with the line it points to.
```

Prompt 5 of 6.

## Free preview of retainer-scope-sheet-itemize-what-an-agent-monthly-covers.md

````markdown
# Retainer Scope Sheet: itemize what an agent monthly covers

Version 1.0, 2026-11-01. By PaperChaseWebb. For agencies and freelancers who sell a monthly agent retainer (front desk, follow-up, booking, review replies, reporting) and want one sheet per client that says line by line what the monthly covers, how many runs and hours it includes, how fast you answer, what it does not cover, what needs the client's yes and how changes are asked for, with a checker that fails every vague line. Works with Grok Bot, Claude Code, Codex and Hermes. Python 3.8 or newer, standard library only, no API keys, no logins. The checker reads files and changes nothing; it opens no network connection. Tested with 102 unit tests and 307 planted faults on Linux with Python 3.13, 3.12, 3.11, 3.9 and 3.8. All agencies, clients, people and numbers in this kit are made up.

Clients ask what the monthly gets them before they sign, and again every time an invoice looks different. Agencies that list it, desk by desk with numbers, are easier to say yes to than "full coverage of your front desk".

Most retainer scopes are written once, in a hurry, from the proposal. "Ongoing support." "Follow-up as needed." "Response ASAP." Overage "billed". Nothing about texts that go out without the client seeing them. Then month two: the proposal said unlimited, the invoice has a line nobody agreed to, and a small change turned into ten hours of work.

An agent can write the sheet in a minute. It also writes "etc.", round
````

## Test record

- Date: Nov 1, 2026
- What was run: tests/test_lib.py (8), test_sheet.py (20), test_changes.py (16), test_proposal.py (10), test_fix.py (12), test_claims.py (9), test_modes.py (8), test_set.py (3), test_mini.py (4) and test_approve.py (12, on a real pseudo terminal); tests/mutate.py with 290 planted faults across sheets, change requests and invoices, proposals, bad fixes, reports and agent rules, plus 17 against scope_mini.py; scope_check.py set on the eval set; example/run_example.sh end to end; and the unpack line with test_all.sh. Linux, Python 3.13, 3.12, 3.11, 3.9 and 3.8.
- Result: 102 passed, 0 failed on all five versions; 307 of 307 planted faults caught and all clean baselines clean; the eval set matched 20 of 20; the example caught the bad sheet with 21 findings, the first-try fix with 3, the proposal with 10 and the first-try report with 3, and refused piped approval; the unpack line wrote every file and test_all.sh passed there.
- Not run: A live Grok Bot, Claude Code, Codex or Hermes session. Real billing, email or CRM tools. Whether the work was done well. Legal review. macOS or Windows.

Copied from this item's dated test notes. What was not run stays in.

## Worth knowing

- The agent rules were checked by the checker but not loaded inside a live Grok Bot, Claude Code, Codex or Hermes session for this release. The eval fixes were written by hand to the rules. Run scope_check.py set evals with your own agent's fixes before you rely on it.
- Not legal advice and not a contract. A sheet that passes says every line is specific and the files agree with it; it does not say the work was done well or that the terms are right for you.
- The kit reads files you save. It never logs in to billing, email or a CRM and cannot send, bill or post anything.
- The owner step assumes the agent cannot run approve.py at a terminal. Run it as a separate user; agent rules alone are not a hard boundary.
- All agencies, clients, people and numbers in the kit are made up. Tested on Linux only; macOS and Windows were not tested.
- On 2026-11-01 on Linux: 102 unit tests and 307 of 307 planted faults passed on Python 3.13, 3.12, 3.11, 3.9 and 3.8; the eval set matched 20 of 20; the unpack line wrote every file and test_all.sh passed in that folder.

## Questions

**How is this different from Compounding Offer Audit?** Compounding Offer Audit scores whether an offer is worth building. This kit is for after you sell a monthly: it writes down, line by line, what the monthly covers and checks your proposals, change requests and invoices against it.

**Does it set my prices?** No. The fee, included runs and hours, rates and response times are yours. The checker makes sure each one is written with a number and a unit, and the fix check stops an agent from changing them.

**Which agents does it work with?** Any agent that can read files and run a script. The kit has rules for AGENTS.md and CLAUDE.md, Claude Code and Codex notes, Hermes notes and a Grok Bot standing order. Those were checked by the checker, not loaded in each agent for this release.

**Can my agent mark a change request approved?** No. A change request counts as approved only with the client's written yes, name and date, and an invoice line against one that is not approved fails.

**Can you set it up for us?** Yes. Our Install sprint writes and checks a sheet for each of your clients and checks your proposals and invoices against them, or Managed Ops checks them for you each month. Book a call or write to mgmt@paperchasewebb.com.

## How to buy

$29 one time at https://paperchasewebb.ai/bots/marketplace/items/retainer-scope-sheet-itemize-what-an-agent-monthly-covers/. Stripe checkout, then an instant download page; the download link is also in your emailed receipt.

Seller: PaperChaseWebb Inc., mgmt@paperchasewebb.com
