
kol-discovery
Find Key Opinion Leaders (KOLs) in a given domain by combining web research with LinkedIn post search. Given a company/idea and target domain, generates authority keywords, searches LinkedIn posts to find prolific authors with high engagement, and merges with web-researched influencers. Use when someone wants to "find influencers in X space" or "who are the KOLs for Y industry."
- Installs
- 51
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/gooseworks-ai/goose-skills --skill kol-discovery- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads kol-discovery automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
KOL Discovery
Find Key Opinion Leaders in any domain by searching LinkedIn posts for prolific, high-engagement authors and merging with web-researched influencers.
Core principle: Search for authority/thought-leadership keywords, not pain-language. We want people who shape conversation in the space — conference speakers, newsletter writers, podcast hosts, and prolific LinkedIn posters.
Phase 0: Intake
Ask the user these questions:
Domain & Audience
- What does your company/product do? What space are you in?
- What specific domain or topic are the KOLs you want to find expert in?
- Who is your target audience? (The people the KOLs influence)
- Any KOLs you already know about? (LinkedIn URLs — these become the baseline)
- Anyone to EXCLUDE? (Competitors, your own team, irrelevant voices)
Phase 1: Generate Domain Keywords
Based on intake, generate 15-25 topic/authority keywords. These are NOT pain-language — they're the terms thought leaders use when sharing expertise:
- Industry terms — "freight tech", "supply chain innovation"
- Thought leadership signals — "lessons learned in logistics", "future of dispatch"
- Conference/event terms — "supply chain summit keynote"
- Content creator signals — "newsletter freight", "podcast logistics"
Also generate:
- KOL title keywords — titles that signal thought leadership (vp, founder, analyst, editor, host)
- Vendor exclusion keywords — titles to filter out (software engineer, recruiter, saas)
- Domain relevance keywords — core industry terms for relevance scoring
Present keywords to user for approval before running.
Save config in the current working directory or wherever the user prefers:
Config JSON structure:
{
"client_name": "example",
"domain_keywords": ["\"freight tech\" thought leadership", "supply chain innovation"],
"exclusion_patterns": ["hiring.*position", "we.re recruiting"],
"kol_title_keywords": ["vp", "founder", "analyst", "editor", "host"],
"vendor_exclude_keywords": ["software engineer", "saas", "recruiter"],
"domain_relevance_keywords": ["freight", "logistics", "supply chain"],
"country_filter": "",
"max_posts_per_keyword": 50,
"min_posts": 2,
"min_total_engagement": 50,
"top_n_kols": 50
}
Phase 2: Run KOL Discovery Pipeline
python3 skills/kol-discovery/scripts/kol_discovery.py \
--config kol-discovery.json \
--output-dir . \
[--test] [--web-kols kol-web-kols.json] [--yes]
Flags:
--config(required) — path to client config JSON--output-dir— directory for output CSV (default: current working directory)--test— limit to 5 keywords (validation run)--web-kols— path to web-researched KOL JSON (agent generates this)--yes— skip cost confirmation prompts--max-runs— override Apify run limit
What the script does:
- Keyword search —
apimaestro/linkedin-posts-search-scraper-no-cookiesfor each domain keyword - Author aggregation — Group posts by author, compute engagement metrics
- Scoring — Composite KOL score: engagement volume (log-scaled) + consistency (post count) + quality (avg engagement) + relevance (keyword breadth) + web research bonus
- Merge — Combine post-data KOLs with web-researched KOLs, flag overlaps
- Export — Ranked CSV
Cost estimate: ~$0.10 per keyword. Full run with 20 keywords: ~$2-3.
Always run with --test first.
Phase 2b: Web Research (Agent-Driven)
Before or alongside the script, do web research to find known KOLs:
- Search for "top [industry] influencers on LinkedIn"
- Find conference speakers, newsletter authors, podcast hosts
- Check industry publications for frequent contributors
Save as JSON in the current working directory:
[
{
"name": "Jane Doe",
"linkedin_url": "https://www.linkedin.com/in/janedoe/",
"source": "FreightWaves conference speaker 2025",
"notes": "Hosts weekly logistics podcast"
}
]
Pass to script via --web-kols.
Phase 3: Review & Refine
Present results:
- Top 20 KOLs — rank, name, headline, KOL score, total engagement, top post
- Source breakdown — how many from post-data vs web-research vs both
- Keyword performance — which keywords surfaced the most KOLs
Common adjustments:
- Too many irrelevant authors — refine domain keywords, add exclusion patterns
- Missing known KOLs — add more keyword variants, expand web research
- Too few results — lower
min_postsormin_total_engagementthresholds
Phase 4: Output
CSV exported to the current working directory:
| Column | Description |
|---|---|
| Rank | Overall rank by KOL Score |
| Name | Full name |
| LinkedIn URL | Profile link |
| Headline | From LinkedIn |
| KOL Score | Composite score |
| Total Posts | Posts found in search |
| Total Reactions | Sum of reactions across posts |
| Total Comments | Sum of comments across posts |
| Avg Engagement | Average reactions+comments per post |
| Top Post URL | Highest engagement post |
| Top Post Preview | First 100 chars of top post |
| Source | post-data / web-research / both |
Tools Required
- Apify API token — set as
APIFY_API_TOKENin.env - Apify actors used:
apimaestro/linkedin-posts-search-scraper-no-cookies(keyword search)
Example Usage
Trigger phrases:
- "Find KOLs in the freight/logistics space"
- "Who are the influencers in [industry]?"
- "Discover thought leaders for [domain]"
- "Run KOL discovery for [client]"
With existing config:
python3 skills/kol-discovery/scripts/kol_discovery.py \
--config clients/example/configs/kol-discovery.json \
--output-dir clients/example/leads --yes
FAQ
What does the kol-discovery skill do?
Find Key Opinion Leaders (KOLs) in a given domain by combining web research with LinkedIn post search. Given a company/idea and target domain, generates authority keywords, searches LinkedIn posts to find prolific authors with high engagement, and merges with web-researched influencers. Use when someone wants to "find influencers in X space" or "who are the KOLs for Y industry."
How do I install kol-discovery?
Run npx skills add https://github.com/gooseworks-ai/goose-skills --skill kol-discovery in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/kol-discovery/ (personal) or .claude/skills/kol-discovery/ (project).
Which AI agents can use kol-discovery?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is kol-discovery safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains kol-discovery?
It is published by gooseworks-ai in gooseworks-ai/goose-skills. It has 51 recorded installs.
More from gooseworks-ai/goose-skills
restaurant-booking
gooseworks-ai/goose-skills
Book restaurant reservations via browser automation. Use when asked to make dinner reservations, book a table, or find availability at restaurants. Supports OpenTable, Resy, and direct restaurant booking sites.
send-sms-textbelt
gooseworks-ai/goose-skills
Open the skill to read its SKILL.md instructions.
job-scraper
gooseworks-ai/goose-skills
Search for job postings across LinkedIn and Indeed. Use when users want to find open roles, monitor hiring signals, identify companies hiring for specific positions, or research competitor hiring activity. Returns job title, company, location, salary, description, seniority level, and direct apply URLs. No login or cookies required.
linkedin-outreach
gooseworks-ai/goose-skills
Open the skill to read its SKILL.md instructions.
find-skill
gooseworks-ai/goose-skills
Find and install skills from the Orthogonal skill library. Use when you need capabilities you don't have, want to discover available skills, or need to add new tools to your agent.
linkedin-job-scraper
gooseworks-ai/goose-skills
Scrapes LinkedIn job postings using the JobSpy library (python-jobspy). Use this skill whenever the user wants to find jobs on LinkedIn, search for open roles, pull job listings, build a job pipeline, source job targets for GTM research, or monitor hiring signals. Even if the user just says "find me some jobs" or "what roles is [company] hiring for", use this skill. It runs a local Python script that outputs a CSV of job postings with title, company, location, salary, job type, description, and direct URLs.
Popular marketing & seo skills
reddit-automation
flowkit-labs/skills
Find Reddit threads where people are genuinely asking for what you offer, then draft short, genuinely helpful replies — disclosing your affiliation honestly and naming your product only when it truly answers the question. Two moves: discovery — scan the right subreddits for real needs (recommendation asks, expressed pain, competitor mentions) and rank the few threads where you can actually help; drafting — write from real experience, respect each community's self-promo rules, and keep a human in the loop to review and post. This markets on Reddit the honest way: contribute value, disclose who you are, never astroturf. Distilled from the playbook behind doany.ai's Reddit agent. Triggers on "find reddit opportunities", "reddit marketing", "reddit automation", "reply on reddit for my product", "reddit community engagement", "reddit lead gen", or any ask to turn Reddit threads into genuine, disclosed marketing replies.
twitter-automation
101-skills/superpowers
Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet
twitter-automation
magentosh/superpowers
Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet
twitter-automation
qu-skills/superpowers
Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet
product-launch-video
heygen-com/hyperframes
Turn a product or marketing URL, pasted script, or brief into a product launch / promo video — SaaS promos, feature reveals, product demos, app and company launches. Use when the user wants to market, launch, promote, or reveal a product; the default for any commercial URL. Site tours / showcases of a website route here too — the brief carries the show-it-as-is intent. Unclear → /hyperframes.
twitter-automation
skills-shell/superpowers
Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet