linkedin-job-post-to-buyer-pain-map
Takes pasted LinkedIn job posts or hiring descriptions and converts them into a structured buyer pain map with inferred pains, capability gaps, buy-vs-build signal, account priority scores, and suggested outreach angles. Use when asked to analyze hiring posts, decode job descriptions for buyer intent, build a pain map from job listings, extract GTM signals from hiring activity, or prioritize accounts based on hiring data. Trigger when a user says "analyze these job posts", "what pain does this hiring signal", "build a pain map from these listings", "decode this job description", or "score thes
npx skills add Varnan-Tech/opendirectory --skill linkedin-job-post-to-buyer-pain-map --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# LinkedIn Job Post to Buyer Pain Map Take LinkedIn job posts. Decode them into a structured buyer pain map with scores, pains, and outreach angles. --- **Critical rule:** Every inferred pain must cite specific language from the job description that supports it. Never hallucinate pains that are not grounded in the text. If a post is too generic to infer pain, say so explicitly and assign a low signal strength score. **Ethical rule:** Do not infer personal attributes or protected characteristics about candidates. Focus strictly on company-level operational pain and organizational needs. --- ## Step 1: Setup Check Confirm required env vars: ```bash echo "GEMINI_API_KEY: ${GEMINI_API_KEY:+set}" ``` **If GEMINI_API_KEY is missing:** Stop. Tell the user: "GEMINI_API_KEY is required. Get it at aistudio.google.com. Add it to your .env file." --- ## Step 2: Collect Inputs The skill needs 3 required inputs. Collect them before proceeding. ### 2a: Product Brief Ask: "Describe your product in 2-5 sentences. What do you do, what is your core value prop, and who do you target?" **If the user already included this in their prompt:** Extract it. Confirm: "Product brief captured: [summary]." ### 2
- Step 1: Setup Check
- Step 2: Collect Inputs
- 2a: Product Brief
- 2b: ICP Description
- 2c: Hiring Posts
- 2d: Optional Inputs
- Step 3: Extract Signals
- Step 4: Score with the LLM
- Step 5: Build Pain Map
- Step 6: Build Handoff Object
- Step 7: Self-QA
- Step 8: Output and Save
- Human-readable output
- Save to file
echo "GEMINI_API_KEY: ${GEMINI_API_KEY:+set}"
cat > /tmp/pain-map-score-request.json << 'ENDJSON'
curl -s -X POST \
cat > /tmp/pain-map-analysis-request.json << 'ENDJSON'
mkdir -p docs/pain-maps
cat > "$OUTFILE" << 'EOF'
echo "Pain map saved to $OUTFILE"
cat > "docs/pain-maps/${SLUG}.md" << 'EOF'What does the linkedin-job-post-to-buyer-pain-map skill do?
Takes pasted LinkedIn job posts or hiring descriptions and converts them into a structured buyer pain map with inferred pains, capability gaps, buy-vs-build signal, account priority scores, and suggested outreach angles. Use when asked to analyze hiring posts, decode job descriptions for buyer intent, build a pain map from job listings, extract GTM signals from hiring activity, or prioritize accounts based on hiring data. Trigger when a user says "analyze these job posts", "what pain does this hiring signal", "build a pain map from these listings", "decode this job description", or "score thes
How do I install it?
Run `npx skills add Varnan-Tech/opendirectory --skill linkedin-job-post-to-buyer-pain-map --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 Varnan-Tech/opendirectory, a repository with 571 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.
