Consolidated into claude-activation. Capture, measure, and operate now live in one system, the Launch and Scale stages of Anthropic's Founder's Playbook. This repo is archived and read-only.
Measure the loop. The Founder-to-Builder Activation Loop as runnable, attributable code. Feed it a founder cohort, get back the activation funnel, time-to-second-build, the leaky-bucket flag, and the product-qualified accounts ready for a named GTM owner.
Most evangelism dies of an attribution problem: you can fill a room, but you can't prove the room turned into Claude logos. This repo is the answer to that problem in code. It scores a cohort the same way every run, names the biggest leak, and hands you the one number worth your name: qualified PQA handoffs, with time-to-second-build as the leading indicator. It watches the leaky bucket because the hardest growth problems are not the empty top of the funnel, they are the leaks that fast growth widens.
- Problem it solves: activation is the number-one growth problem in AI, and the hardest part is proving it. A funnel on a slide is a memo. A funnel you can run is a demo.
- Run in under 5 minutes:
python -m activation_loop examples/cohort.json. Claude (claude-opus-4-8) reads the measured funnel and writes the executive brief on every run. - Production lesson it encodes: tie activation to net-new logos. Reach is not a result. A second build is.
Nine public repos, two operators, one platform. Every stage runs Claude (claude-opus-4-8) on every run. A deterministic gate verifies Claude's output before it ships: Claude does the judgment, the gate proves it.
Founder Kit, what a founder runs on their own company:
- Diagnose the company: claude-startup-linter
- Build the product: claude-prompt-to-production
- Harden the agent: claude-agent-linter
- Sharpen the raise: claude-pitch-deck-linter
Activation System, what a growth lead runs on a founder cohort to make activation measurable and attributable:
- Capture the events: claude-activation-instrument
- Measure the funnel: claude-activation-loop (this repo)
- Operate the loop on a schedule, gated, the capstone: claude-operator-loop
Two shared disciplines, under both lines:
- Quality: claude-deslop grades every repo, the deck, the resume, and the profile.
- Cost: claude-perf-tune, the cost-of-intelligence specialist (GPU-inference profiling and tuning).
git clone https://github.com/cfregly/claude-activation-loop && cd claude-activation-loop
python -m activation_loop examples/cohort.json # the readout, then Claude's brief
python -m activation_loop examples/cohort.json --json # the raw measured funnel (the data operator-loop consumes)
python -m activation_loop examples/cohort.json --min-activation 0.4 # CI gate
python tests/test_metrics.py # the test suiteThe funnel is deterministic. Claude reads it. claude-opus-4-8 runs on every readout and writes the brief a growth lead circulates: a one-line headline, a read of where the cohort stands, and the single next motion the numbers call for. The model writes prose grounded in the measured numbers it is handed, so the funnel and the --min-activation gate stay the deterministic receipt, and the --json output operator-loop consumes is the raw funnel. The tool needs ANTHROPIC_API_KEY. With no key it stops with a clear error, because the measure stage runs Claude.
pip install anthropic # required: the brief runs Claude
export ANTHROPIC_API_KEY=sk-ant-... # or put it in .env
python -m activation_loop examples/cohort.json # the readout, then Claude's read under itThe brief renders under the deterministic readout:
Claude's read (claude-opus-4-8)
Q3 SF founder day: 12 accounts in, 8 activated, 5 reached a second build, 1 handed off.
The biggest leak is first build to second build, where 38 percent drop off and only 5 of 8 return.
next motion: Tighten the 72-hour follow-up on the 8 first-build accounts to pull time-to-second-build down.
Each founder account carries the loop stages it reached and the day it reached them (day 0 is the touchpoint), plus a spend trend:
{"name": "acct_02", "spend_trend": "up",
"reached": {"touchpoint": 0, "signup": 0, "first_call": 1,
"first_build": 3, "second_build": 10, "production": 22}}The stages are the loop: touchpoint, signup, first API call, first working build, second build, weekly active, production, GTM handoff.
The readout is the whole loop, split into activation and retention.
Activation
- The funnel: count, share of the top, and conversion from the previous stage, for every loop stage.
- Activation rate: first working build over signup.
- Time-to-second-build: the median, and the best early predictor of who becomes a logo.
- Biggest drop-off: the real activation leak, with the selective handoff gate excluded on purpose.
Retention (the half the renewal turns on)
- Second-build retention: came back to build again, the best early predictor.
- Engagement retention: builders who became weekly-active, the leading indicator of paid retention.
- Expansion to production: weekly-active builders who reached production, the renewal.
- Leaky-bucket and engagement-leak flags: a strong top of funnel with a weak second build, or builders who never return weekly. Acquisition poured into low retention compounds to near zero.
- Biggest drop-off: the real activation leak, with the selective handoff gate excluded on purpose.
- PQAs newly ready to hand off: accounts in production with a rising spend trend that have not been handed off yet. Sustained usage is the trigger, not a vibe.
- The number you own: qualified PQA handoffs, with time-to-second-build as the leading indicator.
python -m activation_loop cohort.json --min-activation 0.4 || exit 1The same evals-before-vibes discipline you would give an agent's behavior, applied to a program. A cohort below the activation bar fails the build.
Packaged as a Claude Skill in skills/activation-loop/SKILL.md. Install it as a Claude Code plugin with /plugin marketplace add cfregly/claude-activation-loop then /plugin install activation-loop@activation-loop-plugins, or upload the skills/activation-loop/ folder in the Claude app under Settings > Skills (see Anthropic's skills guide). Then say "measure my activation cohort" or "where is my funnel leaking." Claude runs the readout, names the leak, and lists the accounts ready for a GTM handoff.
The readout is only as honest as the cohort you feed it. It measures the loop you record. It does not collect the events or verify that a build was real. The thresholds (the leaky-bucket flag, the activation bar) are defaults to argue with, not laws. Small cohorts move on a single account, so read each rate alongside its count.
MIT. All cohort data in examples/ is fictional.