Retention and proof
Know how every client is doing.
An agency owner's view of the whole book. It checks your permissions file first, then reads each client's profile, goals log and latest reports, and builds one confidential board: a row per client with status, headline number, trend, risk level and renewal date, then a renewal radar, a risk roster and the clients beating their targets. Nothing is written inside any client's folder, and no client is contacted.
- Owner only, checked first
- Writes nothing in client folders
- No client is contacted
At a glance
- Group
- Retention and proof
- Command
- /portfolio-watch
- Uses
- Client profiles, goals and reports
- Writes
- A confidential board, firm rows
- Sends
- Nothing. Drafts only.
01When to use it
For a regular look across all clients.
- Weekly or monthly, when you want one view of the book: who is healthy, who is slipping, and what renews soon.
- Before a leadership review, a board update or a capacity planning session that needs numbers for the whole firm.
- After a rough stretch across several accounts, to see which clients now carry the most risk.
Not for
- Work inside one client's folder, such as a brief or a health check. Use /client
- A solo or team setup, which has no client book. Watch your own accounts here. Use /churn-watch
- The health of your own sales pipeline. Use /pipeline-review
02What it needs
Owner permission comes first.
- Your permissions file. It has to show that the person asking holds the owner role, with access to all clients.
- An agency setup. A solo or team setup has no book of clients to roll up, so it names churn-watch or pipeline-review and stops.
- From each client folder: the profile (status, plan, value, renewal date and the lead on your side), the goals log, and the most recent reports, above all that client's latest churn-watch report.
- The previous board, if there is one, so the new board can lead with what moved.
- Your config and rules files, for firm context, the escalation contact and where each file belongs.
03What it writes
An owner-only board, and firm totals in shared files.
- Operations/reviews/{date}-portfolio.md
- The board, marked confidential and owner-only. A re-run opens with what changed since the last one. Then come the three firm numbers, one table with a row per client, the renewal radar, the risk roster and the opportunities.
- Memory/kpi-ledger.md
- Three new rows for the firm: active clients, the value held by clients at medium or high risk, and the recurring value across active clients. Their notes hold firm totals only, since this file loads in every session, including those of teammates who see a single client.
- Daily/YYYY-MM-DD.md
- A single line saying the watch ran, with the three firm numbers and how many clients sit at high risk.
04Limits
What it never does.
- Run for anyone but the owner. A member or contractor gets a one-line refusal, nothing is written for them, and the attempt goes to the audit log.
- Write anything inside a client's folder, or let one client's figures, signals or notes into another client's row.
- Contact a client, send or post anything, change a renewal, or act on an account.
- Fill in a missing value to round out a total. That client is left out of the sum, and the gap is noted.
- Edit, reorder or reformat an earlier ledger row, or put a firm number into a client's goals log.
What stays with you.
- Every renewal nudge, client email and account change that follows from the board. A person runs each play.
- Deciding who holds the owner role in the permissions file. A spoken request never stands in for it.
05Sample output
Three rows from a client board.
Part of the board for a made-up agency with three made-up clients. A real row also ends with a one-line note, and its status, trend and risk flag each cite the file and date behind them.
| Client | Status | Headline metric and trend | Renewal | Risk |
|---|---|---|---|---|
| Example Florist | Active | Online orders, up | 2027-01-15 | Low |
| Example Dental | Active | Booked consults, down | 2026-11-03 | High |
| Example Roofing | Active | Quote requests, stale | 2026-12-10 | Medium |
- Example Florist Low
- StatusActive
- Headline metric and trendOnline orders, up
- Renewal2027-01-15
- Example Dental High
- StatusActive
- Headline metric and trendBooked consults, down
- Renewal2026-11-03
- Example Roofing Medium
- StatusActive
- Headline metric and trendQuote requests, stale
- Renewal2026-12-10
Further down the board
- Permission check: run by the agency's owner (owner role, all clients), as _system/permissions.md sets out.
- Renewal radar, next 90 days: Example Dental on 2026-11-03, flagged for weak numbers going in, then Example Roofing on 2026-12-10.
- Risk roster: Example Dental is high, taken from its churn-watch report of 2026-09-22. Example Roofing is medium, inferred from a stale goals row.
- Opportunity: Example Florist is beating its target, a candidate for a case study.
06Related skills
Often run beside it.
-
/churn-watchSpot accounts at risk of leaving Retention and proof -
/clientKeep each client in its own folder Core modules /teamChoose which clients each teammate's Claude loads Core modules-
/case-studyTurn a measured win into a case study Retention and proof
07Questions
Before you run it.
Can someone on my team run it?
Only the owner. It reads the permissions file before anything else, and a member or contractor gets a one-line refusal. Nothing is written for them, and the attempt is logged in the audit folder.
Could one client's details end up with another?
It keeps them apart. Each row holds that client's own data, the board sits in firm space marked confidential, and nothing is written inside a client folder. The firm ledger rows carry totals alone, because that file is read in every session.
Where does each risk level come from?
From the client's latest churn-watch report, when a recent one exists. Without it, risk is read from the goals log, such as missed targets or numbers that fell or went stale, and those signals are marked inferred so they never pass as confirmed.
How does it read many clients without mixing them?
Each client is read on its own, either by a helper that sees only that client's folder or by the main run itself. The owner's run merges the rows into the board, and the board records, for every client, which of the two did the reading.
Have us build it
We can build it for you.
Start with the free plan. A person names the first fix.



