New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Monitoring comments and reactions on a team member's

Linkedin engagement handler

by swan-gtm · MIT license · ★ 159 on GitHub · updated Sep 23

Linkedin engagement handler cover

Use this skill when monitoring comments and reactions on a team member's LinkedIn posts. Comments get the full treatment — ICP + persona gating, CRM and account-memory logging, lead scoring, and a high-value path to connection requests…

---
name: "linkedin-engagement-handler"
title: Handle LinkedIn post engagement signal
description: "Use this skill when monitoring comments and reactions on a team member's LinkedIn posts. Comments get the full treatment — ICP + persona gating, CRM and account-memory logging, lead scoring, and a high-value path to connection requests and Slack alerts — while lone reactions are logged as a light touch unless the account is top-tier or a repeat engager. Repeat engagers escalate to high intent after an active-buyer check, with a personalized multi-channel draft queued for review."
category: Signals
---

## Template placeholders

Replace every `{{...}}` before enabling. See the setup checklist reference for the full setup list.

- `{{PROFILE_OWNER}}` — Team member whose LinkedIn posts are monitored
- `{{INTERNAL_DOMAINS}}` — Your company domain(s)
- `{{TEAM_MEMBERS}}` — First names / known aliases of your team (engagement from them is ignored)
- `{{CRM}}` — Your CRM (e.g. HubSpot)
- `{{ENGAGEMENT_CHANNEL}}` — Slack channel for high-value engagement alerts
- `{{CRM_HYGIENE_SKILL}}` — Sub-skill reference: how to create/update companies & contacts in your CRM
- `{{LEAD_SCORING_SKILL}}` — Sub-skill reference: lead scoring & qualification methodology

Overview

Replace every {{...}} before enabling. See the setup checklist reference for the full setup list.

Manual install (npx, ZIP)
Claude Codenpx skills add swan-gtm/gtm-skills --skill linkedin-engagement-handler -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/swan-gtm/gtm-skills/tar.gz/e65d97205fd2 \ | tar -xz -C ~/.claude/skills --strip-components=3 gtm-skills-e65d97205fd2/skills/ariel-cohen/linkedin-engagement-handler
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/b00c15c1b3cf3cfedcd1/linkedin-engagement-handler.zip" -OutFile "$env:TEMP\linkedin-engagement-handler.zip"; Expand-Archive "$env:TEMP\linkedin-engagement-handler.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md9.4 KB
  • references/1 file · 3.7 KB
Read the files here
swan-gtm/e65d9722 files
SKILL.md
Show the full text191 lines

Template placeholders

