goose-ads
Edit, resize, animate and study image ads with GooseWorks in this chat. New static or image ads go to the make-static-ads skill…
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
Claude Code
$ npx -y skills add gooseworks-ai/goose-skills --skill job-posting-intent --agent claude-code
Codex
$ npx skills add gooseworks-ai/goose-skills --skill job-posting-intent -a codex -y
Cursor
$ npx skills add gooseworks-ai/goose-skills --skill job-posting-intent -a cursor -y
Gemini CLI
$ npx skills add gooseworks-ai/goose-skills --skill job-posting-intent -a gemini-cli -y
GitHub Copilot
$ npx skills add gooseworks-ai/goose-skills --skill job-posting-intent -a github-copilot -y
OpenCode
$ npx skills add gooseworks-ai/goose-skills --skill job-posting-intent -a opencode -y
Windsurf
$ npx skills add gooseworks-ai/goose-skills --skill job-posting-intent -a windsurf -y
name: job-posting-intent version: 1.1.1 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.
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.
When a company posts a job, they've:
If your product helps solve that problem faster, cheaper, or better than a hire alone, the timing is perfect.
**Apify Actor:** `harvestapi/linkedin-job-search` (pay-per-event)
| Component | Cost | |-----------|------| | Actor start (per run) | $0.001 | | Per job result | $0.001 | | Apify platform fee | +20% |
**Typical run costs:** | Scenario | Titles | Jobs/title | Runs | Est. Cost | |----------|--------|------------|------|-----------| | Quick scan | 3 | 25 | 3 | ~$0.09 | | Standard | 5 | 25 | 5 | ~$0.16 | | Deep search | 5 | 100 | 5 | ~$0.60 | | Multi-location | 5×3 | 25 | 15 | ~$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
# Get your token at https://console.apify.com/account/integrations export APIFY_API_TOKEN="apify_api_YOUR_TOKEN_HERE"
pip3 install requests
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.
Think about it this way: **"If a company is hiring for [role], it means they're investing in [problem area you solve]."**
Examples:
python3 scripts/search_jobs.py \ --titles "GTM Engineer,SDR Manager,Head of Demand Gen" \ --locations "United States" \ --max-per-title 25 \ --estimate-only
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
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
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| Column | Description | |--------|-------------| | Signal | HIGH / MEDIUM / LOW based on # postings + seniority | | Company | Company name | | Employees | Employee count | | Industry | Company industry | | Website | Company website | | LinkedIn | Company LinkedIn URL | | # Postings | Number of relevant job postings found | | Job Titles | The actual job titles posted | | Job URL | Link to the primary job posting | | Location | Job location(s) | | Decision Maker | Suggested title of person to contact | | Outreach Angle | Accelerate / Replace / Multiply the hire | | Tech Stack | Techn
Put your AI agent on the growth team. Research customers and competitors, analyze what is working, create the next campaign, and learn from the result.
Edit, resize, animate and study image ads with GooseWorks in this chat. New static or image ads go to the make-static-ads skill…
Make product photos (studio, lifestyle or on a model) of a brand's real products with GooseWorks in this chat. Start brand work…
Make an approved GooseWorks video when an answer's next_step gives its command.
Make a video ad in this chat from a real reference ad, found or theirs; styles are the fallback. Follow every answer's next_step.
GooseWorks growth coworker and router for markets, competitors, audiences, creators, campaigns, ads, photos, graphics, video,…
Create a custom video with sourced product accuracy, explicit sound routing and exact-final audiovisual review.
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use…
Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…
Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…
Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…