npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@buzzlead/gtm-strategy

v0.1.0

Published

Drop your URL. Get 9 custom outbound plays — each with full execution playbook, AI Ark + Apollo filters, and 2 email variants — as JSON. Free CLI from BuzzLead.

Readme

GTM Strategy Generator

Drop your URL. Get 9 custom outbound plays — each with full execution playbook, AI Ark + Apollo filters, and 2 email variants — as JSON. Free CLI from BuzzLead.

npm version license

The same engine that powers the free web tool — open-sourced for operators who want to run it on their own keys.

npx @buzzlead/gtm-strategy --url yourcompany.com --out strategy.json

In ~2-3 minutes you get a JSON file with 9 distinct outbound plays for your business, each carrying:

  • The angle, type, difficulty, and expected response rate tier
  • A full execution playbook (5-7 steps + why it works)
  • Ready-to-paste AI Ark filter values (titles, exclusions, employee range, industries, keywords, seniorities, geos, signals)
  • Ready-to-paste Apollo filter values (same shape, Apollo conventions)
  • Estimated list size
  • 2 email variants per play (with 3 subject line options + follow-up + framework explanation)

What it does

Five steps, fully automated:

  1. Reads your site — Jina Reader pulls clean markdown, Claude extracts your offer, ICP, differentiators, industry, target titles.
  2. Builds market intel — Exa surfaces industry trends, competitor moves, and Reddit complaint threads in your category. Claude synthesizes them.
  3. Designs 9 plays — Signal / ICP / Competitor / Trigger / Pain / Timing / Account-Based. Difficulty + response-rate tiers balanced.
  4. Expands each play into a playbook — full execution steps, ready-to-paste AI Ark + Apollo filter fields, list size estimate.
  5. Writes 2 cold email variants per play — picked from the right framework for each play type (4T, Pain Amplification, Authority Opener, Trojan Horse, AIDA).

Install

One-shot via npx (no install)

npx @buzzlead/gtm-strategy --url yourcompany.com

Or install globally

npm install -g @buzzlead/gtm-strategy
gtm-strategy --url yourcompany.com

Or use as a library

import { runStrategy } from "@buzzlead/gtm-strategy";

const result = await runStrategy({
  url: "yourcompany.com",
  onProgress: (step) => console.log(step.kind, step.status),
});

console.log(result.plays); // 9 plays, each with playbook + copy

API keys

Two keys required.

| Key | Why | Where | |---|---|---| | ANTHROPIC_API_KEY | Site analysis, research synthesis, play generation, playbook + copy | https://console.anthropic.com | | EXA_API_KEY | Industry trends + competitor moves + Reddit complaints | https://exa.ai |

Optional:

  • JINA_API_KEY — faster site scrape (anonymous works)

Copy .env.example to .env and fill them in.


Cost per run

Approximate, full 9-play expansion:

| Provider | Calls | ~Cost | |---|---|---| | Anthropic (sonnet-4-6) | 1 + 1 + 1 + 9 + 9 = 21 calls | $0.50–1.20 | | Exa | 3 searches | ~$0.02 | | Jina | 1 scrape | ~$0.001 | | Total | | ~$0.50–1.20 |

For a faster, cheaper preview, use --plays-only (drops to ~$0.05 and ~30 seconds — gets the 9 angles without playbook or copy).


CLI usage

Usage: gtm-strategy [options]

Required:
  -u, --url <url>            Your company URL

Optional:
  -n, --name <name>          Company name hint (overrides URL-derived default)
      --plays-only           Skip playbook + copy expansion (fast preview)
      --expand <n>           Only expand the first N plays (saves cost)
  -o, --out <path>           Output JSON path. Default: ./gtm-strategy.json
      --stdout               Write JSON to stdout instead of file
      --silent               Suppress progress output
  -h, --help                 Display help
  -V, --version              Display version

Examples

Full 9-play expansion:

gtm-strategy --url stripe.com --out stripe-gtm.json

Fast preview (just the 9 angles, no playbooks/copy):

gtm-strategy --url stripe.com --plays-only --out stripe-preview.json

Expand only the top 3 plays:

gtm-strategy --url stripe.com --expand 3 --out stripe-top3.json

Pipe into another tool:

gtm-strategy --url stripe.com --plays-only --stdout | jq '.plays[].name'

Output schema

The JSON file has this top-level shape:

{
  companyIntel: {
    companyName, websiteUrl, offer, icp,
    differentiators[], industryVertical, targetTitles[]
  },
  researchIntel: {
    industryTrends[], competitorMoves[],
    redditComplaints[], macroContext
  },
  plays: [
    {
      id, name, type, angle, difficulty, responseRateTier,
      playbook: {
        fullDescription, messagingAngle, steps[],
        aiArkFields: { jobTitles[], jobTitlesExclude[], companySizeMin/Max,
                       industries[], keywords[], seniorityLevels[],
                       geographies[], signals[] },
        apolloFields: { personTitles[], excludedTitles[], employeeRanges[],
                        industries[], keywords[], seniorityLevels[], locations[] },
        estimatedListSize, whyItWorks
      },
      copy: {
        variant1: { framework, subjectLines[], emailBody, followUp, whyItWorks },
        variant2: { framework, subjectLines[], emailBody, followUp, whyItWorks }
      }
    },
    // ... 8 more
  ]
}

How it differs from the web tool

| | Web tool | CLI | |---|---|---| | Plays per run | 9 | 9 | | Lead gate | Required | None | | Auth | Shared keys | Your keys | | Cost | Free | Your API spend (~$1) | | Output | Web UI + email copy buttons | JSON file (or stdout) | | Plays-only mode | No | Yes (--plays-only) | | Library API | No | Yes |


Library API

import {
  runStrategy,        // end-to-end pipeline
  analyzeSite,        // step 1: extract CompanyIntel from a URL
  buildResearch,      // step 2: market research via Exa + Claude
  generatePlays,      // step 3: generate 9 plays
  generatePlaybook,   // step 4: per-play playbook expansion
  generateCopy,       // step 5: per-play 2-variant copy
} from "@buzzlead/gtm-strategy";

Each step is a pure async function — swap, compose, or run individually.


Want this run for an entire pipeline?

GTM Strategy Generator is a single-shot tool. It gives you the strategy. You take it from there.

BuzzLead the agency runs this kind of GTM motion continuously — strategy, list building, infrastructure, copy, sending, reply handling. 10M+ cold emails sent. $8M+ in client revenue.

If you want the version with humans behind it, talk to us at buzzlead.io.


License

MIT. Use it however you want.