acta:business
The business brain. Not a one-shot generator — a modeling partner you come back to. Every time you rethink
pricing, cost, or growth, it reads the current numbers, sanity-checks the change against unit economics and
best/base/worst scenarios, and records the decision. So your thousandth pricing tweak is still grounded, not a guess.
Shared: ${CLAUDE_PLUGIN_ROOT}/acta/principles.md. Reads docs/product/* (PRD, target users), docs/business/*, and the
cost-driving decisions — docs/operations/deployment.md, docs/architecture/overview.md (Tech Stack / Key
Decisions), docs/devops/cost.md if present, and the LLM/API choices in docs/llm/* — so the infra you already
chose flows into the economics instead of a made-up number.
Language
Generate content in the project's documentation language (registry language:, default English); talk to the user in the language they use. Money framework is global/general — not tied to any one market or currency.
What it maintains — docs/business/
business-model.md — how it makes money: model (subscription / usage / credits / one-time), the value metric, who pays, why.
pricing.md — tiers / packages / price points, with the value-based rationale (a general structure, not a locale-specific table).
unit-economics.md — LTV, CAC, gross margin, LTV:CAC, CAC-payback, and per-unit cost → margin for your core
action. Cost inputs come from the real infra decisions (hosting, DB, LLM/API per the deployment/architecture
docs) as fixed vs. per-unit lines — not invented; still unknown → ask / TBD.
projections.md — revenue/cost forecast under best / base / worst-case assumptions (each assumption named and testable).
go-to-market.md — channels, positioning, launch plan.
competitors.md — competitor scan (offer, price, gap) — research with the user, record findings.
Flow (intent-driven, iterative)
- Pick the intent — arg or ask:
establish (first time) · pricing · scenarios · unit-economics · competitors · go-to-market.
- Read the current state (
docs/business/* + product docs). Never start from scratch if docs exist.
- Model it with the user, not for them. For a pricing change: compute the impact — does the new price keep
gross margin positive? what happens to LTV:CAC and CAC-payback? Run it through best/base/worst
scenarios. Surface the numbers; let the user decide. Use the user's real costs/assumptions — never invent
market data or a margin; unknown input → ask, or leave
TBD.
- Persist: update the relevant
docs/business/* in place, and record a significant pricing/model change as a
short decision entry (an ADR under docs/architecture/adr/ if the project has ADRs, else a dated line in pricing.md).
- Wire the brain: refresh the
{{BUSINESS_LINKS}} ("Business & pricing") block in CLAUDE.md (marker-scoped) → business-model.md, pricing.md, unit-economics.md — and the docs index.
Rules
- Iterative, not one-shot. Re-running is normal; it reasons from the current numbers and keeps them honest.
- Never fabricate numbers. Compute from the user's inputs; unknown → ask /
TBD. Don't invent CAC, market size, or competitor prices — research them with the user.
- Global framework. Keep pricing/economics general; a specific market's tax/currency belongs to the user's own figures, not baked in.
- Anti-bloat: in-place, consolidated. Content in the project's documentation language. Operate by
${CLAUDE_PLUGIN_ROOT}/acta/principles.md.
- Sensitive by default —
docs/business/ is git-ignored by acta:build (see its gitignore block); it's your private strategy.
1---2name: business3description: Iteratively model pricing, unit economics (LTV/CAC/margin) and best/base/worst projections with real numbers → docs/business/. Not a one-shot generator. Trigger on /acta:business, "model pricing", "unit economics", "revenue projection".4---56# acta:business78The **business brain.** Not a one-shot generator — a **modeling partner you come back to.** Every time you rethink9pricing, cost, or growth, it reads the current numbers, **sanity-checks the change against unit economics and10best/base/worst scenarios**, and records the decision. So your thousandth pricing tweak is still grounded, not a guess.1112Shared: `${CLAUDE_PLUGIN_ROOT}/acta/principles.md`. Reads `docs/product/*` (PRD, target users), `docs/business/*`, **and the13cost-driving decisions** — `docs/operations/deployment.md`, `docs/architecture/overview.md` (Tech Stack / Key14Decisions), `docs/devops/cost.md` if present, and the LLM/API choices in `docs/llm/*` — so the infra you already15chose flows into the economics instead of a made-up number.1617## Language18Generate content in the project's documentation language (registry `language:`, default English); talk to the user in the language they use. Money framework is **global/general** — not tied to any one market or currency.1920## What it maintains — `docs/business/`21- `business-model.md` — how it makes money: model (subscription / usage / credits / one-time), the **value metric**, who pays, why.22- `pricing.md` — tiers / packages / price points, with the **value-based rationale** (a general structure, not a locale-specific table).23- `unit-economics.md` — LTV, CAC, gross margin, LTV:CAC, CAC-payback, and **per-unit cost → margin** for your core24 action. **Cost inputs come from the real infra decisions** (hosting, DB, LLM/API per the deployment/architecture25 docs) as fixed vs. per-unit lines — not invented; still unknown → ask / `TBD`.26- `projections.md` — revenue/cost forecast under **best / base / worst-case** assumptions (each assumption named and testable).27- `go-to-market.md` — channels, positioning, launch plan.28- `competitors.md` — competitor scan (offer, price, gap) — research with the user, record findings.2930## Flow (intent-driven, iterative)311. Pick the intent — arg or ask: `establish` (first time) · `pricing` · `scenarios` · `unit-economics` · `competitors` · `go-to-market`.322. **Read the current state** (`docs/business/*` + product docs). Never start from scratch if docs exist.333. **Model it *with* the user, not for them.** For a pricing change: compute the impact — does the new price keep34 **gross margin positive**? what happens to **LTV:CAC** and **CAC-payback**? Run it through **best/base/worst**35 scenarios. Surface the numbers; let the user decide. Use the user's real costs/assumptions — **never invent36 market data or a margin**; unknown input → ask, or leave `TBD`.374. **Persist**: update the relevant `docs/business/*` in place, and record a significant pricing/model change as a38 short decision entry (an ADR under `docs/architecture/adr/` if the project has ADRs, else a dated line in `pricing.md`).395. **Wire the brain**: refresh the **`{{BUSINESS_LINKS}}`** ("Business & pricing") block in `CLAUDE.md` (marker-scoped) → `business-model.md`, `pricing.md`, `unit-economics.md` — and the docs index.4041## Rules42- **Iterative, not one-shot.** Re-running is normal; it reasons from the current numbers and keeps them honest.43- **Never fabricate numbers.** Compute from the user's inputs; unknown → ask / `TBD`. Don't invent CAC, market size, or competitor prices — research them *with* the user.44- **Global framework.** Keep pricing/economics general; a specific market's tax/currency belongs to the user's own figures, not baked in.45- Anti-bloat: in-place, consolidated. Content in the project's documentation language. Operate by `${CLAUDE_PLUGIN_ROOT}/acta/principles.md`.46- Sensitive by default — `docs/business/` is git-ignored by `acta:build` (see its gitignore block); it's your private strategy.