unit-economics
Skill7 starsChanged 19 days agoMITView on GitHub
Run business math: unit economics, pricing, CAC, LTV, margins, break-even. Trigger on "run the numbers", "what's the unit economics", "calculate margins", "pricing model", "break-even", "revenue projection", "cost analysis", "CAC", "LTV", "how much would it cost to", "is this profitable", "what should I charge", or any variation. Also fires when evaluating whether a deal, hire, or investment makes financial sense.
22 other projects use a version of this.
Adopted by
Most recently taken up by
- itsryanarmani/skillstheir own version, first seen Nov 8, 2026
- pooriaarab/skillstheir own version, first seen Nov 7, 2026
- Nomanriaz786/claude-consulting-teamtheir own version, first seen Nov 1, 2026
- codebywater/WB-OZON-AI-TEAMtheir own version, first seen Oct 25, 2026
- MadalaVijay/marketing-skills-deeptheir own version, first seen Oct 13, 2026
- edu6565/claude-skillstheir own version, first seen Oct 11, 2026
Used with
Projects with it also use pricing-strategy and market-research.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
silvainfmSkillpricing-strategy
When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions 'pricing,' 'pricing tiers,' 'freemium,' 'free trial,' 'packaging,' 'price increase,' 'value metric,' 'Van Westendorp,' 'willingness to pay,' or 'monetization.' This skill covers pricing research, tier structure, and packaging strategy.
Also in 3 projects that use this
birne-skSkillmarket-research
Professional market research and competitive analysis using McKinsey/BCG/Bain consulting methodologies. Use when analyzing markets, competitive landscapes, customer insights, or strategic positioning. Generates hypothesis-driven research with PPTX presentation deliverables.
Also in 3 projects that use this
Other versions22 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 22
- anthropics/financial-services★ 41ksame name
- anthropics/financial-services-plugins★ 41ksame name
- daloopa/investing★ 488same name
- chuhaiqu/skills★ 22same name
- SanketSapkal/founder-skills★ 10same name
- alifanov/ai-garage-launch★ 2same name
- codebywater/WB-OZON-AI-TEAM★ 2same name
- Justinjchen-Cornell/Hardtech-Venture-Capital-OS★ 2same name
- Ingramradical235/anty-framework★ 1same name
- itsryanarmani/skills★ 1same name
12 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository100 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- notion-package/CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- add-handsSkill
- add-mouthSkill
- add-voiceSkill
- approval-gatesSkill
- auditSkill
- backupSkill
- blind-spot-reviewSkill
- bottleneck-diagnosticSkill
- brain-logSkill
- brain-passSkill
- brain-snapshotSkill
- brand-interviewSkill
- brand-voice-interviewSkill
- business-context-loaderSkill
- campaign-from-themeSkill
- capture-sweepSkill
- catch-upSkill
- client-updateSkill
- connectSkill
- content-repurposerSkill
- content-startSkill
- context-persistenceSkill
- cross-linkSkill
- data-securitySkill
- decision-frameworkSkill
- decisions-startSkill
- delivery-startSkill
- email-drafterSkill
- employee-reviewSkill
- finance-importSkill
- forcing-questionsSkill
- founder-coachingSkill
- founder-next-moveSkill
- founder-os-setupSkill
- founder-reviewSkill
- founder-scope-challengeSkill
- github-opsSkill
- handoff-protocolSkill
- hireSkill
- historySkill
- housekeepingSkill
- ingestSkill
- knowledge-captureSkill
- legal-complianceSkill
- linkedin-brand-directionSkill
- linkedin-network-scanSkill
- linkedin-postSkill
- linkedin-power-auditSkill
- linkedin-startSkill
- linkedin-warm-revivalSkill
- lintSkill
- list-prunerSkill
- log-archiveSkill
- log-replySkill
- meeting-prepSkill
- memory-passSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 5 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 16 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Before producing output, run:
- Distinctive: line 29
If the snapshot is missing, run:
- Very specific: line 48
null(not set): - ask one question ("how does the business make money?") and proceed with the closest set. - Distinctive: line 148
Always show your work
- Distinctive: line 149
Use the founder's own currency.
- Distinctive: line 154
If the user doesn't give enough numbers, ask.
“Common” is measured: kept by at least 6 in 10 of the 16 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Unit Economics Calculator
Runs on: local-exec when Python is present - the arithmetic runs through scripts/unit_math.py. On a surface without Python I reason and show every step, so any capable agent can still run this.
You help the founder run business math quickly and clearly. Show the numbers, explain what they mean, and flag what matters.
Identity preflight (soft)
Before producing output, run:
python scripts/check-identity-ready.pyIf exit code is 1, print the returned line as a one-line note above the result and continue. The math runs without identity set up, but the recommendation gets sharper once /founder-os:setup has filled in core/identity.md (the skill can then frame numbers against the founder's actual business model).
Brain context (default)
Before producing output, read brain/.snapshot.md. If it is missing, or its date: line is more than 3 days old, run python scripts/brain-snapshot.py --write first and read the fresh one - a stale snapshot read as current presents last week's flags and must-dos as today's, which is worse than no memory at all. If Python is unavailable, proceed without it and say so.
If the snapshot is missing, run:
python scripts/brain-snapshot.py --writeThen read it. If the snapshot script is also missing (older install), proceed using only the profile files. Do not block.
The snapshot tells you what flags are open, what the user is working on this week, and what the latest staleness state is. Apply this context to your output where it is relevant. Do not surface every snapshot field in every output - use judgment. For unit economics, recent decisions tell you which pricing or hiring choices are off the table, and open flags often signal a stalled commercial decision the math can unblock.
Lead with the business model's numbers
Read business_model from stack.json before framing anything. The Core Metrics below are universal, but which ones LEAD is decided by the model - a service founder asking "am I profitable" needs utilization and effective day rate first, not MRR. These mappings are textbook-stable, so branching on them is honest determinism:
service- lead with: utilization rate, effective hourly / day rate, delivery margin per engagement, capacity (how many engagements the team can hold before quality slips). Pricing conversations anchor on value and scope, not hours, but the floor is always cost-to-deliver.ecommerce- lead with: average order value (AOV), contribution margin per order (after product cost, shipping, packaging, payment fees, returns), blended CAC, inventory turns, and cash tied up in stock. A "profitable" product with two turns a year can still starve the business of cash - say so when the numbers show it.- Made in batches (food, baking, small-batch products): cost the batch, not the item. Cost per sellable unit = batch cost / units left after waste. Cost per box = that x units per box + packaging, then add per-order delivery, platform and payment fees. Whole boxes matter: units left over after the last full box either carry into the next batch or are wasted, and the cost per box is very different in the two cases, so show both. The founder's own time is an economic cost (hours x what an hour of their time is worth): show it as its own line and say it is not cash unless they pay themselves. Capacity per week (one oven, the hours they have) caps revenue before demand does, so show it.
saas_software- lead with: MRR, net and gross churn, CAC payback in months, LTV:CAC, and burn vs. months of runway. Growth claims mean nothing next to churn - check churn first.marketplace- lead with: GMV, take rate, net revenue (GMV x take rate), liquidity (fill rate / time-to-match), and CAC split by side. Name which side is the constraint before any spend recommendation.content_creator- lead with: audience reach per channel, revenue per thousand (RPM) or per sponsorship, conversion to owned audience (email), and income concentration (one platform or sponsor over half of revenue is a flag, not a win).regulated_deep_tech/other- lead with the domain-agnostic layer only: burn rate, runway, cost per experiment or milestone, and break-even at the accounting level. Then apply the domain-honesty rule below.null(not set) - ask one question ("how does the business make money?") and proceed with the closest set. Suggest capturing it: "say 'update my stack' and I will remember the model."
Domain-honesty rule (regulated_deep_tech and other)
The accounting-level math above is safe for any business - cash in, cash out, runway, margins. What is NOT safe is generating domain economics the OS cannot validate: clinical trial cost structures, regulatory approval timelines, lab yield assumptions, legal exposure pricing. For those, state plainly that this needs the operator's own domain expertise or their expert's numbers, ask for the inputs, and run the arithmetic on what they provide. Never fill a domain-specific assumption from general knowledge and present it as a planning number - a confident wrong assumption survives review precisely because it looks like the others.
Core Metrics
Revenue Math
- MRR: customers x average revenue per customer
- ARR: MRR x 12
- Revenue per employee: total revenue / headcount
- Output per worker: revenue generated per team member
Customer Economics
- CAC: (sales spend + marketing spend in a period) / new customers won in the same period. No customers won means CAC is undefined, not zero.
- Contribution per customer per month: revenue per customer per month - the variable cost to serve them (product or delivery cost, payment fees, support)
- LTV (contribution): contribution per customer per month x average customer lifetime in months. This is the LTV to compare with CAC.
- LTV (revenue): revenue per customer x lifetime. If you show it, label it as revenue, and do not compare it with CAC - it hides the cost of serving the customer.
- LTV:CAC ratio: contribution LTV / CAC (3:1 or better is a common rule of thumb)
- CAC payback: CAC / monthly contribution per customer (in months). If CAC is positive and monthly contribution is zero or negative, CAC is never paid back - say that instead of printing a number. If CAC is zero there is nothing to pay back, which is a different case: say so separately, and say how the customers were won.
Profitability
- Gross margin: (revenue - direct costs) / revenue x 100
- Net margin: (revenue - all costs) / revenue x 100
- Contribution per unit: price - variable cost per unit
- Break-even units: fixed costs / contribution per unit, rounded up. If contribution per unit is zero and fixed costs are positive, the fixed costs are never recovered: selling more neither helps nor hurts. If contribution is zero and there are no fixed costs, profit is already zero at any volume. If contribution is negative, every extra sale makes the loss bigger. Say which case it is.
Default alive (pre-profit ventures)
A separate test, not a unit metric. It needs five inputs: cash in the bank, monthly fixed costs, current monthly contribution, monthly growth rate of that contribution, and the months you are willing to plan for. The venture is default alive if, at current growth and costs, monthly contribution reaches monthly fixed costs before the cash runs out. A contribution that is shrinking is never default alive, even if it covers costs today: the calculator follows the decline to the month the cash runs out. If any input is missing, say the test cannot be run yet and ask for it - do not fill it from unit numbers.
Service Business Specific
- Utilization rate: billable hours / available hours
- Effective hourly rate: project revenue / hours spent
- Delivery margin: (engagement price - cost to deliver) / engagement price
Do the arithmetic with the calculator
When Python is available, run the numbers through scripts/unit_math.py instead of working them out in prose, and quote its output. A model doing arithmetic in a sentence is how a per-box cost ends up off by a few dirhams, and how a price for a 40 percent margin gets rounded down to one that gives 39.7 percent.
python scripts/unit_math.py --currency AED batch --batch-cost 30 --hours 1 --hourly 40 --units 12 --waste 1 --pack-size 6 --packaging 2 --price 60
python scripts/unit_math.py price --cost 44 --margin 40
python scripts/unit_math.py price --cost 44 --margin 40 --fee-percent 30
python scripts/unit_math.py breakeven --fixed 1200 --price 60 --variable 44
python scripts/unit_math.py cac --marketing 300 --customers 4
python scripts/unit_math.py payback --cac 75 --contribution 20 --lifetime 6
python scripts/unit_math.py runway --cash 5000 --fixed 1000 --contribution 400 --growth 10 --months 24When an input is missing it says so in a note, with the value it used (0 for a missing spend, waste or packaging, flat growth, a 24-month horizon), and it says what that leaves unknown. Nothing is filled in silently, so pass every input you have. It refuses an input that cannot be a real figure, such as a negative cost. Without Python, do the same steps by hand and show every one.
Pricing advice stays conditional
The costs give the lowest price that holds a margin. They do not give the price buyers will pay. Until the missing costs (delivery, platform and payment fees, waste, your time) and some evidence of what buyers pay are both in, say the price the costs need, label every other price as a test, and do not call a number a floor, a premium position or what the market will bear. Never say an unknown cost "fits in the buffer": an unknown is unknown. A fee taken as a percent of the price, such as a delivery app's commission, goes into the price with --fee-percent, and VAT goes on top if they are registered for it. A price you suggest testing is also a money test, so it waits until the founder knows they may take money for this activity where they sell.
Output Format
Quick Calculation
NUMBERS
---
[The calculation, step by step]
WHAT THIS MEANS
[One to three sentences]
WATCH OUT FOR
[Assumptions that could change the answer]Full Model
MODEL: [What you're modeling]
---
ASSUMPTIONS
[List every assumption with its value]
CALCULATIONS
[Step by step, show the math]
SCENARIOS
Conservative: [numbers]
Base case: [numbers]
Optimistic: [numbers]
BOTTOM LINE
[What the numbers are telling you]Where the input numbers came from
The math is only as honest as what goes in. Any number that did not come from your own records carries a tier tag per rules/research-integrity.md: [MEASURED: artifact + command], [SOURCED: url, retrieved date], or [ESTIMATE: assumption]. An industry benchmark or a "typical" conversion rate is the dangerous kind: it either carries a live source or it becomes an ESTIMATE with the assumption written out.
Show both operands and the result on the same line where you can, so anyone can re-run it. The error that hides best is a cost table where nine rows reconcile and the tenth is off by 11 percent - it reads as a careful document right up until the buyer checks it.
Second pass before the model leaves your machine:
python scripts/claims_check.py <the document>Rules
- Always show your work
- Use the founder's own currency. If none is given, ask once
- One currency and one period per calculation. If inputs mix currencies (AED and USD) or periods (monthly and yearly), convert explicitly with the rate or factor shown, or ask
- A missing input is labelled unknown, never filled in
- Round to reasonable precision. "$48K" not "$47,832.17"
- Flag assumptions explicitly
- If the user doesn't give enough numbers, ask. Don't guess.
- Outside numbers carry a tier tag per
rules/research-integrity.md - Simple hyphens (-) not em or en dashes
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

