skills/capabilities/competitor-post-engagers/SKILL.md
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".
npx skillsauth add athina-ai/goose-skills competitor-post-engagersInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
Ask the user these questions:
https://www.linkedin.com/company/11x-ai/)Save config in the current working directory (or user-specified path):
competitor-post-engagers-config.json
Config JSON structure:
{
"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.
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 limitStep 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 keywordsStep 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.
| Parameter | Test | Standard | |-----------|------|----------| | Posts scraped per company | 20 | 50 | | Max reactions | 50 | 500 | | Max comments | 50 | 200 | | 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 |
Present results:
Common adjustments:
icp_keywords or add exclude_keywordsicp_keywordstop_n_posts or adjust days_back--test mode or lower max_reactions/max_commentsCSV exported to {output_dir}/{name}-engagers-{date}.csv:
| Column | Description | |--------|-------------| | Name | Full name | | LinkedIn URL | Profile link | | Role | Parsed from headline | | Company | Parsed from headline | | Company Industry | From Apollo enrichment | | Company Size | Estimated employee count from Apollo | | Company Description | Short company description from Apollo | | Company Location | City, State, Country from Apollo | | Source Page | Which competitor's page | | Post URL | Link to the specific post | | Post Preview | First 120 chars of post content | | Engagement Type | Comment or Reaction | | Comment Text | Their comment (personalization gold) | | ICP Tier | Likely ICP / Possible ICP / Unknown / Tech Vendor | | Pre-Filter Score | Priority score from pre-filter |
APIFY_API_TOKEN in .envAPOLLO_API_KEY in .env (for company enrichment)harvestapi/linkedin-company-posts (post + engager scraping)organizations/enrich (company industry/size lookup, 1 credit per company)Trigger phrases:
Test mode:
python3 skills/competitor-post-engagers/scripts/competitor_post_engagers.py \
--config competitor-post-engagers-config.json --test --yes
Full run:
python3 skills/competitor-post-engagers/scripts/competitor_post_engagers.py \
--config competitor-post-engagers-config.json --yes
content-media
Takes an existing screen recording or demo video and adds professional zoom/pan effects synchronized to the narration. Uses transcript-driven zoom targeting and Remotion for rendering. Optionally replaces audio with a soundtrack.
tools
Repurposes long-form video (podcasts, interviews, talks) into short-form vertical clips for Instagram Reels, TikTok, and YouTube Shorts. Handles transcription, moment selection, clip extraction, speaker-tracked reframing (16:9 to 9:16), and animated captions.
development
Creates talking head videos from any source material (docs, changelogs, blog posts, notes, transcripts). Produces multi-scene videos with avatar narration over screenshots/images using HeyGen v2 API. Supports Quick Shot and Full Producer modes.
tools
Generates Instagram-ready product reels from any e-commerce product page URL. Scrapes product images, classifies by type, generates AI-animated clips via Higgsfield API, creates text overlays with style presets, and composes a 15-20 second reel with music. Supports model-based and product-only reels.