Replace every {{...}} before enabling. See the setup checklist reference for the full setup list.

  • {{PROFILE_OWNER}} — Team member whose LinkedIn posts are monitored
  • {{INTERNAL_DOMAINS}} — Your company domain(s)
  • {{TEAM_MEMBERS}} — First names / known aliases of your team (engagement from them is ignored)
  • {{CRM}} — Your CRM (e.g. HubSpot)
  • {{ENGAGEMENT_CHANNEL}} — Slack channel for high-value engagement alerts
  • {{CRM_HYGIENE_SKILL}} — Sub-skill reference: how to create/update companies & contacts in your CRM
  • {{LEAD_SCORING_SKILL}} — Sub-skill reference: lead scoring & qualification methodology
  • {{ALERT_FORMAT_SKILL}} — Sub-skill reference: your alert formatting skill (optional — inline the format if you don't have one)
  • {{HIGH_ACV_TAG}} — Workspace tag marking high-ACV-potential accounts
  • {{SELF_SERVE_THRESHOLD}} — Company size below which accounts are self-serve (default: fewer than 30 employees)
  • {{ALERT_TIERS}} — Tiers that always alert on first touch (default: Gold, Diamond)

Signal type — read first

Check the event type in the webhook payload before processing:

  • New comment → full treatment (everything below).
  • New reaction (like) → light touch only: log to {{CRM}} + account memory, then stop. No connection request. No Slack alert. Exception: if the company is tagged {{ALERT_TIERS}}, or this is a repeated engagement (2+ interactions), apply the full treatment.

Comments and reactions are deliberately separate lanes: a comment is an opinion someone attached their name to; a lone like is awareness at best — volume is far higher and signal far lower.

Engagement Process

For Every ICP Lead/Agency Interaction

When someone from an ICP company or relevant agency comments on or likes {{PROFILE_OWNER}}'s post, AND they match a relevant persona:

Relevant personas (tune to your ICP's buying committee):

  • Sales Leader (CRO, SVP Sales, VP Sales, Head of Sales, Director of Sales)
  • Growth Lead (Head of Growth, Director of Growth, VP Growth, or senior marketing leader)
  • CEO (for companies in your core geographic/vertical segment)
  • Agency Owner (for agencies in your space)
  • GTM Engineer (GTM Engineer, Revenue Engineer, Marketing Engineer, Sales Engineer focused on GTM infrastructure)
  • RevOps Lead, Head of Demand Gen, CMO

Ignore engagement from:

  • CFOs, finance roles
  • CTOs, engineers, technical roles (unless they're also founders/CEOs or GTM-focused)
  • HR, operations, customer success
  • Individual contributors without buying responsibility (except the engineer-persona exception above)
  • Your own team ({{INTERNAL_DOMAINS}} domain, or known names: {{TEAM_MEMBERS}})
  • Universities, academic institutions, professors, researchers
  • Companies below {{SELF_SERVE_THRESHOLD}} (self-serve)

If the person is from an ICP company but NOT a relevant persona, ignore the engagement entirely.

Standard Processing (All ICP + Relevant Persona Engagers)
  1. Check relationship status — Are they a customer, active pipeline, or closed-lost? If yes, acknowledge but don't run the standard engagement flow.
  2. Mark awareness stage — Update the company record to your Aware stage if they're not already further along in the funnel. Never move a company backwards.
  3. Update {{CRM}} + account memory — Log the engagement (who, what they said, which post) and update the account record. Follow {{CRM_HYGIENE_SKILL}} for CRM writes.
  4. Run Lead Scoring — After processing (only when the person belongs to an identifiable company), run {{LEAD_SCORING_SKILL}}. LinkedIn engagement is the lowest-weight signal — include it in the signal stack but do not let it alone push an account above the second-lowest tier.
High-Value Path (High ACV + Decision Maker Only)

After standard processing, check if the engager's company has the {{HIGH_ACV_TAG}} tag AND the engager is a strong buyer persona (CRO, VP Sales, VP Marketing, CMO, CEO, Co-founder, RevOps Lead, Head of Demand Gen, Agency Owner, or equivalent GTM leadership).

If BOTH conditions are met:

  1. Queue a LinkedIn connection request from {{PROFILE_OWNER}}'s account for approval. Connection requests carry no note by design (better acceptance rates). Skip if already connected. (⚠️ Policy decision — see the checklist. The original deployment auto-sent these with no approval for this narrow high-ACV + decision-maker path; switch to auto-send only as a conscious opt-in.)
  2. Post to {{ENGAGEMENT_CHANNEL}} with:
    • Who engaged (name, title, company)
    • What they said (comment text)
    • Which post they commented on
    • ACV tier and why they qualify for the high-value path
    • A link to the engager's LinkedIn profile

If either condition is NOT met (not high ACV, or not a decision maker) — stop after standard processing. No connection request, no Slack post. The engagement is logged and scored silently.

Repeated Engagement (2+ Interactions)

When the same ICP lead engages 2 or more times across {{PROFILE_OWNER}}'s posts:

Active buyer check (run before any escalation): verify the engager is currently active in a buying role at the ICP company:

  • Is the ICP company their primary, active role? If they have stepped back (currently running a separate startup, recently founded a new company, or no longer day-to-day there), treat them as a non-buyer and stop — do not surface, do not sequence, do not create a task.
  • If their primary/active company is itself not an ICP fit (a 2-person startup, a personal venture studio, or self-serve territory), stop. Do not escalate on their nominal association with the larger company.
  • Partner-potential exception: a GTM operator, agency owner, or advisor who might refer clients to you gets flagged to your partnerships owner instead of routed as a buyer.

If the active buyer check passes:

  1. Move to high intent — Update their stage to MQL (high intent signal)
  2. Build a multi-channel sequence — Create a personalized multi-channel campaign, queued for review (never sent automatically):
    • Open with a question tied to your product's core problem space
    • Personalize based on their engagement history and what they do
    • Use both LinkedIn and email if available
    • Reference their repeated engagement naturally
  3. Post to {{ENGAGEMENT_CHANNEL}} flagging this as high-intent (2+ interactions), include the full engagement history, and recommend immediate follow-up. This notification fires regardless of ACV tier — repeated engagement is always worth surfacing.
  4. Load {{ALERT_FORMAT_SKILL}} for the alert format (or inline your format here).

First-touch alert-tier rule: Even on a first interaction, if the engager's company is tagged {{ALERT_TIERS}}, immediately post to {{ENGAGEMENT_CHANNEL}} with a high-priority flag. Do not wait for a second interaction.

Lead Magnet Posts

Some posts may offer a lead magnet (e.g., "Comment X to get Y"). When this happens:

  1. Current lead magnet: There is no active lead magnet at this time. Do NOT share any URLs or documents. Treat commenters on lead magnet posts with the standard processing flow.
  2. Future lead magnets — {{PROFILE_OWNER}} updates this section before each new lead magnet post with the post topic and corresponding URL. The skill only ever shares the URL written here — never an inferred or remembered one.

Key Principles

  • Track ALL comments and reactions (likes) from ICP companies and agencies
  • High-value path (connection request + Slack) only fires for high ACV + decision maker — don't burn {{PROFILE_OWNER}}'s connection budget on low-value targets
  • Repeated engagement always gets surfaced, regardless of ACV tier
  • Always personalize based on what they said
  • If outreach is needed, build the campaign — don't just recommend reaching out
  • Keep initial outreach warm and helpful, not salesy
  • LinkedIn engagement is the lowest-weight signal — capped at the second-lowest tier unless stacked with other signals

What good looks like

A great run processes only engagers who clear both gates — ICP company and buying persona — and the high-value path fires precisely: high-ACV tag plus decision maker, nothing else. Repeat engagers get a personalized multi-channel draft queued for review with their full engagement history attached, and every alert includes what the person actually said.

Lone reactions stay in their light-touch lane, and repeat engagers who have stepped back from the ICP company get caught by the active-buyer check instead of escalated.

Mediocre looks like: full-treatment alerts fired on a lone like, connection requests burned on individual contributors, engagement alone driving Gold or Diamond tiers, alerts without the comment text, or sequences going out without review.

1---
2name: "linkedin-engagement-handler"
3title: Handle LinkedIn post engagement signal
4description: "Use this skill when monitoring comments and reactions on a team member's LinkedIn posts. Comments get the full treatment — ICP + persona gating, CRM and account-memory logging, lead scoring, and a high-value path to connection requests and Slack alerts — while lone reactions are logged as a light touch unless the account is top-tier or a repeat engager. Repeat engagers escalate to high intent after an active-buyer check, with a personalized multi-channel draft queued for review."
5category: Signals
6---
7 
8## Template placeholders
9 
10Replace every `{{...}}` before enabling. See the setup checklist reference for the full setup list.
11 
12- `{{PROFILE_OWNER}}` — Team member whose LinkedIn posts are monitored
13- `{{INTERNAL_DOMAINS}}` — Your company domain(s)
14- `{{TEAM_MEMBERS}}` — First names / known aliases of your team (engagement from them is ignored)
15- `{{CRM}}` — Your CRM (e.g. HubSpot)
16- `{{ENGAGEMENT_CHANNEL}}` — Slack channel for high-value engagement alerts
17- `{{CRM_HYGIENE_SKILL}}` — Sub-skill reference: how to create/update companies & contacts in your CRM
18- `{{LEAD_SCORING_SKILL}}` — Sub-skill reference: lead scoring & qualification methodology
19- `{{ALERT_FORMAT_SKILL}}` — Sub-skill reference: your alert formatting skill (optional — inline the format if you don't have one)
20- `{{HIGH_ACV_TAG}}` — Workspace tag marking high-ACV-potential accounts
21- `{{SELF_SERVE_THRESHOLD}}` — Company size below which accounts are self-serve (default: fewer than 30 employees)
22- `{{ALERT_TIERS}}` — Tiers that always alert on first touch (default: Gold, Diamond)
23 
24 
25## Signal type — read first
26 
27Check the event type in the webhook payload before processing:
28 
29- **New comment** → full treatment (everything below).
30- **New reaction (like)** → light touch only: log to {{CRM}} + account
31 memory, then stop. No connection request. No Slack alert.
32 Exception: if the company is tagged {{ALERT_TIERS}}, or this is a repeated
33 engagement (2+ interactions), apply the full treatment.
34 
35Comments and reactions are deliberately separate lanes: a comment is an
36opinion someone attached their name to; a lone like is awareness at best —
37volume is far higher and signal far lower.
38 
39## Engagement Process
40 
41### For Every ICP Lead/Agency Interaction
42 
43When someone from an ICP company or relevant agency comments on or likes
44{{PROFILE_OWNER}}'s post, **AND they match a relevant persona**:
45 
46**Relevant personas** *(tune to your ICP's buying committee)*:
47 
48- Sales Leader (CRO, SVP Sales, VP Sales, Head of Sales, Director of Sales)
49- Growth Lead (Head of Growth, Director of Growth, VP Growth, or senior
50 marketing leader)
51- CEO (for companies in your core geographic/vertical segment)
52- Agency Owner (for agencies in your space)
53- GTM Engineer (GTM Engineer, Revenue Engineer, Marketing Engineer, Sales
54 Engineer focused on GTM infrastructure)
55- RevOps Lead, Head of Demand Gen, CMO
56 
57**Ignore engagement from:**
58 
59- CFOs, finance roles
60- CTOs, engineers, technical roles (unless they're also founders/CEOs or
61 GTM-focused)
62- HR, operations, customer success
63- Individual contributors without buying responsibility (except the
64 engineer-persona exception above)
65- Your own team ({{INTERNAL_DOMAINS}} domain, or known names:
66 {{TEAM_MEMBERS}})
67- Universities, academic institutions, professors, researchers
68- Companies below {{SELF_SERVE_THRESHOLD}} (self-serve)
69 
70If the person is from an ICP company but NOT a relevant persona, ignore the
71engagement entirely.
72 
73#### Standard Processing (All ICP + Relevant Persona Engagers)
74 
751. **Check relationship status** — Are they a customer, active pipeline, or
76 closed-lost? If yes, acknowledge but don't run the standard engagement
77 flow.
782. **Mark awareness stage** — Update the company record to your Aware stage
79 if they're not already further along in the funnel. Never move a company
80 backwards.
813. **Update {{CRM}} + account memory** — Log the engagement (who, what they
82 said, which post) and update the account record. Follow
83 {{CRM_HYGIENE_SKILL}} for CRM writes.
844. **Run Lead Scoring** — After processing (only when the person belongs to
85 an identifiable company), run {{LEAD_SCORING_SKILL}}. LinkedIn engagement
86 is the lowest-weight signal — include it in the signal stack but do not
87 let it alone push an account above the second-lowest tier.
88 
89#### High-Value Path (High ACV + Decision Maker Only)
90 
91After standard processing, check if the engager's company has the
92{{HIGH_ACV_TAG}} tag AND the engager is a strong buyer persona (CRO, VP
93Sales, VP Marketing, CMO, CEO, Co-founder, RevOps Lead, Head of Demand Gen,
94Agency Owner, or equivalent GTM leadership).
95 
96If BOTH conditions are met:
97 
985. **Queue a LinkedIn connection request** from {{PROFILE_OWNER}}'s
99 account for approval. Connection requests carry no note by design
100 (better acceptance rates). Skip if already connected.
101 *(⚠️ Policy decision — see the checklist. The original deployment
102 auto-sent these with no approval for this narrow high-ACV +
103 decision-maker path; switch to auto-send only as a conscious opt-in.)*
1046. **Post to {{ENGAGEMENT_CHANNEL}}** with:
105 - Who engaged (name, title, company)
106 - What they said (comment text)
107 - Which post they commented on
108 - ACV tier and why they qualify for the high-value path
109 - A link to the engager's LinkedIn profile
110 
111If either condition is NOT met (not high ACV, or not a decision maker) —
112stop after standard processing. No connection request, no Slack post. The
113engagement is logged and scored silently.
114 
115### Repeated Engagement (2+ Interactions)
116 
117When the same ICP lead engages 2 or more times across {{PROFILE_OWNER}}'s
118posts:
119 
120**Active buyer check (run before any escalation):** verify the engager is
121currently active in a buying role at the ICP company:
122 
123- Is the ICP company their primary, active role? If they have stepped back
124 (currently running a separate startup, recently founded a new company, or
125 no longer day-to-day there), treat them as a non-buyer and **stop — do not
126 surface, do not sequence, do not create a task**.
127- If their primary/active company is itself not an ICP fit (a 2-person
128 startup, a personal venture studio, or self-serve territory), stop. Do not
129 escalate on their nominal association with the larger company.
130- Partner-potential exception: a GTM operator, agency owner, or advisor who
131 might refer clients to you gets flagged to your partnerships owner instead
132 of routed as a buyer.
133 
134If the active buyer check passes:
135 
1361. **Move to high intent** — Update their stage to MQL (high intent signal)
1372. **Build a multi-channel sequence** — Create a personalized multi-channel
138 campaign, queued for review (never sent automatically):
139 - Open with a question tied to your product's core problem space
140 - Personalize based on their engagement history and what they do
141 - Use both LinkedIn and email if available
142 - Reference their repeated engagement naturally
1433. **Post to {{ENGAGEMENT_CHANNEL}}** flagging this as high-intent (2+
144 interactions), include the full engagement history, and recommend
145 immediate follow-up. This notification fires regardless of ACV tier —
146 repeated engagement is always worth surfacing.
1474. **Load {{ALERT_FORMAT_SKILL}}** for the alert format (or inline your
148 format here).
149 
150**First-touch alert-tier rule:** Even on a first interaction, if the
151engager's company is tagged {{ALERT_TIERS}}, immediately post to
152{{ENGAGEMENT_CHANNEL}} with a high-priority flag. Do not wait for a second
153interaction.
154 
155### Lead Magnet Posts
156 
157Some posts may offer a lead magnet (e.g., "Comment X to get Y"). When this
158happens:
159 
1601. **Current lead magnet:** There is no active lead magnet at this time. Do
161 NOT share any URLs or documents. Treat commenters on lead magnet posts
162 with the standard processing flow.
1632. **Future lead magnets** — {{PROFILE_OWNER}} updates this section before
164 each new lead magnet post with the post topic and corresponding URL. The
165 skill only ever shares the URL written here — never an inferred or
166 remembered one.
167 
168## Key Principles
169 
170- Track ALL comments and reactions (likes) from ICP companies and agencies
171- High-value path (connection request + Slack) only fires for high ACV +
172 decision maker — don't burn {{PROFILE_OWNER}}'s connection budget on
173 low-value targets
174- Repeated engagement always gets surfaced, regardless of ACV tier
175- Always personalize based on what they said
176- If outreach is needed, build the campaign — don't just recommend reaching
177 out
178- Keep initial outreach warm and helpful, not salesy
179- LinkedIn engagement is the lowest-weight signal — capped at the
180 second-lowest tier unless stacked with other signals
181 
182---
183 
184## What good looks like
185 
186A great run processes only engagers who clear both gates — ICP company and buying persona — and the high-value path fires precisely: high-ACV tag plus decision maker, nothing else. Repeat engagers get a personalized multi-channel draft queued for review with their full engagement history attached, and every alert includes what the person actually said.
187 
188Lone reactions stay in their light-touch lane, and repeat engagers who have stepped back from the ICP company get caught by the active-buyer check instead of escalated.
189 
190Mediocre looks like: full-treatment alerts fired on a lone like, connection requests burned on individual contributors, engagement alone driving Gold or Diamond tiers, alerts without the comment text, or sequences going out without review.
191 
View all files on GitHub →

Details

Updated
Sep 23, 2026
License
MIT
Stars on the repo
★ 159
Checked
Source
swan-gtm/gtm-skills ↗
Creator
swan-gtm · 51 listings
View creator

Similar skills

See all →
SkillAct as a comprehensive AI sales intelligenceAI Sales Team — Main Orchestratorzubair-trabzada/ai-sales-team-claude · by zubair-trabzadaYou are a comprehensive AI sales intelligence and outreach system for Claude Code. You help founders, sales teams, agency owners, and…★ 1.4k GitHub starsSkillAutonomous cold email campaign launcherAuto research publicgrowthenginenowoslawski/coldoutboundskills · by growthenginenowoslawskiAutonomous cold email campaign launcher. Takes one target company domain, scrapes their website, generates an ICP with Claude, pulls matching leads via Prospeo, enriches emails + company descriptions, personalizes each lead with parallel Claude Code Task sub-agents (A/B/C variants), and uploads as a live Smartlead campaign. Uses local JSON files for state (no database required). Use for automated daily campaign launches after you have an initial `client-profile.yaml` from /icp-onboarding. Triggers on "auto-research", "launch an automated campaign", "daily campaign", "run the research loop".★ 736 GitHub starsSkillRun a full Account-Based Marketing campaign end-to-endABM Campaign — DIY Playbookexplorium-ai/gtm-skills · by explorium-aiABM campaign skill for Claude Code: run a full Account-Based Marketing campaign end-to-end — from ICP definition to live LinkedIn Ads. Builds targeted account lists with Vibe Prospecting, enriches and scores companies with real-time B2B data, generates personalized ad creatives with Claude Code and Figma, pushes matched audiences to LinkedIn Ads, and monitors campaigns daily at scale. The complete GTM skill for AI-driven account-based marketing in Claude Code, Codex, Hermes-Agent, and OpenClaw. No agency needed.★ 197 GitHub starsSkillContact data skill for Claude Code and Codex: build a rankedAccount contact shortlistexplorium-ai/gtm-skills · by explorium-aiContact data skill for Claude Code and Codex: build a ranked shortlist of decision-makers and contacts at a target company for outbound prospecting, deal acceleration, or renewal/expansion plays. Returns verified contact data including email, phone, LinkedIn profile, title, seniority, and department. Provide a company name or domain plus optional seniority focus or use case. Use for contact data enrichment, LinkedIn profile lookup, and building outbound contact lists. Works in Claude Code, Codex, Hermes-Agent, and OpenClaw.★ 197 GitHub starsSkillLead scoring and buying signals skill for Claude CodeAccount fit rankexplorium-ai/gtm-skills · by explorium-aiLead scoring and buying signals skill for Claude Code and Codex: rank a list of accounts by ICP fit, buying intent, real-time trigger events, and workforce momentum. Returns composite score (0-100), tier (A/B/C), and a 'why now' signal per account. Use for account-based selling, ABM list prioritization, territory planning, signal-based selling, and buyer-intent ranking. Triggers on 'score these accounts', 'rank by ICP fit and intent', 'prioritize this account list', 'which accounts have the strongest buying signals', 'ICP scoring', 'account prioritization'. Works in Claude Code, Codex, Hermes-Agent, OpenClaw, and Claude Cowork.★ 197 GitHub starsSkillRun end-to-end B2B cold-email outreach through the Hyper MCPhyperfx-ai/marketing-skills · by hyperfx-aiRun end-to-end B2B cold-email outreach through the Hyper MCP — enrich prospects with Apollo, scrape per-prospect signals from company sites and LinkedIn, draft personalized emails using proven hook frameworks, send via Gmail with safe defaults, and route replies into labeled folders. Use when the user wants to write cold emails, run an outbound sequence, prospect a list, build a follow-up cadence, "reach out to leads," or asks why nobody is replying to their cold emails.★ 90 GitHub stars

More from swan-gtm

SkillAn ABM program cannot prove engagement mattersAccount-Based Engagement Scoring and Buying Group Measurementswan-gtm/gtm-skills · by swan-gtmUse this skill when an ABM program cannot prove engagement matters, accounts get handed to sales on gut feel, or nobody knows which activity moves buying groups forward. Builds an account engagement score (weighted signals plus decay), maps buying group coverage across the decision-making unit, and defines explicit handover gates so marketing and sales agree on readiness. Produces a scoring model, a buying group tracker template, and a handover decision rule. Rule: without buying group visibility a high engagement score is a false positive; handover requires both the score and the coverage threshold met. Trigger phrases: ABM measurement, which accounts are hot, buying committee coverage, when do we hand this to sales, account engagement score, ABM ROI.★ 159 GitHub starsSkillWriting ad copy — headline formulas, visual directionAd Copywriting - Headline Formulas, Visual Design & Voice of Customerswan-gtm/gtm-skills · by swan-gtmUse this skill when writing ad copy — headline formulas, visual direction, and voice-of-customer sourcing that makes ads specific instead of generic.★ 159 GitHub starsSkillDefining ad personasAd Persona Frameworkswan-gtm/gtm-skills · by swan-gtmUse this skill when defining ad personas — translating ICP segments into the persona lens every ad, angle, and offer gets built against.★ 159 GitHub starsSkillA percentage in a commercial term is being set, questionedAudit the base not the rateswan-gtm/gtm-skills · by swan-gtmUse this skill when a percentage in a commercial term is being set, questioned, or is producing a number nobody expected — sales commission, revenue share, affiliate and creator payouts, channel margin, agency fees, referral fees, rebates. Triggers: "reps are hitting quota but margin isn't moving", "what does this promo actually cost us", "our partner payouts are higher than the model", "is 15% a fair rate", "we're renegotiating the split", "the comp plan is paying out on deals we lost money on". It finds what the percentage multiplies, identifies the condition under which that choice starts to matter, quantifies the gap at that condition, and identifies the clause to revisit.★ 159 GitHub starsSkillInbound leads arrive incomplete B2B Data Enrichment for Revenue Operationsswan-gtm/gtm-skills · by swan-gtmUse this skill when inbound leads arrive incomplete (missing company size, industry, revenue), the TAM list lacks data for scoring, or the CRM cannot route and segment without enrichment. Maps coverage gaps, compares single-source and waterfall provider strategies, and builds an integration roadmap with cost guardrails and quality gates. Produces a provider recommendation matrix, a waterfall architecture, and a go or no-go checklist. Rule: no single provider has full coverage; a waterfall across two or more providers in sequence beats any one source on match rate. Trigger phrases: data enrichment, leads come in with no company info, enrichment coverage, firmographic data, which enrichment tool, data freshness.★ 159 GitHub starsSkillYou need to know what people are saying about a brandBrand mention monitorswan-gtm/gtm-skills · by swan-gtmUse this skill when you need to know what people are saying about a brand across the web and social — "monitor brand mentions", "what are people saying about [brand] this week", "run a brand sweep", "social listening", "find high-risk mentions", or "how does [brand] compare to [competitor] in the conversation". Sweeps social platforms, news, forums, and review sites; scores every mention on reach, velocity, sentiment, and risk-topic match; and produces a triage report bucketed into Crisis / Watch / Engage / Log with a suggested owner and response window for each mention, so the team responds before one spirals.★ 159 GitHub stars