# Repost Pain Prospector

> Find companies that cannot fill a role, with proof. Use when the user asks which companies are struggling to hire, wants reposted or long-open roles, a rescue list for a recruitment agency, or an opener based on hiring pain.

- Skill: `reqbeat-growth/repost-pain-prospector` (Agent Skill)
- Install (CLI): `npx skillmds@latest add reqbeat-growth/repost-pain-prospector`
- Raw SKILL.md: https://api.skillmd.com/api/skills/reqbeat-growth/repost-pain-prospector/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: reqbeat-growth (https://skillmd.com/u/reqbeat-growth)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/reqbeat-growth/repost-pain-prospector

---


# Repost-pain prospector

A role reposted for weeks is public proof a company cannot fill it. That is the exact moment an agency, a tool, or a fractional recruiter stops being a cost and becomes a rescue. This skill turns that moment into a call list with the proof attached.

## Ask for it like this

- "Which companies in my patch cannot fill a sales role?"
- "Show me reposted engineering roles in the United Kingdom"
- "Build a rescue list for a recruitment agency in fintech"

## How it works

1. Get candidate companies: `GET /v1/reqs/search?role={role}&geo={country}&limit=25` with header `X-API-Key` (from `$REQBEAT_API_KEY`; never print it).
2. For each promising `company_id`: `GET /v1/companies/{id}/repost-pain`. The response lists reposted reqs with dates.
3. Rank by pain: longest-running reposts first, then by `pulse.open_req_count` (more open roles while one stays stuck = stretched team).
4. Empty `repost_pain` array means no proof; drop the row rather than guessing.

## Output format

| company | domain | stuck role | live since | reposts | open reqs | opener |

The opener column writes itself from the data: "Your [role] has been live since [date]. Want it closed by the 15th?" Every number in it must come from the response, dated.

## Rules

1. Only rows with actual repost evidence make the list. No inference from "feels senior" or "probably hard to fill".
2. Skip rows with a null `company_domain` unless the user wants them flagged as `needs-domain`.
3. Filter out PSL-heavy household names when the user is an agency: they cannot bill them anyway.
4. Report the pull timestamp and the exact query, so the list is reproducible.

