Agent skill

Competitor Post Engagers

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

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

MITAuto-check: notesData & Analytics

Install Competitor Post Engagers

skills CLI
$ npx skills add gooseworks-ai/goose-skills --skill competitor-post-engagers -a claude-code

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

GitHub CLI
$ gh skill install gooseworks-ai/goose-skills competitor-post-engagers --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/competitor-post-engagers .claude/skills/competitor-post-engagers && 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
competitor-post-engagers
GitHub stars
1.2k
Used in
1 other repo
Token cost
~1.8k tokens
SKILL.md length
708 words
Files
3 (incl. scripts)
Skills in repo
273
Repo updated
First seen
Licence
MIT

At a glance

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

  • Works in 4 steps: Intake → Run the Pipeline → Review & Refine → …
  • Someone wants to find leads engaging with competitor content
  • SKILL.md covers Phase 0: Intake, Phase 1: Run the Pipeline, Phase 2: Review & Refine and Phase 3: Output, plus 2 more sections
  • Runs Python scripts from its folder; calls python3; reaches linkedin.com; needs APIFY_API_TOKEN and APOLLO_API_KEY

What it does

Competitor Post Engagers is an agent skill from gooseworks-ai/goose-skills. Find leads by scraping engagers from a competitor's top LinkedIn posts. Given one or more company page URLs, scrapes recent posts, ranks by engagement, selects the top N, extracts all reactors and commenters, ICP-classifies, and exports CSV. Use when someone wants to "find leads engaging with competitor content" or "scrape people who interact with [company]'s LinkedIn posts".

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `scripts/competitor_post_engagers.py` and `skill.meta.json`).

It sits in Data & Analytics, covering Web scraping and Social media posts. It works with Apify. 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

  • Someone wants to find leads engaging with competitor content
  • Scrape people who interact with [company]s LinkedIn posts

Example prompts

  • “find leads engaging with competitor content”
  • “scrape people who interact with [company]”
  • “/competitor-post-engagers”

Requirements

  • Python 3
  • A credential in APIFY_API_TOKEN
  • A credential in APOLLO_API_KEY

Workflow steps

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

  1. Intake
  2. Run the Pipeline
  3. Review & Refine
  4. Output

What it can do on your machine

Read from SKILL.md and the folder at commit 4bbe1ef. 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 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    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:

    • linkedin.com

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

  • Credentials

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

    • APIFY_API_TOKEN
    • APOLLO_API_KEY

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

Context cost

Competitor Post Engagers loads about 1.8k tokens when it runs. Until then it costs about 101 tokens; SKILL.md has 708 words of instructions outside code blocks.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:143
    I token** — set as `APIFY_API_TOKEN` in `.env`
  • NoteMentions a .env fileSKILL.md:144
    API key** — set as `APOLLO_API_KEY` in `.env` (for company enrichment)

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 4bbe1ef, republished under its MIT licence (© gooseworks-ai). 708 words, ~1,825 tokens.

Download SKILL.mdSave it as .claude/skills/competitor-post-engagers/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
competitor-post-engagers
description
Find leads by scraping engagers from a competitor's top LinkedIn posts. Given one or more company page URLs, scrapes recent posts, ranks by engagement, selects the top N, extracts all reactors and commenters, ICP-classifies, and exports CSV. Use when someone wants to "find leads engaging with competitor content" or "scrape people who interact with [company]'s LinkedIn posts".
tags
lead-generation

Competitor Post Engagers

Find ICP-fit leads by scraping engagers from a competitor's top-performing LinkedIn posts. Given one or more company page URLs, this skill finds their highest-engagement recent posts, extracts everyone who reacted or commented, and classifies by ICP fit.

Core principle: Scrape all posts in one call per company, then locally rank and select the top N. This minimizes Apify costs while maximizing lead quality.

Phase 0: Intake

Ask the user these questions:

