본문으로 건너뛰기
cccskills
무료GitHub에 공개

job-posting-intent

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.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구LinkedIn

실행 점수 미검증

설치 방법 보기

포함된 파일(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.json282 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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

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

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Research supported advertising promises from a specific buyer's context, current product facts, customer language and observed ads. Turn them into static, video or copy ideas; match video ideas to actual recipes and save a product-scoped angle bank for write-video-ad-script. Product-led discovery can use verified facts without reviews. Reference persistence and reach are observations, not proof of performance.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gooseworks-ai/goose-skills1.3천2026년 10월 24일 업데이트

Analyze ad campaign performance data (Google, Meta, LinkedIn) to identify what's working, what's wasting budget, and specific cut/scale/test recommendations. Runs statistical analysis, funnel diagnostics, and multi-channel budget reallocation with specific dollar-amount shift recommendations and scenario modeling.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gooseworks-ai/goose-skills1.3천2026년 10월 24일 업데이트

For paid lead-gen and participant-recruitment ads, replaces vanity CPA with true CAC per qualified lead by joining ad-platform data with downstream funnel events, surfaces tracking gaps, and classifies every creative into Scale / Keep / Investigate / Cut.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gooseworks-ai/goose-skills1.3천2026년 10월 24일 업데이트

The intake stage of a Meta ad harness. Researches the brand first, states what it assumes, and asks only what it cannot infer and what would change money, claims or legal exposure if guessed wrong — at most four questions a turn, in plain business language. Writes the brand's stable facts (ads/brand.md), the campaign brief, and a log of what was asked vs assumed. Use it when someone wants to run Meta ads and the brand's ad facts are not yet recorded.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gooseworks-ai/goose-skills1.3천2026년 10월 24일 업데이트

Checks paid ads against the ad platform's rules (Meta, TikTok, Google, LinkedIn and others) and the brand's category rules: the copy, on-image or on-screen text, pictures and people. Rewrites what can be fixed honestly, adds the disclosures that are needed, and flags anything that needs a human or legal review, with one pass, fixed or flag line per ad and platform. Use alone when you already have the ad text or images and know where they will run; otherwise run the playbook for the job (e.g. make-static-ads, make-content, email-lifecycle).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gooseworks-ai/goose-skills1.3천2026년 10월 24일 업데이트

Analyze the message match between your ads and landing pages. Checks if the promise in the ad copy carries through to the landing page headline, body, and CTA. Flags disconnects that kill conversion rates. Works with Google, Meta, and LinkedIn ads.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

gooseworks-ai/goose-skills1.3천2026년 10월 24일 업데이트

gooseworks-ai의 스킬 모두 보기

이 스킬의 문제 신고