Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add NachoLafuente/5050-gtm --skill cohort-analysisgit clone --depth 1 https://github.com/NachoLafuente/5050-gtmWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/nacholafuente/5050-gtm/cohort-analysis)<a href="https://agentmods.dev/skills/nacholafuente/5050-gtm/cohort-analysis"><img src="https://agentmods.dev/badge/skills/nacholafuente/5050-gtm/cohort-analysis/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/nacholafuente/5050-gtm/cohort-analysis"><img src="https://agentmods.dev/badge/skills/nacholafuente/5050-gtm/cohort-analysis.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00110 | $0.02281 |
| Opus 5 | $0.00055 | $0.01141 |
| Sonnet 5 | $0.00022 | $0.00456 |
| Haiku 4.5 | $0.00011 | $0.00228 |
Grade A, and why
cohort-analysis scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 168 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Cohort Analysis
Builds the full SaaS cohort suite from a CRM + money source: 11 sub-tables across 3 sections (Customer Churn, MRR Churn, CAC Payback) in a single Excel workbook with green→red conditional formatting, plus per-section CSVs for SQL/raw consumption.
Step 1: Ask the user 3 questions (5 if they want CAC payback)
Ask in order. Don't skip. Don't pick defaults silently.
-
Where do your clients live? (CRM source)
attio, Attio Persons or Companies,created_atis the cohort keystripe, Stripe Customers themselves (no separate CRM)csv, paste a path to a CSV with columnscustomer_id,email,signup_date
-
Where's the money? (revenue source)
stripe, Stripe Invoices (paid)attio, currency attribute on a CRM record (requires extra info, see Step 1b)csv, path to CSV with columnscustomer_id(oremail),event_date,amount
-
Want CAC payback analysis? (optional)
yes, they paste a path to acohort,cac_amountCSV. Section 3 of the workbook will show cumulative gross profit vs CAC and flag the lifetime month each cohort breaks even.no / skip, workbook will only include the first two sections.
-
Gross margin? (only if they said yes to #3)
- Default is
0.8(80%). Most SaaS companies are 70-85%.
- Default is
-
Output format?
all(default, xlsx workbook + per-section CSVs)xlsx, workbook onlycsv, per-section CSVs onlysql, also dump SQL DDL+insertsevidence, also bootstrap a DuckDB+Evidence project
Step 1b: Attio money source disclaimer (IMPORTANT)
If they picked Attio for money, STOP and show this verbatim before going further:
⚠️ Heads up, Attio doesn't store revenue history natively. It only holds current attribute values, so we have to reconstruct the timeline from date attributes on each customer record. To do that I need three attribute slugs:
- Amount per period: the recurring amount (e.g.
mrr,arr,subscription_amount,monthly_value)- Date paid / first invoice: when they started paying (e.g.
date_paid,subscription_start,first_invoice_date)- Date churned: optional. When they stopped paying. Leave blank and we'll assume they're still active today.
Each customer becomes one event per month between date-paid and date-churned at the amount you give. This works for steady-state subscriptions but won't capture mid-cycle upgrades, downgrades, partial refunds, or one-off charges. For real revenue accuracy, point me at Stripe instead, or export your billing data to CSV.
What are the three Attio attribute slugs? (paste them as
amount=mrr date_paid=date_paid date_churned=date_churned)
What ships with it
12 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- cohort.py 8.6 KB runs code
- examples/cacs.csv 139 B
- examples/customers.csv 53 KB
- examples/README.md 1.4 KB
- examples/revenue.csv 137 KB
- output.py 8.3 KB runs code
- pullers/__init__.py 99 B runs code
- pullers/attio.py 4.5 KB runs code
- pullers/csv_source.py 1.9 KB runs code
- pullers/stripe_source.py 1.4 KB runs code
- run.py 6.2 KB runs code
- xlsx_writer.py 13 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 168 lines · 110 tokens per session scan A 209cf1a2a09a
cohort-analysis is a skill published in the GitHub repository NachoLafuente/5050-gtm (3 stars, last pushed 2mo ago), licensed MIT. It adds 110 tokens to every session and 2,281 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
xlsx
Create, edit, analyze, or convert Excel spreadsheets (.xlsx, .xlsm, .xltx) where the workbook file is the primary deliverable. Use for formulas, formatting, financial models, multi-sheet workbooks, and tabular cleanup exported to Excel. Also applies to .csv/.tsv when the user wants spreadsheet output. Do NOT use for…
google-sheets
Read and write Google Sheets spreadsheets - get content, update cells, append rows, fetch specific ranges, search for spreadsheets, and view metadata. Use when user asks to: read a spreadsheet, update cells, add data to Google Sheets, find a spreadsheet, check sheet contents, export spreadsheet data, or get cell…
dgn-to-excel
Convert DGN files (v7-v8) to Excel databases. Extract elements, levels, and properties from infrastructure CAD files.
dwg-to-excel
Convert AutoCAD DWG files (1983-2026) to Excel databases using DwgExporter CLI. Extract layers, blocks, attributes, and geometry data without Autodesk licenses.
ifc-to-excel
Convert IFC files (2x3, 4x1, 4x3) to Excel databases using IfcExporter CLI. Extract BIM data, properties, and geometry without proprietary software.
historical-data-manager
Extract, clean, and organize legacy construction data from archives. Migrate historical project data, cost records, and schedules into modern formats.