Signal triage
Production-ready Claude Code Skill Pack for LinkedIn outreach.
npx -y skills add faiz-sayyad/gtm-outreach-skills --skill signal-triageAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- 16 days oldThe repository was created 16 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Classify an incoming outbound signal by tier (T1/T2/T3), set the SLA, and recommend the outreach channel. Use whenever the user pastes signal data, describes a buying signal, mentions a target account firing a signal, or asks how to prioritize incoming outbound signals — even if they don't explicitly use the word "triage." Also use for questions like "should I reach out?", "how fast should I respond?", or "is this a hot lead?"
SKILL.md
8.9 KB, ~2.2k tokens by cl100k_base, as published. Nobody here has run it
Signal Triage
Classify one signal event into a tier, an SLA (time to respond), and a recommended channel + owner. Read icp.md before running this skill — the tier decision depends heavily on ICP fit.
When this skill triggers
The user has pasted or described a signal event and wants to know:
- What tier it belongs to (T1 / T2 / T3 / Nurture)
- How fast someone needs to respond
- Which channel is the right first touch
- Whether it's worth acting on at all
The tiering rubric
Signal tier is a composite of signal strength × ICP fit × recency.
Signal strength (which type of signal fired)
Strong signals (worth +25 to +40 points):
- Anonymous website visitor de-anonymized on pricing/demo/case-study page
- Same domain visited pricing 3+ times in 7 days
- High-intent asset downloaded (ROI calculator, pricing guide, comparison sheet)
- Champion job change into an ICP-fit account
- Exec at target account publicly posted about a problem you solve
Moderate signals (worth +15 to +25 points):
- Repeat LinkedIn engagement from a target account (3+ touches in 14 days)
- Review site activity in your category
- Funding round announced at target account
- Strategic hire posted (SDR, RevOps, Head of Marketing at ICP-fit company)
Weak signals (worth +5 to +15 points):
- Tech-stack change (added or churned competitor)
- General LinkedIn engagement (1-2 touches)
- News mention without specific problem-language
- New follower from an ICP-fit domain
ICP fit (from icp.md)
- Perfect ICP match (all firmographic filters pass) → +25 pts
- Adjacent (industry-fit, wrong size band) → +15 pts
- Right industry, wrong role/persona → +5 pts
- Doesn't match ICP at all → 0 pts (regardless of signal strength)
Recency
- Signal fired in last 72 hours → +25 pts
- 3–7 days ago → +15 pts
- 7–30 days ago → +5 pts
- More than 30 days ago → 0 pts (functionally dead)
Composite tier
Add the three scores. Then:
| Composite | Tier | SLA |
|---|---|---|
| 75–100 | T1 (All-hands) | 4 hours |
| 50–74 | T2 (Priority) | 24 hours |
| 30–49 | T3 (Sequence) | 7 days |
| Below 30 | Nurture | No direct outreach — add to newsletter or content nurture |
Channel recommendation
Match channel to tier and to the nature of the signal:
| Situation | Recommended first channel |
|---|---|
| T1 + LinkedIn signal (post engagement, job change) | LinkedIn DM |
| T1 + web/pricing signal (RB2B, page returns) | Email if you have it, LinkedIn if not |
| T1 + champion at new account | Warm reintroduction email or LinkedIn DM |
| T2 + any signal | LinkedIn connection request with note |
| T3 | Triggered email sequence, LinkedIn as a secondary touch |
| Nurture | Add to newsletter list, no direct 1:1 outreach |
Owner recommendation
| Tier | Owner |
|---|---|
| T1 | Named AE for that account, OR most senior person on outbound team |
| T2 | SDR queue |
| T3 | Automated sequence (SDR reviews replies only) |
| Nurture | Marketing / content team |
Input the skill expects
Any of these three shapes:
- JSON-ish structured data:
{
"signal_type": "champion_job_change",
"person": "Sarah Chen",
"title": "CTO",
"company": "Acme Corp",
"company_size": "200 employees",
"industry": "B2B SaaS",
"signal_date": "2 days ago",
"notes": "left Beta (customer of ours) to join Acme"
}
- Freeform description:
"Sarah Chen just changed jobs — was CTO at Beta, moved to Acme as CTO. Acme is Series A B2B SaaS, 200 employees. Happened 2 days ago. Beta was a customer of ours."
- A pasted signal alert from Trigify, RB2B, or similar — parse the relevant fields.
If required data is missing (specifically: signal type, ICP fit indicators, or recency), ask the user for it before scoring.
Output format
Always return in this structure. Use fenced code blocks so the user can paste into their CRM.
TRIAGE RESULT
Signal: Champion job change → Sarah Chen → Acme Corp (Series A B2B SaaS, 200 emp)
Signal date: 2 days ago (recency = strong)
ICP fit: Perfect (matches size, industry, geo)
Signal strength: +35 (champion moved into an ICP-fit target)
ICP score: +25
Recency: +25
Composite: 85 → TIER 1 (All-hands)
SLA: 4 hours
Channel: LinkedIn DM (warm reintro — she was at a former customer)
Owner: Named AE for Acme, OR founder if no AE assigned yet
Reason: This is the closest thing to free pipeline. Champion knows you, trusts you, and now has budget authority at a target account.
RECOMMENDED NEXT STEP
1. Confirm no active opportunity or existing customer status at Acme
2. Draft opener referencing Beta relationship + her new role, NOT the product yet
3. Send in the first 4 hours — new-role attention window is tight
Rules
- Never triage a signal without checking against
icp.md. If ICP is stubbed, ask the user to fill it before continuing. - Never assign a tier higher than T3 for a signal on an account that doesn't match ICP, no matter how strong the signal type.
- Never guess about recency — if you don't have the signal date, ask.
- Never recommend a channel that requires data you don't have (e.g., don't say "email" if you have no email address surfaced).
- Never invent an owner name. If the user hasn't specified who owns which account, recommend the role (AE / SDR) not a person.
Common failure modes
Failure: over-tiering weak signals because ICP is a perfect match. Fix: Weak signal + perfect ICP is still T3 at best. Signal strength ceiling matters.
Failure: under-tiering strong signals because the account is smaller than the "usual" ICP. Fix: A signal on a smaller company that still passes core ICP filters can absolutely be T1 — just note the smaller ACV in the reasoning.
Failure: assigning T1 SLA to something the user's team can't actually respond to in 4 hours. Fix: If the user has told you their team can't hit 4-hour SLA, downshift to their real cadence and note it. Better to be honest about the constraint than to set impossible SLAs.
Examples
Example 1 — clean T1
Input: "Someone just visited our pricing page for the third time this week. RB2B says it's HubSpot, someone with a Head of Sales title, based on the domain resolution."
Output:
TRIAGE RESULT
Signal: Pricing page returns → Head of Sales @ HubSpot → 3 visits in 7 days
Signal strength: +35 (repeat pricing = active budget conversation)
ICP fit: +25 if HubSpot fits your ICP (Head of Sales at large SaaS)
Recency: +25 (this week)
Composite: 85 → TIER 1
SLA: 4 hours
Channel: LinkedIn DM (RB2B doesn't surface email — need to bridge to LinkedIn)
Owner: Named AE for the HubSpot account (if you're targeting them enterprise), otherwise founder
Reason: Third pricing visit means someone at HubSpot is building an internal case. The window is small — a week from now they'll have made a decision without you.
RECOMMENDED NEXT STEP
1. Enrich the persona: find the exact person via LinkedIn Sales Navigator
2. Send a LinkedIn DM referencing the buying motion (NOT the pageview — that reads as surveillance)
3. Angle: "Building an eval short-list for [category]? Happy to save you the demo-week tax."
Example 2 — T3 with a nuance
Input: "Trigify just flagged that Acme raised a Series A. They're in B2B SaaS, 40 employees. Announcement was 5 days ago."
Output:
TRIAGE RESULT
Signal: Funding round → Series A → Acme Corp (B2B SaaS, 40 emp)
Signal strength: +20 (funding = budget forming, but no direct buying signal)
ICP fit: +15 if 40-emp is below your usual band but adjacent
Recency: +15 (5 days ago is still fresh but not urgent)
Composite: 50 → TIER 2 (borderline)
SLA: 24 hours
Channel: Personalized LinkedIn connection request + email if you can find one
Owner: SDR
Reason: Series A companies typically finalize stack decisions in the first 60-90 days post-funding. The window is real but not urgent. Also — you're outside their peak "everyone's pitching me" week (day 1-3) which is actually a good thing.
RECOMMENDED NEXT STEP
1. Enrich for buyer persona: who runs GTM at Acme? Usually a co-founder at 40 emp
2. Angle: forward-looking. "Congrats on the round. Companies at your stage typically rebuild [function] in the first 90 days — happy to share what's worked at [comparable co]."
3. Send in the next 24 hours
Related skills
If the triage lands at T1 or T2, the user's next step is usually to draft outreach. Suggest they use:
linkedin-openerfor the first linelinkedin-connection-noteif they need to send a connection request firstfollow-up-sequenceafter 5 days of silence