Skills / pick-gtm-stack
Most GTM stacks are assembled by vibes — a tool per blog post, overlap everywhere, gaps where it counts.
pick-gtm-stack recommends tools from a mapped, living dataset — every tool tagged by job category, customer-lifecycle stage, and real usage across 48 mapped workflows, plus the BTF core agent-infrastructure stack — so the stack for a play is recalled, not guessed.
Describe a GTM task — a cold outbound play, a visitor de-anon motion, a nurture sequence, a client stack audit. The skill classifies it by lifecycle stage (awareness → education → selection → mutual commit → onboarding → retention → expansion) and the jobs it needs, then fetches the live dataset at tools.json and filters to the tools that actually serve those stages and jobs.
The output is a minimal stack: one tool per job, ranked by how many of the 48 mapped workflows already use it, each with its role and GTM impact — plus the close alternatives NOT chosen and why, so the stack doesn't bloat. Jobs no mapped tool covers get flagged honestly instead of papered over.
curl -s https://labs.bowtiefunnel.com/tools/tools.json — it evolves with the stack; a recommendation from memory is stale by definition.workflows_used (battle-tested beats shiny).The full stack with descriptions, categories, lifecycle-stage chips, and usage counts — the human-readable view of the same data.
Open the table → endpointThe raw dataset — fetch it from Claude Code, Cursor, or any script. Category, lifecycle, usage count, and impact per tool.
Fetch the JSON →# copy the skill into your Claude Code skills directory
cp -r skills/pick-gtm-stack ~/.claude/skills/
Then invoke it directly, or just describe the task:
/pick-gtm-stack # or, in plain language — # "what tools should I use for a cold outbound play?" # "build a stack for de-anonymizing site visitors" # "audit this client's tool stack for overlap"