Skip to content
cccskills
FreePublished on GitHub

job-posting-intent

Search LinkedIn job postings for roles tied to a product’s problem area, group results by company, and qualify potential leads using posting volume and seniority. The output includes reasons, suggested decision-maker roles, and personalization context in a Google Sheet; it does not contact prospects.

OriginalShow the original description

Detect buying intent from job postings. When a company posts a job in your problem area, they've allocated budget and are actively thinking about the problem. This skill finds those companies, qualifies them, extracts personalization context, and outputs everything to a Google Sheet. Does NOT do outreach — just delivers qualified leads with reasoning.

gooseworks-ai/goose-skills1,272 stars(GitHub 1,272 + cccskills 0)
Works withLinkedIn

Run score Not tested

See how to install

Good for

  • Find companies hiring for roles linked to your product area
  • Identify hiring signals by title, location, or recency
  • Review qualified leads and their reasoning in Google Sheets
  • Collect personalization context before planning sales outreach

Files included (5)

  • SKILL.md8.6 KB
  • scripts/create_sheet_mcp.py6.1 KB
  • scripts/create_sheet.py3.7 KB
  • scripts/search_jobs.py26.7 KB
  • skill.meta.json173 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

Job Posting Intent Detection

Find companies that are hiring for roles related to the problem you solve. A job posting is a budget signal — the company has allocated money to solve a problem your product addresses.

Results are automatically exported to a Google Sheet with signal strength, decision-maker suggestions, outreach angles, and personalization context.

Why This Works

When a company posts a job, they've:

  • Allocated budget (headcount is expensive)
  • Acknowledged the problem exists
  • Started actively solving it

If your product helps solve that problem faster, cheaper, or better than a hire alone, the timing is perfect.

Cost

Apify Actor: harvestapi/linkedin-job-search (pay-per-event)

ComponentCost
Actor start (per run)$0.001
Per job result$0.001
Apify platform fee+20%

Typical run costs:

ScenarioTitlesJobs/titleRunsEst. Cost
Quick scan3253~$0.09
Standard5255~$0.16
Deep search51005~$0.60
Multi-location5×32515~$0.47

Google Sheet creation is free (uses Rube/Composio integration).

Always run --estimate-only first to see the Apify cost before executing.

Track usage: https://console.apify.com/billing

Setup

1. Apify API Token

# Get your token at https://console.apify.com/account/integrations
export APIFY_API_TOKEN="apify_api_YOUR_TOKEN_HERE"

2. Install dependencies

pip3 install requests

3. Rube/Composio (for Google Sheets)

Google Sheet creation uses Rube MCP with Composio. Nothing is preconfigured: set the RUBE_TOKEN env var to your own Rube token before running the sheet step. Without it the sheet scripts stop with an error; the job search itself still works.

Usage

Step 1: Define your ICP and target titles

Think about it this way: "If a company is hiring for [role], it means they're investing in [problem area you solve]."

Examples:

  • GTM agency: "Growth Marketing Manager", "SDR Manager", "RevOps Engineer", "GTM Engineer"
  • AI dev tools: "AI Engineer", "ML Ops Engineer", "Prompt Engineer", "LLM Engineer"
  • Sales automation: "SDR", "BDR Manager", "Sales Ops", "Revenue Operations"

Step 2: Estimate cost

python3 scripts/search_jobs.py \
  --titles "GTM Engineer,SDR Manager,Head of Demand Gen" \
  --locations "United States" \
  --max-per-title 25 \
  --estimate-only

Step 3: Run the search

The script searches LinkedIn Jobs, groups results by company, qualifies leads, and creates a Google Sheet automatically.

# Standard search (creates Google Sheet)
python3 scripts/search_jobs.py \
  --titles "GTM Engineer,SDR Manager,RevOps Engineer" \
  --locations "United States" \
  --max-per-title 25

# Deep search with custom sheet name
python3 scripts/search_jobs.py \
  --titles "AI Engineer,ML Ops Engineer,Prompt Engineer" \
  --locations "United States" \
  --max-per-title 50 \
  --sheet-name "AI Hiring Signals - Feb 2026"

# Filter results to only relevant titles (LinkedIn search is fuzzy)
python3 scripts/search_jobs.py \
  --titles "GTM Engineer,Growth Marketing Manager,SDR Manager" \
  --locations "United States" \
  --relevance-keywords "gtm,growth,sdr,marketing,demand gen,revops"

# Also save raw JSON alongside the sheet
python3 scripts/search_jobs.py \
  --titles "GTM Engineer,SDR Manager" \
  --locations "United States" \
  --output results.json

# Skip Google Sheet, console + JSON only
python3 scripts/search_jobs.py \
  --titles "GTM Engineer" \
  --no-sheet --json

What the Script Does

  1. Searches LinkedIn Jobs for each title/location combination via Apify
  2. Groups results by company (deduplicates)
  3. Computes signal strength based on number of relevant postings + seniority
  4. Extracts personalization context from job descriptions (tech stack, growth signals, pain points)
  5. Suggests decision-maker title (one level above the hired role)
  6. Suggests outreach angle (accelerate / replace / multiply the hire)
  7. Creates a Google Sheet with all qualified leads
  8. Prints a console summary of all companies found

Options Reference

Required:
  --titles              Comma-separated job titles to search

Optional:
  --locations           Comma-separated locations (default: no filter)
  --max-per-title       Max jobs per title per location (default: 25)
  --posted-limit        Recency: 1h, 24h, week, month (default: week)
  --output, -o          Also save raw JSON to this file path
  --json                Print JSON output to console
  --estimate-only       Show cost estimate without running
  --no-sheet            Skip Google Sheet creation
  --sheet-name          Custom Google Sheet title (default: "Job Posting Intent Signals - {date}")
  --relevance-keywords  Comma-separated keywords to filter truly relevant postings

