growth-loops
Turn hand-made first-50 traction into self-reinforcing acquisition loops, so the next 5,000 users come from usage, not founder hours. Use when growth stalls the moment the user stops pushing, every signup traces back to a DM or one launch spike, or they're reaching for \"more channels\" when the real gap is that using the product creates no new users.
git clone --depth 1 https://github.com/AIDevGTM/gtm-cofounder /tmp/growth-loops && cp -r /tmp/growth-loops/skills/18-growth-loops ~/.claude/skills/growth-loopsSKILL.md
# Growth loops (the next 5,000 without you)
> You got your first 50 users by hand: DMs, favors, one good launch. That was the right way to get them, and it was never supposed to scale. A growth loop is what comes next: one user's ordinary use of the product exposes it to the next user, and that user repeats it. Not a one-time referral; a continuous cycle.
**Use this when:** growth flatlines every time you stop posting, you can trace every user to a founder DM or a launch day, or you're about to add a third channel when the users you already have produce zero new ones.
## The core idea
A channel is linear: effort in, users out, stop pushing and it stops. A **loop** feeds output back into input: usage creates an artifact, a public trace, or an invitation that a new developer finds, and that developer's usage restarts the cycle. Channels deplete; loops compound.
**The rule that keeps it non-slimy:** every loop must do the *user* a service, not just you. A branded report the user is proud to send is a loop; a watermark they resent is spam with extra steps. If the loop degrades the experience, it is not a loop, it is a leak in your trust.
**The gate:** a loop amplifies whatever you feed it. If week-2 retention is broken, a loop compounds churn, not growth. Before this skill: first value in under an hour (`time-to-first-value`), first 50 real users in hand (`first-50-users`), and cohorts that come back (`know-if-its-working`, Frankl's net developer retention). If any of those fail, that failure is your Now move, not this.
## The dev-tool loop catalog
Six loops that actually work for developer tools. You need **one**, running at full strength.
1. **Showcase loop.** The product's output is shareable and carries your name with it: a CodePen link, an exported report with the logo intact, a "Generated by X" footer on docs. crowd.dev's exported community health reports carried the branding; recipients asked how the report was made, and that question was the signup.
2. **Badge loop.** A status signal developers *want* in their README: "build passing" (Travis CI, CircleCI), coverage percent (Codecov). Every visitor to every repo that uses you sees a micro-advertisement, and the badge earns its place by signaling quality, not by begging.
3. **Workflow loop.** The tool acts inside a shared workflow where non-users see it working. Snyk auto-opens pull requests with vulnerability fixes; every collaborator reviews that PR, discovers the tool, and signs up. A bot comment on a fixed issue, a summary email a dev forwards to the team: same mechanics.
4. **Team loop.** One developer adopts, and the tool lands in a shared repo, a CI pipeline, or a lockfile every collaborator now touches. Then it walks out the door when a dev changes jobs and installs it on day one. The qualifying question: *does the tool become more useful when more people use it together?* If yes, build the invite into onboarding, not into a popup.
5. **Public-content loop.** Usage produces content strangers find: user-created projects and collections browsable in public (StackBlitz, Postman's public workspaces), community answers that stay indexed instead of dying in a ticket, and the tutorials their questions teach you to write (`founder-led-content` is this loop's fuel).
6. **Marketplace loop.** Live where developers already shop: a VS Code extension, a Jenkins plugin, a framework's starter gallery, GitHub's own surfaces (trending, "used by", dependents). Every new user of *their* platform can now discover yours.
## Decision tree: pick your one loop
```
Does normal use already produce something other developers can see
(an output, a badge, a PR, a config in a shared repo)?
├─ YES → showcase, badge, or workflow loop. Instrument what is
│ already happening before you build anything new. This is
│ the cheapest loop you will ever get.
└─ NO → is the tool more useful when a team uses it together?
├─ YES → team loop: put the invite where the value is,
│ not in a growth popup.
└─ NO → do developers search or ask in public when this
problem bites?
├─ YES → public-content loop: answer and publish
│ where it gets indexed, every time.
└─ NO → your ICP may be too diffuse to loop.
Tighten it in `who-is-this-for` first.
```
## Measure the loop, not the traffic
One question, monthly: **of your new signups, what share came from an action an existing user took** (a badge click, a shared artifact, a fix PR, a committed config, an answered thread)?
- **Under 10%:** you have channels, not a loop. Fine at 50 users, a problem at 500.
- **30% and rising month over month:** the loop is turning. Feed it before you add anything else.
- Track **cycle time** too: a loop that takes two weeks per turn compounds; one that takes six months is a channel wearing a loop costume.
- Attribution here is directional, not precise (Czakon): the free-text "how did you hear about us?" field is your honest instrument. Tag every answer loop or channel.
## Mistakes that look reasonable
- **Building a loop on leaky retention.** Amplifying a product people abandon just abandons faster. The gate is the gate.
- **Paid referral incentives for developers.** "Give $20, get $20" reads as bribery to the exact audience that punishes it, and it poisons the genuine recommendations you already get. Devs refer because the tool made them look good, so make that effortless instead.
- **Forced virality.** An unremovable badge or watermark gets stripped, resented, and posted about. Dual value or nothing: the loop must serve the user first, and stay deletable. The ones that remain are worth more.
- **Mistaking a launch spike for a loop.** A launch is one crank of the handle (`launch-it`). The test is whether the users it brought produce users. If the graph decays back to baseline, it was a channel.
- **Running three loops at 30%.**Interview the user once and write a docs/gtm-cofounder/founder-brief.md that every other skill reads first, so the advice is about their real business, not a textbook. Use this before anything else, or whenever the agent lacks context on the user's product, ICP, market, or stage, or is giving generic GTM advice.
After the founder brief, turn it into an honest diagnosis and a prioritized, stage-aware GTM roadmap saved as docs/gtm-cofounder/gtm-roadmap.md. This is the hub the user returns to every session to see where they are and the single next move. Use right after start-here, whenever the user doesn't know what to work on next, wants a plan instead of a one-off task, or is drowning in disconnected tactics.
Define a real ICP and the developer personas in the sale. Use when the user says the product is \"for developers,\" can't name who would say no, or is marketing to whoever holds the budget instead of who actually adopts.
Run developer customer discovery via a Technical Advisory Board (TAB). Use when the user has never interviewed a user who isn't a friend, is inventing messaging from a conference room, or is guessing at the roadmap instead of hearing the pain firsthand.
Build a positioning and narrative where the developer is the hero and a real trend is the villain. Use when the messaging describes the product instead of the problem, sounds like every competitor, or has no urgency because nothing is at stake.
Position an AI product when everyone claims AI and skeptics call it \"just a wrapper.\" Find the real wedge (data, workflow, trust, domain), make reliability the differentiator, answer \"won't the big labs just build this,\" and stop leading with \"AI-powered.\" Use when your AI or dev tool blends into a sea of similar demos, buyers doubt the accuracy, or you can't say why you win when the model is a commodity.
Write a developer value proposition that is specific, provable, and free of puffery. Use when the messaging leans on \"powerful,\" \"better,\" \"seamless,\" or \"best-in-class,\" when claims have no proof, or when the same line is supposed to reach both the developer and the buyer.
Structure a dev-tool homepage that converts developers into champions. Use when the landing page is written for the buyer instead of the developer, reads as salesy, buries what the product does, or makes it hard to start. Pairs with the ShipReady homepage audit.