Agent skill

Job Posting Intent

by gooseworks-ai in gooseworks-ai/goose-skills

Detect buying intent from job postings. An agent skill from gooseworks-ai/goose-skills.

MITAuto-check passedDocuments & Office

Install Job Posting Intent

skills CLI
$ npx skills add gooseworks-ai/goose-skills --skill job-posting-intent -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gooseworks-ai/goose-skills job-posting-intent --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/lead-generation/capabilities/job-posting-intent .claude/skills/job-posting-intent && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
job-posting-intent
GitHub stars
1.2k
Used in
1 other repo
Token cost
~2.2k tokens
SKILL.md length
841 words
Files
5 (incl. scripts)
Skills in repo
273
Repo updated
First seen
Licence
MIT

At a glance

Detect buying intent from job postings. An agent skill from gooseworks-ai/goose-skills.

  • Works in 6 steps: Apify API Token → Install dependencies → Rube/Composio (for Google Sheets) → …
  • Tasks that involve Excel spreadsheets
  • SKILL.md covers Why This Works, Cost, Setup and Usage, plus 7 more sections
  • Runs Python scripts from its folder; calls python3 and pip3; reaches console.apify.com; needs RUBE_TOKEN and APIFY_API_TOKEN

What it does

Job Posting Intent is an agent skill from gooseworks-ai/goose-skills. 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.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts (for example `scripts/create_sheet.py`, `scripts/create_sheet_mcp.py` and `scripts/search_jobs.py`).

It sits in Documents & Office, covering Excel spreadsheets, App automation through connectors and Web scraping. It works with Google Sheets, Apify, Composio and LinkedIn. The repository describes itself as: Library of Growth & GTM skills + data APIs for Claude Code, Codex, Cursor to run ads, social, content, lead gen, seo and data scraping. The licence is MIT.

When your agent uses it

  • Tasks that involve Excel spreadsheets
  • Tasks that involve App automation through connectors
  • Tasks that involve Web scraping

Example prompts

  • “/job-posting-intent”

Requirements

  • Python 3
  • A credential in APIFY_API_TOKEN
  • A credential in RUBE_TOKEN

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Apify API Token
  2. Install dependencies
  3. Rube/Composio (for Google Sheets)
  4. Define your ICP and target titles
  5. Estimate cost
  6. Run the search

What it can do on your machine

Read from SKILL.md and the folder at commit c650c6d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • pip3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • console.apify.com

    Also links to:

    • apify.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • RUBE_TOKEN
    • APIFY_API_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Job Posting Intent loads about 2.2k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 841 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~93
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from gooseworks-ai/goose-skills at commit c650c6d, republished under its MIT licence (© gooseworks-ai). 841 words, ~2,191 tokens.

Download SKILL.mdSave it as .claude/skills/job-posting-intent/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
job-posting-intent
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.
version
1.1.0
tags
lead-generation, outreach

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
bash
# Get your token at https://console.apify.com/account/integrations
export APIFY_API_TOKEN="apify_api_YOUR_TOKEN_HERE"
2. Install dependencies
bash
pip3 install requests
3. Rube/Composio (for Google Sheets)

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.

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
bash
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.

bash
# 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
Show full SKILL.md (364 more words)Show less

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

© gooseworks-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (scripts) in skills/lead-generation/capabilities/job-posting-intent of gooseworks-ai/goose-skills.

  • SKILL.md
  • scripts/create_sheet.py
  • scripts/create_sheet_mcp.py
  • scripts/search_jobs.py
  • skill.meta.json

Open the folder on GitHubat commit c650c6d

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in gooseworks-ai/goose-skills, which our catalogue first saw on October 9, 2026.

Compare with similar skills

Job Posting Intent next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Job Posting Intent compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Job Posting Intent this skillgooseworks-ai/goose-skills1.2k1 repos~2.2kAutomated safety check: PassMIT
Googlesheets Automationdavepoon/buildwithclaude3.6k7 repos~2.5kAutomated safety check: PassMIT
Apify Marketing Agency Databaseapify/awesome-skills266—~2.5kAutomated safety check: PassMIT
Announce Articleopen-cqrs/opencqrs118—~2.6kAutomated safety check: NotesApache-2.0
Spreadsheet Opsericrisco/rsc-harness180—~2.9kAutomated safety check: PassMIT
Managing Google Workspacetaylorwilsdon/google_workspace_mcp3.3k—~2.9kAutomated safety check: PassMIT