Target Companies
  1. LinkedIn company page URL(s) to scrape (e.g., https://www.linkedin.com/company/11x-ai/)
  2. Time window — how many days back to look (default: 30)
  3. Top N posts per company to extract engagers from (default: 1)
ICP Criteria
  1. ICP keywords — job title/role terms that indicate a good lead (e.g., "sales", "SDR", "revenue")
  2. Exclude keywords — roles to filter out (e.g., "software engineer", "designer")
  3. Geographic focus (optional, e.g., "United States")

Save config in the current working directory (or user-specified path):

bash
competitor-post-engagers-config.json

Config JSON structure:

json
{
  "name": "<run-name>",
  "company_urls": ["https://www.linkedin.com/company/<competitor>/"],
  "days_back": 30,
  "max_posts": 50,
  "max_reactions": 500,
  "max_comments": 200,
  "top_n_posts": 1,
  "icp_keywords": ["sales", "revenue", "growth", "SDR", "BDR", "outbound"],
  "exclude_keywords": ["software engineer", "developer", "designer"],
  "enrich_companies": true,
  "competitor_company_names": ["<competitor-name>"],
  "industry_keywords": ["freight", "logistics", "trucking", "transportation", "3pl", "supply chain", "carrier", "brokerage", "shipping", "warehousing"],
  "output_dir": "output"
}
  • enrich_companies — Enable Apollo company enrichment (default: true). Set to false or use --skip-company-enrich to skip.
  • competitor_company_names — Company names to exclude from enrichment (the competitor itself).
  • industry_keywords — Industry terms that indicate ICP fit. Matched against Apollo's industry field.

The output_dir is relative to the script directory by default. Override it with an absolute path to write output to a specific location.

Phase 1: Run the Pipeline

bash
python3 skills/competitor-post-engagers/scripts/competitor_post_engagers.py \
  --config competitor-post-engagers-config.json \
  [--test] [--yes] [--skip-company-enrich] [--top-n 3] [--max-runs 30]

Flags:

  • --config (required) — path to config JSON
  • --test — small limits (20 posts, 50 profiles, 1 top post)
  • --yes — skip cost confirmation prompts
  • --skip-company-enrich — skip Apollo company enrichment step (saves credits)
  • --top-n — override top_n_posts from config
  • --max-runs — override Apify run limit
Pipeline Steps

Step 1: Scrape company posts + engagers — For each company URL, one Apify call using harvestapi/linkedin-company-posts with scrapeReactions: true, scrapeComments: true. Returns posts, reactions, and comments in a single dataset.

Step 2: Rank & select top posts — Filter posts by time window (days_back), rank by total engagement (reactions + comments), select top N per company. Then extract engagers (reactors + commenters) only from those selected posts. Deduplication by name. Score engagers by position:

  • +3 Commenter (higher intent)
  • +2 Position matches ICP keywords
  • -5 Position matches exclude keywords

Step 3: Company enrichment (Apollo) — Extract unique company names from engagers, call apollo.enrich_organization(name=...) for each. Returns industry, employee count, description, and location. ~1 Apollo credit per unique company. Merge data back to all engagers from that company. Skip with --skip-company-enrich or "enrich_companies": false.

Step 4: ICP classify & export — Classify as Likely ICP / Possible ICP / Unknown / Tech Vendor. Uses both headline keyword matching AND company industry data (from Step 3) — if the engager's company industry matches industry_keywords, they're classified as "Likely ICP" regardless of role. Export CSV.

Show full SKILL.md (276 more words)Show less
Cost Estimates
ParameterTestStandard
Posts scraped per company2050
Max reactions50500
Max comments50200
Est. Apify cost (1 company)~$0.10~$0.50-1
Est. Apollo credits (company enrich)~10-20~30-80 unique companies
Est. Apollo cost~$0.05-0.10~$0.15-0.40

Phase 2: Review & Refine

Present results:

  • Post selection — which posts were chosen and why (engagement counts, preview)
  • Per-company breakdown — how many leads from each competitor
  • ICP breakdown — counts by tier
  • Top 15 leads — name, role, company, engagement type

Common adjustments:

  • Too many irrelevant leads — tighten icp_keywords or add exclude_keywords
  • Missing ICP leads — broaden icp_keywords
  • Wrong posts selected — increase top_n_posts or adjust days_back
  • Too expensive — use --test mode or lower max_reactions/max_comments

Phase 3: Output

CSV exported to {output_dir}/{name}-engagers-{date}.csv:

ColumnDescription
NameFull name
LinkedIn URLProfile link
RoleParsed from headline
CompanyParsed from headline
Company IndustryFrom Apollo enrichment
Company SizeEstimated employee count from Apollo
Company DescriptionShort company description from Apollo
Company LocationCity, State, Country from Apollo
Source PageWhich competitor's page
Post URLLink to the specific post
Post PreviewFirst 120 chars of post content
Engagement TypeComment or Reaction
Comment TextTheir comment (personalization gold)
ICP TierLikely ICP / Possible ICP / Unknown / Tech Vendor
Pre-Filter ScorePriority score from pre-filter

Tools Required

  • Apify API token — set as APIFY_API_TOKEN in .env
  • Apollo API key — set as APOLLO_API_KEY in .env (for company enrichment)
  • Apify actors used:
    • harvestapi/linkedin-company-posts (post + engager scraping)
  • Apollo endpoints used:
    • organizations/enrich (company industry/size lookup, 1 credit per company)

Example Usage

Trigger phrases:

  • "Find leads engaging with [competitor]'s LinkedIn posts"
  • "Scrape engagers from [company]'s top posts"
  • "Who is interacting with [competitor]'s content?"
  • "Run competitor-post-engagers for [company]"

Test mode:

bash
python3 skills/competitor-post-engagers/scripts/competitor_post_engagers.py \
  --config competitor-post-engagers-config.json --test --yes

Full run:

bash
python3 skills/competitor-post-engagers/scripts/competitor_post_engagers.py \
  --config competitor-post-engagers-config.json --yes

© 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 2 other files (scripts) in skills/lead-generation/capabilities/competitor-post-engagers of gooseworks-ai/goose-skills.

  • SKILL.md
  • scripts/competitor_post_engagers.py
  • skill.meta.json

Open the folder on GitHubat commit 4bbe1ef

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

Compare with similar skills

Competitor Post Engagers 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.

Competitor Post Engagers compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Competitor Post Engagers this skillgooseworks-ai/goose-skills1.2k1 repos~1.8kAutomated safety check: NotesMIT
Xquik X Tweet ScraperVarnan-Tech/opendirectory674—~1.7kAutomated safety check: PassMIT
Linkedin Engager Analyticssergebulaev/linkedin-skills4.4k1 repos~1.4kAutomated safety check: PassMIT
Post Scorercharlie947/social-media-skills3.8k—~2.4kAutomated safety check: PassMIT
Adhxsickn33/agentic-awesome-skills47k2 repos~1.1kAutomated safety check: PassMIT
Apify Trend Analysissickn33/agentic-awesome-skills47k2 repos~1.2kAutomated safety check: NotesMIT

Similar skills

  • Xquik X Tweet Scraper

    Varnan-Tech/opendirectory

    Run Xquik's Apify Actor for X searches, posts, timelines, conversations, lists, articles, and engagement research.

    674 GitHub stars~1.7k tokensUpdated 1 mo ago
    Data & AnalyticsAuto-check passed
  • Linkedin Engager Analytics

    sergebulaev/linkedin-skills

    Pull the people who liked or commented on any LinkedIn post and segment them by ICP fit (peer / aspirational / prospect / other).

    4.4k GitHub starsUsed in 1 repo~1.4k tokens
    Writing & ContentAuto-check passed
  • Post Scorer

    charlie947/social-media-skills

    Score a LinkedIn post using real performance data. An agent skill from charlie947/social-media-skills.

    3.8k GitHub stars~2.4k tokensUpdated 26 days ago
    Writing & ContentAuto-check passed
  • Adhx

    sickn33/agentic-awesome-skills

    Fetch any X/Twitter post as clean LLM-friendly JSON. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~1.1k tokens
    Data & AnalyticsAuto-check passed
  • Apify Trend Analysis

    sickn33/agentic-awesome-skills

    Discover and track emerging trends across Google Trends, Instagram, Facebook, YouTube, and TikTok to inform content strategy.

    47k GitHub starsUsed in 2 repos~1.2k tokens
    Data & AnalyticsAuto-check: notes
  • Apify Ads Intelligence

    apify/awesome-skills

    Official

    Research, spy on, and analyze ads across Meta (Facebook & Instagram), Google (Ads Transparency Center + paid search results), TikTok (Ads Library + Creative Center), LinkedIn Ad Library, and X…

    266 GitHub stars~4.2k tokensUpdated 18 days ago
    Marketing & SEOAuto-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
  • 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
  • Conference Speaker Scraper

    gooseworks-ai/goose-skills

    Extract speaker names, titles, companies, and bios from conference websites.

    1.2k GitHub starsUsed in 1 repo~846 tokens
    Auto-check passed

Works with

Questions about Competitor Post Engagers

What does Competitor Post Engagers do?

Find leads by scraping engagers from a competitor's top LinkedIn posts. Competitor Post Engagers is an agent skill from gooseworks-ai/goose-skills. Find leads by scraping engagers from a competitor's top LinkedIn posts.

When should I use Competitor Post Engagers?

Competitor Post Engagers fits situations like: someone wants to find leads engaging with competitor content; scrape people who interact with [company]s LinkedIn posts.

How do I install Competitor Post Engagers in Claude Code?

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

How do I install Competitor Post Engagers in Codex?

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

Can I use Competitor Post Engagers 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 competitor-post-engagers -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/competitor-post-engagers, .gemini/skills/competitor-post-engagers, .github/skills/competitor-post-engagers and .opencode/skills/competitor-post-engagers in your project.

What does Competitor Post Engagers need to run?

Going by SKILL.md and its folder, Competitor Post Engagers needs Python for the scripts in its folder, the command-line tools its instructions call (python3) and credentials named APIFY_API_TOKEN and APOLLO_API_KEY. Our summary lists: Python 3; A credential in APIFY_API_TOKEN; A credential in APOLLO_API_KEY.

Does Competitor Post Engagers access the network?

SKILL.md names 1 domain. In commands or code: linkedin.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Competitor Post Engagers safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. 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 Competitor Post Engagers use?

Competitor Post Engagers 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 Competitor Post Engagers use?

About 1.8k tokens (SKILL.md is roughly 7.3k 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 Competitor Post Engagers?

Skills that share tags, products or a category with Competitor Post Engagers: Xquik X Tweet Scraper (Varnan-Tech/opendirectory, 674 stars), Linkedin Engager Analytics (sergebulaev/linkedin-skills, 4.4k stars), Post Scorer (charlie947/social-media-skills, 3.8k stars) and Adhx (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Competitor Post Engagers?

gooseworks-ai (a GitHub organization) maintains it in gooseworks-ai/goose-skills, which has 1,242 GitHub stars. The repository holds 273 skills in this directory. The repository was last updated on October 10, 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.