Agent skill

hiring-signal-outreach

End-to-end hiring signal composite. Takes any set of companies, detects job postings that your product augments or replaces, finds relevant people (the hiring manager, buyers, champions, users), and drafts personalized outreach using the job role as the hook. Tool-agnostic — works with any company source, job board, contact finder, and outreach platform.

gooseworks-aigithub.com/gooseworks-aiGitHub ↗
claude-codecodexcursorMIT
Install
npx skills add gooseworks-ai/goose-skills --skill hiring-signal-outreach --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 20 KB
Bundled scripts: none
Version: 1.0.0
Path: skills/outreach/composites/hiring-signal-outreach/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 1,091
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Detects job postings at target companies where the role being hired for is one your product augments, replaces, or directly supports. Finds the right people to contact (including the hiring manager, buyers, champions, and users), then drafts personalized outreach using the job posting as the hook.

How it works

  • Load configuration with role mappings, signal detection, contact finding, and outreach preferences.
  • Step 1: Detect Hiring Signals by querying configured job sources for postings matching roles you replace or augment, extracting title, location, posted date, description summary, and source URL, and classifying signal type (replaces, augments, keyword_match).
  • Step 2: Qualify & Prioritize: rank companies into tiers based on signal strength, posting recency, volume, and role seniority; output qualified_companies with relevance reasoning, outreach angle, and framing, plus dropped_companies.
  • Step 3: Find Relevant People: for each qualified company, use the configured contact tool to identify hiring managers, buyers, champions, and users, cap results by max_contacts_per_company, and classify contacts by role type; output contacts with contact and job_context context.
  • Step 4: Draft Personalized Emails: for each contact, choose a framing (Replace, Complement, Scale) and generate three layers of personalization (job posting context, your company context, prospect company context); tailor angle by role_type and provide a structured email sequence configuration.

When to use it

Load this composite when a user asks to check if any listed companies are hiring for roles you replace, or when a hiring signal workflow is triggered, or when a TAM/monitoring workflow indicates hiring signals.

What it can touch

  • Tools: claude-code, codex, cursor
  • Requires: company-list, your-company-context, job postings via configured sources, and contact-finding capabilities; outputs include companies_hiring, qualified_companies, contacts, and ultimately the email sequence.

Caveats

  • The skill’s outputs depend on accurate configuration inputs (role mappings, keywords, and contact tools).
  • Outputs include human checkpoint prompts to approve before proceeding with outreach.
From the SKILL.md

# Hiring Signal Outreach Detects job postings at target companies where the role being hired for is one your product augments, replaces, or directly supports. Finds the right people to contact (not just the person being hired — the hiring manager, budget holder, and potential champions), then drafts personalized outreach using the job posting as the hook. **Why hiring signals work:** When a company posts a job, they've already acknowledged the problem your product solves. They've budgeted for it (headcount is budget). They're actively evaluating how to solve it. Your email arrives at exactly the moment they're thinking about this problem — and you're offering a faster, cheaper, or complementary solution. ## When to Auto-Load Load this composite when: - User says "check if any of these companies are hiring for roles we replace", "job posting signals", "hiring signal outreach" - User has a list of companies and wants to find those hiring for relevant roles - An upstream workflow (TAM Pulse, company monitoring) triggers a hiring signal check --- ## Step 0: Configuration (One-Time Setup) On first run for a client/user, collect and store these preferences. Skip on subsequent runs. ### R

What's inside
Steps it walks through
  1. When to Auto-Load
  2. Step 0: Configuration (One-Time Setup)
  3. Role Mapping (Critical — This Defines What Signals Matter)
  4. Signal Detection Config
  5. Contact Finding Config
  6. Outreach Config
  7. Your Company Context
  8. Step 1: Detect Hiring Signals
  9. Input Contract
  10. Process
  11. Output Contract
  12. Human Checkpoint
  13. Step 2: Qualify & Prioritize
  14. Scoring
Ships with 1 file
  • skill.meta.json
More from goose-skills
All skills →
About this skill
What does the hiring-signal-outreach skill do?

End-to-end hiring signal composite. Takes any set of companies, detects job postings that your product augments or replaces, finds relevant people (the hiring manager, buyers, champions, users), and drafts personalized outreach using the job role as the hook. Tool-agnostic — works with any company source, job board, contact finder, and outreach platform.

How do I install it?

Run `npx skills add gooseworks-ai/goose-skills --skill hiring-signal-outreach --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From gooseworks-ai/goose-skills, a repository with 1,091 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going