Systems Lab

Agent skill

know-if-its-working

Measure GTM with the metrics that matter (net developer retention, DREAM funnel) instead of vanity numbers.

activeReaches the webInstructions only623 words

Filed under Analytics and reporting.

From AIDevGTM/gtm-cofounder · 19 skills · 252 · pushed 2026-08-27

What it does when it runs

Measure GTM with the metrics that matter (net developer retention, DREAM funnel) instead of vanity numbers. Use when the user has dashboards full of stars and pageviews but can't tell if go-to-market is working, or is optimizing acquisition over a leaky bucket.

Read from the skill and the 0 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.

Keys and connectors you must supply
None found.
Hosts it reaches
  • thedevtoolgtmcompany.com
Tool permissions it declares
No allowed-tools in the frontmatter. It only issues instructions, so there is nothing to bound.
Actions present in the files
None. Instructions only.

Ask about know-if-its-working

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/AIDevGTM/gtm-cofounder.git /tmp/gtm-cofounder
git -C /tmp/gtm-cofounder sparse-checkout set "skills/15-know-if-its-working"
mkdir -p ~/.claude/skills/know-if-its-working
cp -R "/tmp/gtm-cofounder/skills/15-know-if-its-working/." ~/.claude/skills/know-if-its-working/

Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗

Or take the whole library

This repo ships a .claude-plugin manifest, so Claude Code can install all 19 skills at once. Plugin skills are invoked as /<plugin>:<skill>, so they never collide with your own.

/plugin marketplace add AIDevGTM/gtm-cofounder
/plugin

The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.

Reproduced in full from AIDevGTM/gtm-cofounder/blob/23398dc729687130c4c7a7cb3a26f9c07e67f39d/skills/15-know-if-its-working/SKILL.md, which is licensed MIT (repository). 623 words, 9 headings.

Know if it's working

The only early metric that matters is net developer retention. Without it, you're not running a funnel; you're running a colander.

Use this when: you're tracking GitHub stars and pageviews and still can't answer "is GTM working?", or you're pouring effort into acquisition while new users quietly churn.

The core idea

Acquisition is worthless if users don't come back. Prove retention first; only then does spending on acquisition make sense. Most early founders optimize the top of the funnel while the bottom leaks. Fix that order.

Framework: net developer retention (Frankl)

Of all the developers who first used the product in Month 1, how many used it in Month 2? Month 3?

  • Hold it above 100% (meaning existing cohorts grow through internal referral/expansion).
  • Below solid retention, do not focus on acquisition: you're filling a leaky bucket.
  • This single cohort question tells you more than every vanity chart combined.

Framework: the DREAM metrics (Frankl)

Measure one honest number per stage, not pageviews, not stars.

StageThe metric that counts
Discoveryunique human visitors / month
Researchnewsletter subs + community joins + follows
Evaluationfree-tier signups / downloads / active free users
Activationmonthly active users · frequency · session depth
Membershipcommunity members actively posting & answering

The gate before all of it, the weekend test: can a new developer get to first value over a weekend from docs + Stack Overflow, no support call? Time-to-value target: < 1 hour ideal, 1 day max. If Evaluation/Activation fails here, no channel work will save you.

Growth benchmarks (non-ARR, Frankl)

  • Pre-seed: ~30% month-over-month user growth
  • Post-Series-A: ~10% MoM
  • First $1M ARR: within 12 months is good, 9 is excellent

Framework: attribution philosophy (Czakon)

Developer marketing is hard to attribute and that's normal. A dev sees your HN post, reads a tutorial, lurks for two months, then signs up direct.

  • Don't over-trust last-touch; it will tell you "direct/organic" and hide the real work.
  • Add a "how did you hear about us?" free-text field. Self-reported attribution beats a broken model.
  • Judge channels on trend and directional signal, not spurious precision.

Decision tree: what to fix first

Is month-2 cohort retention healthy (users come back)?
├─ NO  → STOP optimizing acquisition. Fix Evaluation/Activation (the weekend test, time-to-value).
└─ YES → is a channel reliably producing retained users?
         ├─ YES → pour more in (and only now consider paid to amplify).
         └─ NO  → go back to first-50-users; find the channel before scaling spend.

Mistakes that look reasonable

  • Vanity metrics: stars, pageviews, impressions. They feel like progress and predict nothing.
  • Acquisition over a leaky bucket: buying users who never return.
  • Demanding clean attribution: chasing a perfect model instead of acting on directional signal.
  • Ignoring the weekend test: a beautiful funnel that dies at first-value.

Your next 30 minutes

  • Compute one number: of the devs who first used it 8 weeks ago, what % used it in the last 2 weeks?
  • Pick one honest metric per DREAM stage; delete the vanity charts from your dashboard.
  • Time yourself doing your own onboarding cold. Over an hour? That's your #1 GTM problem.
  • Add a "how did you hear about us?" field to signup this week.

Built from real dev-tool GTM experience, with frameworks from Adam Frankl (The Developer-Facing Startup) and Jakub Czakon (markepear.dev). When a framework can't make the call, that's what a human is for: The DevTool GTM Company.

Need help setting it up?

This page tells you what know-if-its-working does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.

Book a call →

The directory stays free. There is nothing gated behind this.