# Compounding Offer Audit: score an offer on six tests, find its weakest point, change one thing

> Score each thing you sell from 0 to 3 on six tests: recurring, productized, systemized, owned demand, compounding, and whether growing it would make the owner's week better. Every score needs a checkable fact and its source, or the word unknown and the fact you are missing; no 3 on the owner's say-so, and no total. The audit names the weakest test, treats a low life score as a veto on growth, and proposes one change with a success test and a date. Every change waits for the owner's yes. Fifteen read-only checks run on the folder.

- URL: https://paperchasewebb.ai/bots/marketplace/items/compounding-offer-audit-score-an-offer-on-six-tests/
- Type: Prompt pack
- Category: Solo business
- By: PaperChaseWebb
- Works with: Claude Code, Codex, Grok Bot, Hermes (named in the listing); A skill file for Claude Code, Codex and Hermes, an AGENTS.md snippet and a Grok Bot rules block; the scripts were tested on Linux with Python 3.13, the agent files were not loaded inside each harness and the audit was not run on a real business
- Price: $19 USD
- Difficulty: Intermediate
- Setup time: 1 hr
- Time to result: A first audit of one offer in an afternoon, with invoices and calendar open
- Format: Markdown (.md) file, compounding-offer-audit-score-an-offer-on-six-tests.md
- Version: 1.0, updated 2026-10-29
- License: Use for your own business and for audits you run for clients. Do not resell or republish the pack itself.

## What you end up with

For every offer you sell, you know its weakest test, the fact behind each score, and the one change to make next; and no change starts without the owner's yes.

## What you get

- 21 sections in one .md file, with a one-line unpack
- The six tests with a written 0 to 3 scale for each, and the rules: a fact and source per score, unknown instead of a guess, no 3 on say-so, no totals, life as a veto
- What to do about each kind of low score, as one change with a success test and a date, and a one-page worksheet
- The audit folder: audit.json, offers, scores, actions, approvals and done, with blank templates
- offer.py: gate (exit 0, 11, 12), a one-page audit.md, owner approval tied to a sha256, verify and one use per yes
- offer_check.py: fifteen read-only checks, with a seeded test audit (15 findings, then 0) and the unit tests
- A skill file for Claude Code, Codex and Hermes, an AGENTS.md snippet and a Grok Bot rules block
- Ten prompts, a failure table, a worked example on a made-up studio, and a look at other offer audits with sources

## Who it is for

Owners who sell two or more things and want to know which one to fix first, and what to change, from facts rather than a feel-good total.

## Tools needed

- Grok Bot, Claude Code, Codex or Hermes: the audit helper; it reads the skill file, AGENTS.md snippet or rules block, scores each offer from your records with a fact and source per test, lists the unknowns, proposes one change on the weakest test and writes the one-page audit
- Python 3: runs offer.py (init, hash, gate, report, owner approval, verify, done) and the fifteen-check checker; standard library only, no network
- The owner: ratifies the rules and says yes to every change at their own terminal, tied to a sha256; approvals are refused inside agents and on piped input
- You need: Any of Grok Bot, Claude Code, Codex or Hermes, or a pen for the worksheet
- You need: Python 3.9 or newer
- You need: Your invoices, calendar and any written procedures
- You need: One owner who approves changes at their own terminal

Cost to run: The pack is the only purchase. The scripts use no model tokens; scoring with an agent uses its usual tokens.

## How it works

1. **Run the tests.** Unpack the pack with the one-line command in section 8 and run sh test_all.sh. Expected: 15 findings on the seeded audit and 0 on the fixed one, 15 of 15 single faults caught alone, checker tests 50 passed, offer.py tests 37 passed, exit 2 on a missing folder.
2. **Fill the worksheet.** Pick one offer and fill the worksheet in section 7 with your invoices and calendar open. Do not add up the column. Expected: Six scores, each with a fact and a source or a named missing fact, and the weakest test circled.
3. **Set up the folder.** Run offer.py init, fill audit.json and offers.csv, then use prompts 2 to 4 to score each active offer and propose one change on its weakest test. Expected: The checker shows 0 findings apart from O15 before ratification.
4. **Get the yes.** The owner ratifies the rules and approves each change at their own terminal. Run offer.py report and read audit.md together. Expected: A one-page audit with six scores per offer, no total, the weakest test named, and every change tied to the owner's yes.

## Sample prompt: Score one offer (Grok Bot, Claude Code, Codex, Hermes)

```
Score offer o1 as audit A1 on all six tests using only my invoices folder, my calendar export and our written procedures. One sentence of evidence per test, with its source. Write unknown where you do not have the fact, and name the fact. No 3 on anything I only told you.
```

