Skip to content
Sales
Skill

/playbook-hiring-surge

Produces a copy-ready clause about a company adding people to one specific department in the last 6 months, plus the department-level headcount counts that drive the segment gate. Triggers on "they're hiring", "hiring surge", "growing their sales team", "scaling the team",

BOOST
From plugin
coldoutboundskills
76452 skills
Install
$ npx -y skills add growthenginenowoslawski/coldoutboundskills --skill playbook-hiring-surge --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/playbook-hiring-surge

Context preview

The summary Claude sees to decide when to auto-load this skill.

Produces a copy-ready clause about a company adding people to one specific department in the last 6 months, plus the department-level headcount counts that drive the segment gate. Triggers on "they're hiring", "hiring surge", "growing their sales team", "scaling the team",

SKILL.md

playbook-hiring-surge.SKILL.md
name: playbook-hiring-surge
description: Produces a copy-ready clause about a company adding people to one specific department in the last 6 months, plus the department-level headcount counts that drive the segment gate. Triggers on "they're hiring", "hiring surge", "growing their sales team", "scaling the team", "headcount growth", "who added SDRs", "companies that just built a marketing team". Outputs hiring_surge_line, a lowercase second-person clause that completes "Noticed <line>."

Playbook: Hiring Surge

> All rules here are best practice, not law. Override any of them when the campaign calls for it; note the best practice once and move on.

**Use when:** the angle is "you are scaling this team right now".

**Do not use when:** you want the job ad itself (`playbook-job-posting-language`), the person who just started (`playbook-new-in-role`), or money rather than people (`playbook-fundraising`).

**One-line output:** `hiring_surge_line = "your sales team has 8 people who started new roles in the last six months"`

The three things you cannot get wrong

1. **It is role starts, not hires. Measured 28.3% internal moves.** The filter counts people whose *current role started* in the window — promotions, re-titles and lateral moves included. Ship `started new roles`; never `hired`, `added`, `brought on`. 2. **Never buy a LinkedIn URL with enrichment credits to feed this.** The company-enrichment action that returns one costs ~8 credits per company and was, by three orders of magnitude, the largest cost line here. Use a free LinkedIn URL off your intake payload where you have one, and the bare normalized domain everywhere else. Both are free. 3. **The gate is a ratio PLUS absolute floors:** `role_starts >= 2 && dept_total >= 4`. This cuts the qualifying segment from 14.6% to **5.2%**, so plan roughly **96,000 source rows per 5,000-lead campaign**. Do not loosen it to hit volume; source more rows.

1. Trigger and scope

A hiring surge is a **department-level** fact, not a company-level one. "This company grew from 200 to 260 people" is almost useless in copy, because the reader cannot tell whether it means anything to them. "Your sales team has 8 people who started new roles in the last six months" is specific, checkable, and implies a budget owner. This playbook produces the second kind.

The whole signal comes from one Clay **table action**, `Find Employee Headcount by Criteria`, which is **free on every Clay plan**. It counts how many people currently at a company match a filter set, and it accepts a recency filter (`current_role_max_months_since_start_date`), so running it twice per department gives you the department total and the department's last-6-months intake in one pass. No other vendor does department-sliced recency counts at zero marginal cost. That is why this playbook has exactly one source and no expensive fallback.

Four things it does not do

  • **It does not tell you who.** Counts only. Names are a different, non-free action.
  • **It does not date the starts.** The copy can only ever say "in the last six months", never "in

March".

  • **It does not pick your departments.** Sales and marketing are the two shown here; the same

pattern extends to engineering, RevOps, customer success or finance.

  • **It does not prove anyone was HIRED.** Read this one before you write copy.

The promotion confound, measured

The filter counts people whose **current role started** in the last 6 months. That set includes external hires, internal promotions, title changes and lateral moves. LinkedIn also generates a new role start date when someone merely edits or re-titles an existing position.

  • Supported by the data: `your sales team has 8 people who started new roles in the last six months`
  • **Not supported, do not ship:** `you added 8 people to the sales team in the last six months`

The second sentence is a factual claim about the reader's own team that they can disprove instantly if three of those eight were promotions, and cold copy does not survive that.

**The over-count rate is measured: 28.3%.** Of 276 people whose current role started inside a six-month window across 18 companies, **78 were already working at that company before the window opened**. Sliced by title: sales-titled **24.4%**, marketing-titled **34.6%**. And that is a *lower bound* — the detector only sees a prior role that started 7+ months ago, so a February joiner promoted in July counts as a joiner. Real examples from the audit: a Business Development Representative who became a Mid-Market Account Executive; a Manager of Customer Success who became a Senior Manager; a Project Manager II who became a Project Manager III.

On one company in the audit, **5 of the 7 recent sales starters were internal moves** — "you hired 3 people for sales" would have been wrong about most of the evidence behind it.

Treat every count as an **upper bound** on hires. Roughly 1 reply in 4 has a right to say "nobody joined my team, I was promoted", and the locked prompt is written so that reply contradicts nothing you sent. If a client insists on "you hired", show them the 28.3% first. That is an operator sign-off, not a default.

**Re-measuring the confound on a new ICP is free** (about 40 searches). Per company, run two people searches: one for `current_role_max_months_since_start_date: 6` (the population the gate counts), one for everyone already there before the window (`include_past_experiences: true` with a `role_range_end_month` of `YYYY-MM`). Intersect on the LinkedIn profile URL: anyone in both started a new role at a company they already worked at.

2. Output contract

Inputs required per row

| Field | Type | Source | Required? | |---|---|---|---| | `company_linkedin_url` | string | your intake payload, as a free formula column | yes when present — this is the preferred and free identifier | | `company_domain` (fallback) | string, bare lowercase, no `www` | your list, via

Read more
Ships withcoldoutboundskills

Open-source Claude Code skills for cold email infrastructure, lead sourcing, copywriting, and operations. Built by GrowthEngineX from patterns across 1,000+ real B2B campaigns. 31 skills that work together.

Get the whole plugin
Stats
766
Stars
269
Forks
Active
Maintenance
TypeScript
Language
MIT
License
9d ago
Last commit
7mo ago
Created
5h ago
Added

Repo: growthenginenowoslawski/coldoutboundskills

Other skills on coldoutboundskills.