Similar skills

  • Googlesheets Automation

    davepoon/buildwithclaude

    Automate Google Sheets operations (read, write, format, filter, manage spreadsheets) via Rube MCP (Composio).

    3.6k GitHub starsUsed in 7 repos~2.5k tokens
    Documents & OfficeAuto-check passed
  • Official

    Build a marketing agency database from Clutch.co with the Clutch.co Agency API Actor (johnvc/clutch-agency-api).

    266 GitHub stars~2.5k tokensUpdated 18 days ago
    Documents & OfficeAuto-check passed
  • Announce Article

    open-cqrs/opencqrs

    Generate the release announcement package for a finished blog article — Google-Sheet row fields plus three LinkedIn-post variants — and print everything to the terminal as copy-ready templates.

    118 GitHub stars~2.6k tokensUpdated 13 days ago
    Writing & ContentAuto-check: notes
  • Spreadsheet Ops

    ericrisco/rsc-harness

    A skill your agent uses when working a spreadsheet programmatically — writing or repairing a formula, generating an .xlsx with Python including charts and conditional formats, driving Google Sheets…

    180 GitHub stars~2.9k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Managing Google Workspace

    taylorwilsdon/google_workspace_mcp

    Manages Google Workspace operations across 12 services (Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Tasks, Contacts, Chat, Apps Script, Custom Search).

    3.3k GitHub stars~2.9k tokensUpdated 2 days ago
    Documents & OfficeAuto-check passed
  • Gdoc To Markdown

    iurykrieger/claude-bedrock

    Internal fetcher module for Google Docs and Sheets. An agent skill from iurykrieger/claude-bedrock.

    105 GitHub starsUsed in 1 repo~3.8k tokens
    Documents & OfficeAuto-check: notes

More from gooseworks-ai/goose-skills

All 273 skills in this repo
  • Reddit Post Finder

    gooseworks-ai/goose-skills

    Scrape and search Reddit posts using Apify. An agent skill from gooseworks-ai/goose-skills.

    1.2k GitHub starsUsed in 1 repo~1.2k tokens
    Auto-check passed
  • Create Image Fal

    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.

    1.2k GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Render Hook Replacement

    gooseworks-ai/goose-skills

    Replace an existing video's opening with a supplied clip or free kinetic text hook while retaining and verifying every original body frame, audio, captions and ending.

    1.2k GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Blog Feed Monitor

    gooseworks-ai/goose-skills

    Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites.

    1.2k GitHub starsUsed in 1 repo~578 tokens
    Auto-check passed
  • Competitor Post Engagers

    gooseworks-ai/goose-skills

    Find leads by scraping engagers from a competitor's top LinkedIn posts.

    1.2k GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check: notes
  • Render Chatgpt Chat

    gooseworks-ai/goose-skills

    Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON — one continuous Playwright recording of a ChatGPT mobile chat (user types with the iOS keyboard up → taps send → keyboard…

    1.2k GitHub stars~2.3k tokensUpdated today
    Auto-check passed

Questions about Job Posting Intent

What does Job Posting Intent do?

Detect buying intent from job postings. An agent skill from gooseworks-ai/goose-skills. Job Posting Intent is an agent skill from gooseworks-ai/goose-skills. Detect buying intent from job postings.

When should I use Job Posting Intent?

Job Posting Intent fits situations like: tasks that involve Excel spreadsheets; tasks that involve App automation through connectors; tasks that involve Web scraping.

How do I install Job Posting Intent in Claude Code?

Run `npx skills add gooseworks-ai/goose-skills --skill job-posting-intent -a claude-code`. Or copy the skill folder (skills/lead-generation/capabilities/job-posting-intent in gooseworks-ai/goose-skills) into .claude/skills/job-posting-intent in your project. Claude Code loads it when a task matches its description.

How do I install Job Posting Intent in Codex?

Run `npx skills add gooseworks-ai/goose-skills --skill job-posting-intent -a codex`. Or copy the skill folder (skills/lead-generation/capabilities/job-posting-intent in gooseworks-ai/goose-skills) into .agents/skills/job-posting-intent in your project. Codex loads it when a task matches its description.

Can I use Job Posting Intent in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gooseworks-ai/goose-skills --skill job-posting-intent -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/job-posting-intent, .gemini/skills/job-posting-intent, .github/skills/job-posting-intent and .opencode/skills/job-posting-intent in your project.

What does Job Posting Intent need to run?

Going by SKILL.md and its folder, Job Posting Intent needs Python for the scripts in its folder, the command-line tools its instructions call (python3 and pip3) and credentials named RUBE_TOKEN and APIFY_API_TOKEN. Our summary lists: Python 3; A credential in APIFY_API_TOKEN; A credential in RUBE_TOKEN.

Does Job Posting Intent access the network?

SKILL.md names 2 domains. In commands or code: console.apify.com; the agent is likely to contact it when it follows the instructions. As links in the text: apify.com. This is read from the text; nothing was executed.

Is Job Posting Intent safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Job Posting Intent use?

Job Posting Intent is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Job Posting Intent use?

About 2.2k tokens (SKILL.md is roughly 8.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Job Posting Intent?

Skills that share tags, products or a category with Job Posting Intent: Googlesheets Automation (davepoon/buildwithclaude, 3.6k stars), Apify Marketing Agency Database (apify/awesome-skills, 266 stars), Announce Article (open-cqrs/opencqrs, 118 stars) and Spreadsheet Ops (ericrisco/rsc-harness, 180 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Job Posting Intent?

gooseworks-ai (a GitHub organization) maintains it in gooseworks-ai/goose-skills, which has 1,240 GitHub stars. The repository holds 273 skills in this directory. The repository was last updated on October 8, 2026.

Source: gooseworks-ai/goose-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.