Agent skill
kol-content-monitor
Track what key opinion leaders (KOLs) in your space are posting on LinkedIn and Twitter/X.
Filed under Content and SEO.
From edupegoretti/fluidz-skills · 116 skills · 0 · pushed 2026-03-11
What it does when it runs
Track what key opinion leaders (KOLs) in your space are posting on LinkedIn and Twitter/X. Surfaces trending narratives, high-engagement topics, and early signals of emerging conversations before they peak. Chains linkedin-profile-post-scraper and twitter-scraper. Use when a marketing team wants to ride trends rather than create them from scratch, or when a founder wants to know which topics are resonating with their audience.
Read from the skill and the 1 file bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- APIFY_API_TOKEN
- Hosts it reaches
- www.linkedin.com
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It does act, so it runs under whatever permissions your session already grants. - Actions present in the files
- shellwrites files
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/edupegoretti/fluidz-skills.git /tmp/fluidz-skills git -C /tmp/fluidz-skills sparse-checkout set "skills/composites/kol-content-monitor" mkdir -p ~/.claude/skills/kol-content-monitor cp -R "/tmp/fluidz-skills/skills/composites/kol-content-monitor/." ~/.claude/skills/kol-content-monitor/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
Before you install: this skill will not complete its job on a bare agent. It needs APIFY_API_TOKEN, which you have to obtain separately.
The skill
Source on GitHub ↗Reproduced in full from edupegoretti/fluidz-skills/blob/a2cf697e2e8ec2ea517d85496e2d5c7f5dc44cd3/skills/composites/kol-content-monitor/SKILL.md, which is licensed MIT (repository). 915 words, 26 headings.
KOL Content Monitor
Track what Key Opinion Leaders in your space are writing about. Surface trending narratives early — before they peak — so your team can join the conversation at the right time with relevant content.
Core principle: For seed-stage teams, the fastest path to content distribution is riding a wave that's already breaking, not creating one from scratch.
When to Use
- "What are the top voices in [our space] posting about?"
- "What topics are trending on LinkedIn in [industry]?"
- "I want to know what content is resonating before I write anything"
- "Track [list of founders/experts] and tell me what they're saying"
- "Find trending narratives I can contribute to"
Phase 0: Intake
KOL List
- Names and LinkedIn URLs of KOLs to track (if known)
- If unknown: use
kol-discoveryskill first to build the list
- If unknown: use
- Twitter/X handles for the same KOLs (optional but recommended for full picture)
- Any specific topics/keywords you care about? (for filtering noisy feeds)
Scope
- How far back? (default: 7 days for weekly monitor, 30 days for first run)
- Minimum engagement threshold to include a post? (default: 20 reactions/likes)
Save config to clients/<client-name>/configs/kol-monitor.json.
{
"kols": [
{
"name": "Lenny Rachitsky",
"linkedin": "https://www.linkedin.com/in/lennyrachitsky/",
"twitter": "@lennysan"
},
{
"name": "Kyle Poyar",
"linkedin": "https://www.linkedin.com/in/kylepoyar/",
"twitter": "@kylepoyar"
}
],
"days_back": 7,
"min_reactions": 20,
"keywords": ["GTM", "growth", "AI", "outbound", "founder"],
"output_path": "clients/<client-name>/intelligence/kol-monitor-[DATE].md"
}
Phase 1: Scrape LinkedIn Posts
Run linkedin-profile-post-scraper for all KOL LinkedIn profiles:
python3 skills/linkedin-profile-post-scraper/scripts/scrape_linkedin_posts.py \
--profiles "<url1>,<url2>,<url3>" \
--days <days_back> \
--max-posts 20 \
--output json
Filter results: only include posts with reactions ≥ min_reactions.
Phase 2: Scrape Twitter/X Posts
Run twitter-scraper for each handle:
python3 skills/twitter-scraper/scripts/search_twitter.py \
--query "from:<handle>" \
--since <YYYY-MM-DD> \
--until <YYYY-MM-DD> \
--max-tweets 20 \
--output json
Filter: only include tweets with likes ≥ min_reactions / 2 (Twitter engagement is lower than LinkedIn).
Phase 3: Topic Clustering
Group all posts across all KOLs by topic/theme:
Clustering approach:
- Extract the main topic from each post (1-3 word label)
- Group similar topics together
- Count: how many KOLs touched this topic? How many total posts?
- Rank by: total engagement (sum of reactions/likes across all posts on that topic)
This surfaces topics with broad consensus (multiple KOLs talking about it) vs. individual takes.
Signal types to flag:
| Signal | Meaning | Example |
|---|---|---|
| Convergence | 3+ KOLs on same topic in same week | Multiple founders posting about "AI SDR fatigue" |
| Spike | Topic that 2x'd in volume vs last week | Suddenly everyone's talking about [new thing] |
| Underdog | 1 KOL posting about topic nobody else covers | Potential early-mover opportunity |
| Controversy | Posts with high comment/reaction ratio | Debate you could weigh in on |
Phase 4: Output Format
# KOL Content Monitor — Week of [DATE]
## Tracked KOLs
[N] KOLs | [N] LinkedIn posts | [N] tweets | Period: [date range]
---
## Trending Topics This Week
### 1. [Topic Name] — CONVERGENCE SIGNAL
- **KOLs discussing:** [Name 1], [Name 2], [Name 3]
- **Total posts:** [N] | **Total engagement:** [N] reactions/likes
- **Trend direction:** ↑ New this week / ↑↑ Growing / → Stable
**Best posts on this topic:**
> "[Post excerpt — first 150 chars]"
— [Author], [Date] | [N] reactions
[LinkedIn URL]
> "[Tweet text]"
— [@handle], [Date] | [N] likes
[Twitter URL]
**Content opportunity:** [1-2 sentences on how to contribute to this conversation]
---
### 2. [Topic Name]
...
---
## High-Engagement Posts (Top 5 This Week)
| Post | Author | Platform | Engagement | Topic |
|------|--------|----------|------------|-------|
| "[Preview...]" | [Name] | LinkedIn | [N] reactions | [topic] |
...
---
## Emerging Topics to Watch
Topics picked up by 1 KOL this week — too early to call a trend but worth tracking:
- [Topic] — [KOL name] — [brief description]
- [Topic] — ...
---
## Recommended Content Actions
### This Week (Ride the Wave)
1. **[Topic]** is peaking — ideal moment to publish your take. Suggested angle: [angle]
2. **[Controversy]** is generating debate — consider a nuanced response post. Your positioning: [suggestion]
### Next Week (Get Ahead)
1. **[Emerging topic]** is early-stage — write something now before it gets crowded.
Save to clients/<client-name>/intelligence/kol-monitor-[YYYY-MM-DD].md.
Phase 5: Build Trigger-Based Content Calendar
Optional: from the monitor output, propose a content calendar entry for each "Ride the Wave" opportunity:
Topic: [topic]
Best post format: [LinkedIn insight post / tweet thread / blog]
Suggested hook: [hook]
Supporting points: [3 bullets from your product/experience]
Ideal publish date: [within 3 days of peak]
Scheduling
Run weekly (Friday afternoon — catches the week's peaks and gives weekend to draft):
0 14 * * 5 python3 run_skill.py kol-content-monitor --client <client-name>
Cost
| Component | Cost |
|---|---|
| LinkedIn post scraping (per profile) | ~$0.05-0.20 (Apify) |
| Twitter scraping (per run) | ~$0.01-0.05 |
| Total per weekly run (10 KOLs) | ~$0.50-2.00 |
Tools Required
- Apify API token —
APIFY_API_TOKENenv var - Upstream skills:
linkedin-profile-post-scraper,twitter-scraper - Optional upstream:
kol-discovery(to build initial KOL list)
Trigger Phrases
- "What are the top voices in [space] posting about this week?"
- "Track my KOL list and give me content ideas"
- "Run KOL content monitor for [client]"
- "What's trending on LinkedIn in [industry]?"
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- content-strategy by coreyhaines31 · 45,947
- content-eval by ericosiu · 3,449
- video-content-engine by ericosiu · 3,449
- audit-content by onvoyage-ai · 1,291
- geo-content-planning by onvoyage-ai · 1,291
- geo-content-research by onvoyage-ai · 1,291
- write-seo-geo-content by onvoyage-ai · 1,291
- brand-monitor by OpenClaudia · 664
Need help setting it up?
This page tells you what kol-content-monitor does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.