# Spend Review

Find subscriptions and campaigns worth reviewing, with calculations you can check.

Category inspiration: The Budget Watchdogs, from the supplied @unicodef1wn chart.
Cabinet treatment: New crew focused on documented costs.
Version: 0.1 · October 6, 2026.
Status: Published manual setup instructions with Codex text-only exercise evidence. Native imports, tools, and Bot-to-Bot handoffs remain untested.

Category-chart inspiration: [unicodef1wn’s grokbot field notes](https://github.com/unicodef1wn/grokbot-field-notes). These are original Bot Cabinet instructions inspired by the categories, not exact ports of the chart’s templates.

## Bots and jobs

| Bot | Treatment | Job |
|---|---|---|
| [Subscription Review](../specialists/subscription-review.md) | Published manual role | Compare paid capacity, usage, and renewal terms. |
| [Ad Spend Review](../specialists/ad-spend-review.md) | Published manual role | Check campaign costs against their recorded results. |
| [Researcher](https://botcabinet.com/bots/researcher/) | Existing Cabinet Bot | Verify supplied pricing and cancellation terms. |
| [Chief of Staff](https://botcabinet.com/bots/chief-of-staff/) | Existing Cabinet Bot | Put the decision requests in front of the responsible owners. |

A negotiation draft can be a Writer task after the owner chooses an offer. App-store ads are a channel-specific Ad Spend Review task, not an extra Bot by default. This crew does not receive payment credentials.

## When a crew helps

Subscriptions and ads have different records and definitions. A combined review helps an owner compare decisions, while one invoice can stay with Subscription Review alone.

## Bring these inputs

Redacted invoices and contracts, dated usage exports, campaign exports and result definitions, budgets, owners, and renewal dates.

## Set up and run

1. Select only the roles this job needs. Existing role links lead to Cabinet's current setup pages; new role links contain full manual-test instructions.
2. Put each selected role in its own conversation or Bot. Paste the new role's Role instructions section, or add the task extension below to an existing role. These files are not native import archives or add-to-app links.
3. Start with the fictional first task below. Supply the same approved source records to each role that needs them. A copied handoff alone is not evidence for a factual claim.
4. Pass reviewed results in the order below. If your app lacks Bot-to-Bot handoff, copy the small handoff yourself. Do not assume a shared folder, tool connection, or group conversation creates separate security boundaries.
5. Record each actual answer and failed attempt. Review before connecting real accounts or adding a schedule. Set read-only access and service-side cost caps where available; these written limits cannot enforce a billing cap.

## Who passes what to whom

1. Subscription Review identifies renewal questions and conditional savings.
2. Ad Spend Review checks arithmetic and reports zero or missing results separately.
3. Researcher verifies the terms behind any recommended change.
4. Chief of Staff assigns questions to owners; people choose account or spending changes.

Use this handoff:

- Task and current version:
- Approved source records:
- Result and its status: draft, checked, or approved:
- Unresolved questions:
- Next owner and action:
- External action awaiting specific approval:

If a role cannot finish, it returns the missing input or failed attempt. The next role must not manufacture a success record.

## Task extensions for existing Bots

### Researcher

Keep the existing Bot's role and boundaries. For this crew: Verify supplied pricing and cancellation terms. Check a defined question against the original approved records. Return evidence, source references, and gaps. Label supplied snapshots separately from current live research. Use only the input assigned to you for this task. Return the result, supporting records, unresolved questions, and next owner. A handoff does not approve an external action.

### Chief of Staff

Keep the existing Bot's role and boundaries. For this crew: Put the decision requests in front of the responsible owners. Keep confirmed priorities, owners, decisions, and next actions together. Do not promote a suggestion into an approval. Use only the input assigned to you for this task. Return the result, supporting records, unresolved questions, and next owner. A handoff does not approve an external action.

## First task

Fictional records: ten software seats at $12 monthly, six active in the last 30 days, changes allowed only at renewal. Ad A spends $120 for six demos; B spends $50 for zero; C spends $75 with demo count missing. Prepare the owner's review.

## Check the result

- Shows up to $48 gross monthly seat savings at renewal, subject to confirmation.
- Computes A at $20 per demo and separates zero from missing results.
- Does not promise realized savings or treat ad spend as wasted solely from this sample.
- Cancels nothing and changes no account, bid, or budget.

Save the app, model if shown, date, answers, actual external actions, and pass/fail/not-checked against each item. A written checklist or a favorable review does not prove a runtime pass.

## Limits for this sample

Three invoices and three supplied campaign records in the sample. No payments, cancellations, negotiation messages, or live campaign changes.

Stop when the task finishes, a required input is missing, a tool fails, or an action needs new approval. No automatic retries. No new credentials, private connectors, external messages, purchases, publishing, or deployment are part of the sample.

## Finished output

A dated cost review with calculations, renewal questions, and owners.



## Exercise evidence

The [collection record](../specialists/collection.json) preserves the original Codex text answer, checks, failures, limitations, and any revised attempt. These records are instruction exercises, not native-app validation. Proposed operational tests remain unrun where the record says so.