Prompt 2 of 10.

## Sample prompt: Weakest and one change (Grok Bot, Claude Code, Codex, Hermes)

```
For each active offer, tell me the weakest test and propose one change for it in actions.csv, with a success test I can check and a due date inside the window. If life is low, the change is about life.
```

Prompt 4 of 10.

## Sample prompt: Retainer wrap (Grok Bot, Claude Code, Codex, Hermes)

```
Draft a follow-on plan for offer o1's buyers, offered at handoff: what it covers each month, what it does not, and how a client cancels. No lock-in, no annual auto-renewal, no exit fee. Draft only; I will decide whether to offer it.
```

Prompt 5 of 10.

## Free preview of compounding-offer-audit-score-an-offer-on-six-tests.md

````markdown
# Compounding Offer Audit: score an offer on six tests, find its weakest point, change one thing

Version 1.0, 2026-10-29. By PaperChaseWebb. A scoring audit for the things you sell. Each offer gets six scores from 0 to 3: how recurring it is, how productized, how systemized, how much of its demand you own, whether each sale makes the next one easier, and whether growing it would make the owner's week better or worse. Every score carries a fact and where the fact came from, or the word unknown and the fact you are missing. There is no total. The audit names the weakest test and the one change to make next, and the owner says yes to that change before anything moves. Plain files, a script that gates what an agent may do and writes a one-page audit, a read-only checker with fifteen checks, a worksheet, templates, a seeded test set, ten prompts and the tests, all Python 3 standard library. Works with Claude Code, Codex and Hermes through a skill file and an AGENTS.md snippet, and with Grok Bot through a rules block. Tested as described in section 13: everything ran on Linux with Python 3.13, including owner approvals typed at a pseudo-terminal. The skill file, snippet and rules block were not loaded inside the harnesses for this release, and the audit has not been run on a real business. Each is marked where it matters.

Most offer audits you can download end in a single number. Add up ten categories, get 71 out of 100, feel fine. The trouble is that a strong price page can hide
````

## Test record

- Date: Oct 29, 2026
- What was run: offer_check.py on a seeded audit and a fixed copy, each planted fault alone, a missing input, and the unit tests. Linux, Python 3.13.
- Result: 15 findings on the seeded audit, 0 on the fixed one; 15 of 15 planted faults caught alone; exit 2 on missing input; nothing written. 50 checker and 37 offer.py tests passed, 0 failed.
- Not run: A real business; the fixture businesses are made up. The agent files inside Claude Code, Codex, Hermes or Grok Bot. Windows and macOS.

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

## Worth knowing

- The audit has not been run on a real business; Fennick Studio, Marlow Tidy Books, their people and every fact about them are made up.
- The pack makes no claim that a higher score means more revenue, or that any change will earn a particular amount. It does not set prices or forecast income.
- The skill file, AGENTS.md snippet and Grok Bot rules block were not loaded inside Claude Code, Codex, Hermes or Grok Bot. Linux only; Windows and macOS were not tested. The scripts open no network connection.
- The approval step refuses piped input and the environment variables Claude Code, Codex, Hermes and Grok Bot set. That stops an agent approving its own change; it is not a lock against someone with the same account.
- On 2026-10-29, on Linux with Python 3.13: offer_check.py gave 15 findings on the seeded audit (each check once) and 0 on the fixed one, caught 15 of 15 single faults with only its own check, wrote nothing, and exited 2 on a missing folder, missing scores.csv or broken audit.json; checker tests 50 passed, 0 failed; offer.py tests at a pseudo-terminal 37 passed, 0 failed.

## Questions

**Why no total score?** A total lets a strong price page hide an offer only the owner can deliver. The audit keeps six scores side by side and names the weakest one, which is where the next change goes.

**What if I do not know a score?** Write unknown and name the missing fact. Finding it becomes the first change. A guessed score is worse than an honest unknown.

**How is this different from Workflow, Not Wrapper?** Workflow, Not Wrapper helps you design what you sell, with the offer ladder and a one-table model check. This pack scores what you already sell, with evidence, and picks the next change. They link to each other rather than repeat.

**Will an agent change my prices or message my clients?** No. Contacting clients, changing live prices, posting, spending and signing are gated never: the agent drafts, the owner does those by hand.

## How to buy

$19 one time at https://paperchasewebb.ai/bots/marketplace/items/compounding-offer-audit-score-an-offer-on-six-tests/. Stripe checkout, then an instant download page; the download link is also in your emailed receipt.

Seller: PaperChaseWebb Inc., mgmt@paperchasewebb.com
