mcpField
A
agency-signal-sourcer

agency-signal-sourcer

github.com/victor-shulgaMarketing & growth141 installsUpdated 3w ago
Repository

About agency-signal-sourcer

An operational skill for B2B service agencies that turns selected market signals into sourcing, scoring, and go-to-market actions. It complements hypothesis-generation skills with detection guidance, freshness windows, and agency-specific budget and GDPR considerations.

Key features

  1. 01Agency-relevant signal selection
  2. 02Detection tools and credit costs
  3. 03Signal freshness guidance
  4. 04Account scoring and prioritization
  5. 05Signal-to-action playbooks
  6. 06GDPR and budget caveats

Use cases

  1. 01Choose tools to detect a selected signal
  2. 02Rank accounts with live signals
  3. 03Plan outreach timing and follow-up
  4. 04Adapt signal sourcing for EU targets

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/victor-shulga/gtm-skills --skill agency-signal-sourcer

After installing, type/agency-signal-sourcerin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

resources/
detection-tools.md
gtm-plays.md
job-change-tracking.md
scoring.md
taxonomy.md
tool-setup-guides.md

Details

From the project README

Agency Signal Sourcer (operational layer)

Adapted from a public signal-sourcing playbook, re-pointed at B2B service agencies instead of US SaaS vendors. This skill is the operational half of signal-based outbound. The strategic half (what to test) already lives in Viktor's hypo-generator and hypothesis-builder — they compose (see Integration).

Setup (run once per session)

Resolve the install dir dynamically — never hardcode:

  1. Glob for **/agency-signal-sourcer/SKILL.md
  2. Its directory is SKILL_BASE; resources are at {SKILL_BASE}/resources/...

Agency adaptation rules (apply to EVERYTHING below)

These override the source material, which was written for product/SaaS sellers:

  1. Signals ≠ Data Points (Viktor's core frame, shared with hypo-generator/signals-catalog.md):
    • Dynamic signal = time-bound event, fires for ~3–5% of TAM → tells you WHEN to reach out.
    • Static data point = a fact true for ~100% of TAM → tells you WHAT to say.
    • A strong play = one dynamic/individual signal as the trigger + one static data point to adapt the message.
  2. Service-agency motion, not product motion. DROP or down-rank product-led signals that don't apply: product-usage spikes, free-trial signups, G2 head-to-head, Bombora topic surge, PLG cross-sell. KEEP the signals that fit agency selling: funding, hiring / hiring-surge, failed-hire, champion job change, new decision-maker (90-day window), tech-stack change, headcount growth, expansion/new-geo, product launch, event attendance, LinkedIn post engagement.
  3. EU/GDPR + geography reality. Many clients are EU/UA selling into US/UK/DACH. Person-level website ID (RB2B, Warmly de-anon) is US-only; in the EU only company-level IP ID is compliant. Flag this whenever recommending visitor tracking — never hand a client a US-only tool for an EU target list.
  4. Agency budget, not enterprise. Demote enterprise-intent tools (Bombora ~$30–100k/yr, 6sense ~$35–130k/yr, ZoomInfo ~$15–60k/yr) to "enterprise only — usually out of scope." The realistic agency stack is Clay + Serper/Claygent (0-credit detection first) + Trigify + RB2B-free + LinkedIn/Sales Nav.
  5. Benchmarks are directional, not promises. The source's 18–22% / 35–40% reply figures are self-cited by the playbook's author and optimistic. Treat as ceiling; reality is closer to the team's house benchmark (top reply ~10%+). Never quote 35–40% to a client as expected.

Routing Table

RequestLoad
Which tool detects signal X · Clay credit cost · 0-credit-first cost optimisation · 1st/2nd/3rd-party sources{SKILL_BASE}/resources/detection-tools.md ⭐
Signal freshness / decay / optimal outreach window / reliability tiers{SKILL_BASE}/resources/detection-tools.md (same file)
Score & prioritise accounts: weights, recency multipliers, multi-signal stacking, heat tiers + SLAs{SKILL_BASE}/resources/scoring.md (apply adaptation rule 2 — strip PLG rows)
Signal-to-action playbooks (day-by-day sequences, owner, escalation){SKILL_BASE}/resources/gtm-plays.md (use agency-relevant plays only)
Full trigger taxonomy + INBOUND/POSTBOUND/BRIDGEBOUND/OUTBOUND framing{SKILL_BASE}/resources/taxonomy.md
Set up a signal tool (RB2B, Trigify, Common Room, Bombora…){SKILL_BASE}/resources/tool-setup-guides.md (apply GDPR + budget caveats)
Track champion/contact job changes in Clay (step-by-step){SKILL_BASE}/resources/job-change-tracking.md

⭐ Integration with hypothesis generation (the answer to "can we use these together")

These skills form a pipeline. Keep the division of labour clean:

STRATEGY (what to test)                          OPERATIONS (how to source + act)
─────────────────────────                         ───────────────────────────────
hypo-generator                                    agency-signal-sourcer (this skill)
  · reads signals-catalog.md (the signal LIST)      · detection-tools.md → HOW to detect each catalog signal,
  · builds 10-hyp matrix: ICP × signal × offer        which tool, Clay credit cost, freshness window
  · scores w/ 5-factor trivial-trigger weight       · scoring.md → once detected, SCORE & rank the accounts
hypothesis-builder                               · gtm-plays.md → the signal-to-action sequence to run
  · persona × signal × angle backlog                · tool-setup-guides.md → stand up the detection tool

How to run them together:

  1. Strategy first — run hypo-generator (from client URL) or hypothesis-builder (from a known ICP+signal set) to pick which signal × ICP × offer hypotheses to test. The signal names come from hypo-generator/signals-catalog.md, NOT from this skill.
  2. Then operationalise here — for each chosen signal, use this skill to answer: which tool detects it, what it costs in Clay credits, how fresh it stays, how to score accounts that have it, and which GTM play to fire.
  3. Feedback loop — this skill's taxonomy.md / detection-tools.md can also surface NEW signals worth adding to signals-catalog.md. When you spot a catalog gap (a detectable trigger not yet listed with a trivial-trigger weight), flag it for Viktor to add — don't silently invent it inside a hypothesis.

Rule of thumb: if the question is "which signal should we bet on?" → hypo-generator / hypothesis-builder. If it's "how do we actually find / score / act on this signal?" → this skill. If it's "we already have a base of accounts — go find who has a live signal right now" → signal-research, which executes this skill's method over a real list and returns an evidenced, dated, scored file + coverage report.

Hand-off — use the EXISTING skills for these (don't reinvent)

AskUse
Pick which signal × ICP × offer to test (from a URL)hypo-generator
Build a persona × signal × angle hypothesis matrixhypothesis-builder
The canonical signal LIST with trivial-trigger weightshypo-generator/signals-catalog.md
Map a single buyer signal to messagingangle-finder (outbound-engine-skills)
Run Clay/LinkedIn signal detection on a company listsignal-research
Score leads (general lead scoring)lead-scoring (outbound-engine-skills)
Score meeting/booking intentreply-objection-handler (outbound-engine-skills, intent triage)
Write the actual outreach copy off the signalsequence-writer (outbound-engine-skills)

Response format

  1. State whether the request is strategy (→ hand off to hypo-generator/06) or operations (→ handle here).
  2. Apply the agency adaptation rules — strip PLG/enterprise noise, flag US-only/GDPR tools, demote enterprise pricing.
  3. For any signal: give detect (tool + Clay credits) → freshness window → score → GTM play, in that order.
  4. Quote benchmarks as directional only; never promise 35–40%.

Comments

Markdown supported