create-image-fal
Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent. image_urls…
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
$ npx -y skills add gooseworks-ai/goose-skills --skill job-posting-intent --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/job-posting-intentContext preview
The summary Claude sees to decide when to auto-load this 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
name: job-posting-intent version: 1.1.0 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. tags: [lead-generation, outreach]
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. The token is preconfigured. If it stops working, update the `RUBE_TOKEN` env var or the default in `search_jobs.py`.
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 | Technologies mentioned in job descriptions | |
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.
Repo: gooseworks-ai/goose-skills
Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent. image_urls…
Generate a single photoreal or designed image with OpenAI gpt-image via fal.ai. Supports gpt-image-1 (default, fixed sizes — the FAL fallback for Higgsfield's…
Generate an instrumental music bed via ElevenLabs Music, ROUTED THROUGH THE elevenlabs-proxy so it bills the Ads agent. Trims any sparse intro, loudnorm, fades…
Image-to-video (or text-to-video) via any FAL video model (Kling, Seedance, Veo), ROUTED THROUGH THE GooseWorks fal-proxy so the call bills the Ads agent. The…
Generate a voiceover (VO) clip via ElevenLabs text-to-speech, ROUTED THROUGH THE elevenlabs-proxy so it bills the Ads agent. Voice id + script text come from…
Scrape competitor ads from Google Ads by domain. Returns ad creatives, formats, and campaign details. Use for competitive ad research and messaging analysis.