playbook-new-in-role

Generates cold email opening lines about prospects who recently changed job titles.

678|243|Updated Mar 10, 2026
One-click install
npx skills add https://github.com/growthenginenowoslawski/coldoutboundskills --skill playbook-new-in-role
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: playbook-new-in-role
Source: https://github.com/growthenginenowoslawski/coldoutboundskills/tree/main/skills/playbooks/playbook-new-in-role
Command: npx skills add https://github.com/growthenginenowoslawski/coldoutboundskills --skill playbook-new-in-role

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Cold email campaigns targeting buyers who recently started a new role need a personalized opening line per prospect, but manually researching job-change dates and writing one clause per person does not scale, and naive automation produces factually wrong or awkward copy.

Core Features & Use Cases

  • Source-side tenure filtering: Queries the Prospeo /search-person API with person_time_in_current_role so only people who started their current title within a configurable window (default 90 days, ceiling 9 months) are returned, with measured volume trade-offs per window.
  • Deterministic fact computation: Derives role_change_type (promotion vs new hire), months_in_role, role_start_month, and prior_title in code from the job_history array, so the model never decides facts.
  • Locked prompt line writer: A graded prompt (PASS 9/10) for a small reasoning model that outputs a lowercase, max-90-character clause completing "Saw <line>.", with abstain, cross-year, and truncation guards.
  • Use Case: A campaign targeting new VPs of Operations at US companies with 50-2000 employees pulls the filtered list, gates on current title, and produces new_in_role_line values like "you stepped into the COO seat at Irby earlier this year" for the first sentence of email 1.

Quick Start

Find US-based VPs of Operations at companies with 50 to 2000 employees who started their role in the last 90 days and write a personalized opening line for each one.

Frequently Asked Questions about playbook-new-in-role

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find people who recently started a new job for cold email?▼

Query the Prospeo /search-person endpoint with the person_time_in_current_role filter set to a month range like {min: 0, max: 3} for a 90-day window. This filters at the source, so returned rows already carry the role start date and job history.

How do I write personalized opening lines about a prospect's job change?▼

Compute facts deterministically from the job_history array, then pass them to a small reasoning model with the locked prompt. The model returns a lowercase clause under 90 characters that completes the sentence "Saw <line>." with no trailing period.

Prospeo search-person vs LinkedIn Sales Navigator scraper for job change data?▼

Prospeo is effectively free with exact month-level tenure filters but uses a database snapshot. The Apify Sales Navigator scraper costs roughly $3.20 per 1,000 profiles, is LinkedIn-live, but only offers a coarse 90-day boolean and requires a mandatory cleanup pass for stale results.

Why does the Prospeo API return HTTP 400 INVALID_FILTERS?▼

The correct filter key is person_time_in_current_role with an integer month range, not person_time_in_current_position or a string like "0-6". The INVALID_FILTERS error does not distinguish unknown keys from bad values, so read the filter docs instead of probing.

Why does the model return empty lines for every row?▼

At default reasoning effort the prompt returns finish_reason=length with empty content because reasoning consumes the token budget. Set reasoning_effort to minimal and retry on length finish reasons rather than recording them as abstentions.

What are the limitations of new-in-role prospecting signals?▼

Tight windows collapse volume sharply: 90 days returned 2 rows versus 1,662 unfiltered on one measured base, so widen the title family first. About 1 in 10 rows may carry a wrong source title that no output verifier can catch without a leadership-page cross-check.