playbook-job-posting-language

Generates a copy-ready cold email clause referencing a company's current job postings.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Cold email personalization often relies on generic openers. This Skill turns a company's live job postings into a specific, copy-ready clause (e.g., "you're hiring an account executive") that slots directly into a cold email sentence, while preventing stale or wrong-company references from reaching a send.

Core Features & Use Cases

  • Server-side job filtering: Queries jobs APIs with keyword filters on posting descriptions, since returned fields never include the full description text.
  • Freshness and name-match gates: Blanks any line whose posting is older than 30 days and rejects postings resolved to the wrong company, so copy never cites dead or misattributed roles.
  • Locked line-writer prompt: Rewrites raw job titles into plain spoken words via a fixed prompt, with measured guidance on when keyword filters suffice versus when an AI classifier is justified.
  • Use Case: Given a list of target company domains, produce a job_posting_line_safe value per row that drops into "Saw {{job_posting_line_safe}}." in a cold email sequence, with Clay table and Clay workflow builds included.

Quick Start

Give the skill a list of company domains and names plus a keyword set like "cold calling" and ask it to generate the job posting line for each row.

Frequently Asked Questions about playbook-job-posting-language

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

FAQPage Schema
How do I personalize cold emails using job postings?▼

Query a jobs API for each company domain with your keyword set in the description filter, then rewrite the matched job title into a short lowercase clause. Bind only the freshness-gated job_posting_line_safe field into copy, never the raw line.

Why does my jobs API keyword filter return no matches?▼

Jobs APIs return title, date, and URL but never the full description, so scanning returned fields locally misses most matches. Pass keywords to the server-side description filter instead; testing showed 5 of 8 matches server-side versus 1 of 8 locally.

Should I use an AI classifier or keywords to detect hiring signals?▼

Start with keywords and measure recall first. If the role name is the signal, title filters are effectively complete; add an AI classifier only when description recall measures under 90 percent, and fix keywords if recall is under 60 percent.

Why do AI-generated job lines come back empty in Clay?▼

Nano-class reasoning models in native Clay AI columns burn the completion budget on hidden reasoning, returning empty content on exactly the rows with postings. Use gpt-4o-mini in Clay, or set reasoning effort low with a 2500-token cap outside Clay.

How do I avoid referencing job postings that are no longer open?▼

Apply a freshness gate: detect postings within 60 days but blank the copy line when the posting is older than 30 days. A date_posted value is an observation date, not proof the role is still live.