Google Sheet Columns

ColumnDescription
SignalHIGH / MEDIUM / LOW based on # postings + seniority
CompanyCompany name
EmployeesEmployee count
IndustryCompany industry
WebsiteCompany website
LinkedInCompany LinkedIn URL
# PostingsNumber of relevant job postings found
Job TitlesThe actual job titles posted
Job URLLink to the primary job posting
LocationJob location(s)
Decision MakerSuggested title of person to contact
Outreach AngleAccelerate / Replace / Multiply the hire
Tech StackTechnologies mentioned in job descriptions
Growth SignalsGrowth indicators (first hire, scaling, series stage)
Pain PointsPain indicators (automate, optimize, manual processes)
DescriptionCompany description snippet

AI Agent Integration

When using this skill as an agent, the typical flow is:

  1. User describes their product and the types of roles that signal intent
  2. Agent runs --estimate-only and confirms cost with user
  3. Agent runs the search (Google Sheet is created automatically)
  4. Agent shares the Google Sheet link with the user
  5. Agent provides a brief summary of top leads and why they're qualified

Example prompt:

"Find companies hiring growth marketers and SDRs in the US this week. These are signals they need GTM help. We sell AI-powered GTM systems to Series A-C B2B SaaS companies with 20-200 employees."

The agent should NOT:

  • Do any outreach
  • Send any emails or messages
  • Contact anyone

The agent SHOULD:

  • Present cost estimate before running
  • Run the search (sheet is created automatically)
  • Share the Google Sheet link
  • Provide a brief summary of the top leads with reasoning

Outreach Angle Templates

The script auto-assigns an angle based on job posting context:

"Accelerate while you hire" — Best when: posting is recent, role is junior/mid

They're looking for someone to do X. Your product can deliver X outcomes while they ramp the hire.

"Replace the hire" — Best when: small company, "first hire" signals, building from scratch

They want the output of a [role] but may not need a full-time person if they use your product.

"Multiply the hire" — Best when: company is clearly scaling, multiple related roles

When their new hire starts, your product makes them 10x more effective from day one.

Troubleshooting

"No jobs found"

  • Try broader titles (e.g., "marketing" instead of "demand generation specialist")
  • Extend the time window: --posted-limit month
  • Remove location filter to search globally

"Too many irrelevant results"

  • Use --relevance-keywords to filter by title keywords
  • LinkedIn's search is fuzzy — the grouping and qualification step helps filter

"Google Sheet creation failed"

  • Check that Rube MCP is accessible (the token may have expired)
  • Use --no-sheet --json --output results.json to save results without a sheet
  • You can create the sheet later with scripts/create_sheet_mcp.py

High cost estimate

  • Reduce --max-per-title (25 is usually enough)
  • Search fewer titles
  • Use --posted-limit 24h for a quick daily scan

Links

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

<slug>

FreeSummary

The supplied material contains only placeholder text for the skill’s purpose, inputs, steps, and completion criteria. It does not provide enough information to describe a task or result reliably.

  • No use case can be identified from the supplied material
  • Purpose is unspecified
  • Inputs and expected results are unspecified
gooseworks-ai/goose-skills1.3KUpdated Oct 27, 2026

ad-angle-miner

FreeSummary

Research supported advertising angles using buyer context, current product facts, customer language, and observed ads. Turn the evidence into static ad, video, or copy ideas, matching video concepts to available recipes. Scores rank ideas for testing; they do not predict results.

  • Finding evidence-backed angles for a product campaign
  • Developing static ad or video concepts from customer research
  • Writing headline and primary-text options for ads
gooseworks-ai/goose-skills1.3KUpdated Oct 27, 2026

Analyze campaign data from Google, Meta, and LinkedIn to find strong and wasteful spend. The skill checks funnel performance and test results, then recommends which campaigns to pause, scale, or test and how to shift budget across channels.

  • Finding campaigns and ads that waste budget
  • Comparing performance across Google, Meta, and LinkedIn
  • Planning specific budget shifts and follow-up tests
gooseworks-ai/goose-skills1.3KUpdated Oct 27, 2026

Compare ad spend and signups with downstream outcomes to calculate the cost of each qualified lead. The skill checks tracking coverage, accounts for how long leads need to mature, and groups creatives into actionable categories with confidence notes.

  • Compare true qualified-lead costs across creatives
  • Find low-CPA ads that bring poor-quality leads
  • Check whether signups can be linked to downstream outcomes
gooseworks-ai/goose-skills1.3KUpdated Oct 27, 2026

Prepare the intake for a Meta ad campaign by reviewing available brand information first, stating reasonable assumptions, and asking only questions whose answers could affect budget, claims, or legal exposure. It records stable brand facts, a campaign brief, and what was asked versus assumed.

  • Prepare a Meta ad campaign when brand facts are missing
  • Clarify budget and timing before campaign planning
  • Record approved claims and audience restrictions
gooseworks-ai/goose-skills1.3KUpdated Oct 27, 2026

ad-policy-check

FreeSummary

Review ad copy, image text, visuals, and people against platform and brand category rules. It suggests honest fixes and needed disclosures, then flags issues requiring human or legal review, with a separate result for each ad and platform.

  • Checking ad copy and visuals before launch
  • Reviewing creator ads for required disclosures
  • Fixing a platform disapproval and recording the issue
gooseworks-ai/goose-skills1.3KUpdated Oct 27, 2026

See all skills by gooseworks-ai

Report a problem with this skill