Systems Lab

Agent skill

gtm

Run the GTM contact pipeline from a plain-English campaign brief.

activeSelf-containedDeclared tools227 words

Filed under Prospecting and list building.

From kkrlstrm/gtm-pipeline · 9 skill entries · 16 · pushed 2026-09-29

What it does when it runs

Run the GTM contact pipeline from a plain-English campaign brief. Interprets the brief against context/ + gtm.config.yaml, plans the run, and drives the stages (company_search → people_search → qualify → email_enrich → phone_enrich → activate) threading one list_id, with approval gates, a do-not-contact pass, list QA and an activation preflight. Also reports on or resumes an existing list. Use when the user describes a campaign ("find me … at … for …"), says "/gtm …", "run the pipeline", "build a list", "status of list N", or "resume list N".

Automated analysis of 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
No third-party host appears in the skill or its bundled files.
Tool permissions it declares
  • Read
  • Bash
  • WebSearch
  • WebFetch
  • Task
  • Workflow
Actions present in the files
shellnetwork

Ask about gtm

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/kkrlstrm/gtm-pipeline.git /tmp/gtm-pipeline
git -C /tmp/gtm-pipeline sparse-checkout set ".claude/skills/gtm"
mkdir -p ~/.claude/skills/gtm
cp -R "/tmp/gtm-pipeline/.claude/skills/gtm/." ~/.claude/skills/gtm/

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 ↗

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 kkrlstrm/gtm-pipeline/blob/3fdc07a14e4f3991eba66ec2e8a9feb8fec4a197/.claude/skills/gtm/SKILL.md, which is licensed APACHE-2.0 (repository). 227 words, 0 headings.

The user's input: $ARGUMENTS

Execute the orchestrator: read agents/orchestrator/agent.md and follow it exactly. Read REVIEW.md once per session; it binds you and every sub-agent you start.

  • status <list_id> → python3 storage/cli.py run_report --input '{"list_id":<id>}'; present stages logged, counts, cost (estimate vs actual), open warnings and gate verdicts. Change nothing.
  • resume <list_id> → orchestrator §0: continue from the first stage whose latest event is not ok/warn/skipped, using the plan and expansion frozen on the list. Say where you are resuming and why.
  • Anything else is a brief:
    1. Read gtm.config.yaml and the context/ files. If icp.md / personas.md are missing or still templates, offer /gtm-setup instead of guessing an ICP.
    2. Interpret the brief into a concrete plan, expand the role and segment, and preview titles on a few sample companies.
    3. Present the plan (Gate #1) and get approval unless autonomy says otherwise; freeze it onto the list.
    4. Run only the available stages, threading the list_id. After each stage: log_event, then read list_summary back and compare it with what the stage reported.
    5. Before activation: qa, suppress posture=send, preflight_activate (must exit 0), then Gate #4.
    6. Produce the export (say UNSCRUBBED if suppression_applied is false) and finish with run_report.

If the brief is empty, ask for one (what to sell / who to target / where), or offer to infer it from context/icp.md.

Need help setting it up?

This page tells you what gtm 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.