Agent skill
linkedin-researcher
Research top-performing LinkedIn content in your niche and generate a content playbook
Filed under LinkedIn and social.
From ekatasingh1107/b2b-gtm-skills · 99 skills · 2 · pushed 2026-04-11
What it does when it runs
Research top-performing LinkedIn content in your niche and generate a content playbook
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
- None found.
- Hosts it reaches
- No third-party host appears in the skill or its bundled files.
- 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
- network
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/ekatasingh1107/b2b-gtm-skills.git /tmp/b2b-gtm-skills git -C /tmp/b2b-gtm-skills sparse-checkout set "skills/capabilities/linkedin-researcher" mkdir -p ~/.claude/skills/linkedin-researcher cp -R "/tmp/b2b-gtm-skills/skills/capabilities/linkedin-researcher/." ~/.claude/skills/linkedin-researcher/
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.
The skill
Source on GitHub ↗Reproduced in full from ekatasingh1107/b2b-gtm-skills/blob/eae8dd0bb98da1c8e84abd297066a87015dd860f/skills/capabilities/linkedin-researcher/SKILL.md, which is licensed MIT (repository). 1,082 words, 21 headings.
LinkedIn Researcher
Researches top-performing LinkedIn content in your niche by analyzing viral posts, hooks, formats, topics, and engagement patterns. Identifies what resonates with your ICP audience on LinkedIn and produces a structured content playbook with templates, topic clusters, and posting cadence recommendations.
Prerequisites
agency.config.jsonat repo root withservices,icp, andoutreachsections- WebSearch tool available
- Optional:
thought-leadershipskill for content creation from playbook outputs
Phase 0: Intake
- Read
agency.config.jsonfrom the project root. - Extract:
agency.name,agency.founder-- for positioning contextservices[].name,services[].keywords-- content topic seedsicp.segments[].industries,icp.segments[].titles-- audience definitionicp.primary_keywords,icp.secondary_keywords-- topic relevance signalsoutreach.tone-- voice alignment for templates
- Accept parameters:
niche_keywords-- additional topic keywords beyond config (default: use config keywords)influencers-- specific LinkedIn profiles/names to study (default: discover automatically)content_types-- filter:text | carousel | video | poll | article | newsletter(default: all)time_window-- how far back to analyze (default: "past 30 days")max_posts-- max posts to analyze (default: 50)
Phase 1: Influencer Discovery
Identify top voices in the niche using WebSearch:
Discovery queries:
site:linkedin.com/in "{service_keyword}" "followers" "{industry}"site:linkedin.com/posts "{service_keyword}" "likes" OR "comments""top linkedin influencer" "{industry}" OR "{service_keyword}""linkedin creator" "{industry}" "{icp_title}""best linkedin posts" "{service_keyword}" {time_window}
For each discovered influencer, capture:
{
"name": "Full name",
"profile_url": "LinkedIn URL",
"headline": "Their LinkedIn headline",
"follower_estimate": "Approximate follower count if visible",
"niche": "Their primary topic area",
"relevance_to_icp": "HIGH | MEDIUM | LOW"
}
Filtering rules:
- Prioritize creators whose audience overlaps with ICP titles (founders, CMOs, heads of ecommerce).
- Skip profiles with fewer than 1,000 estimated followers (micro-influencers handled by
influencer-finder). - Target 10-20 influencers for post analysis.
Phase 2: Post Collection
For each identified influencer and for niche keywords generally, search for high-performing posts:
Post search queries:
site:linkedin.com/posts "{influencer_name}" "{service_keyword}"site:linkedin.com/posts "{service_keyword}" "agree" OR "this" OR "100%"(engagement markers)site:linkedin.com/pulse "{service_keyword}" "{industry}""{influencer_name}" linkedin post "{topic_keyword}"
For each post found, extract:
{
"post_url": "URL if available",
"author": "Name",
"hook": "First 2 lines of the post (the scroll-stopper)",
"full_text": "Complete post text (first 500 chars if truncated)",
"format": "text_only | listicle | story | contrarian | how_to | carousel | poll | video | article",
"topic": "Primary topic of the post",
"engagement_signals": "Likes/comments/reposts if visible in search snippet",
"posted_date": "Date if available",
"cta_type": "question | link | dm_me | comment_below | none",
"length": "short (<500 chars) | medium (500-1500) | long (1500+)"
}
Phase 3: Pattern Analysis
Analyze collected posts to identify winning patterns:
Hook Analysis
Categorize all hooks into types:
- Contrarian: "Stop doing X" / "X is dead" / "Unpopular opinion:"
- Story opener: "Last week I..." / "3 years ago..." / "True story:"
- Data lead: "We analyzed X..." / "97% of..." / "After X conversions..."
- List promise: "X things I learned..." / "X mistakes that..." / "The X framework for..."
- Question: "Why do most..." / "What if..." / "Ever wondered..."
- Bold claim: "This one change..." / "The secret to..." / "Nobody talks about..."
Count frequency and estimate engagement per hook type.
Format Analysis
For each content format (text, carousel, poll, article, video):
- Count of posts found
- Average engagement signals
- Best-performing examples
- Common structural patterns
Topic Cluster Analysis
Group posts into topic clusters:
- Map each post to 1-2 topic clusters from service keywords
- Identify which clusters have highest engagement
- Find underserved topics (low competition, relevant to ICP)
Posting Pattern Analysis
If dates are available:
- Day of week distribution for high-performing posts
- Posting frequency of top creators
- Consistency patterns
Phase 4: Template Generation
Based on patterns identified, generate reusable templates:
For each of the top 5 hook types, create:
{
"hook_type": "contrarian",
"template": "Stop [common practice]. Here's what [top performers] do instead:",
"example_filled": "Stop A/B testing your homepage hero. Here's what brands doing 8-figure revenue do instead:",
"when_to_use": "When challenging conventional wisdom in your space",
"engagement_prediction": "HIGH -- contrarian hooks get 2-3x more comments"
}
For each winning format, create a structural template:
- Text post template with hook, body, CTA
- Carousel outline template with slide-by-slide guidance
- Poll template with option framing guidance
- Article template with section structure
Content calendar seeds:
Generate 20 specific post ideas mapped to:
- Service keyword they promote
- ICP segment they target
- Hook type to use
- Format to use
- Estimated effort (low/medium/high)
Phase 5: Output
Return structured playbook:
{
"research_summary": {
"posts_analyzed": 50,
"influencers_studied": 15,
"time_period": "past 30 days",
"platforms": ["LinkedIn"]
},
"top_influencers": [
{
"name": "...",
"profile_url": "...",
"headline": "...",
"follower_estimate": "...",
"niche": "...",
"top_post_hook": "...",
"content_style": "..."
}
],
"hook_analysis": {
"contrarian": { "frequency": 12, "avg_engagement": "high", "examples": [] },
"story_opener": { "frequency": 8, "avg_engagement": "medium", "examples": [] }
},
"format_analysis": {
"text_only": { "count": 25, "avg_engagement": "medium", "best_example": "..." },
"carousel": { "count": 10, "avg_engagement": "high", "best_example": "..." }
},
"topic_clusters": [
{ "topic": "Shopify CRO", "post_count": 8, "engagement": "high", "saturation": "medium" }
],
"templates": [],
"content_calendar": [],
"recommendations": {
"posting_frequency": "3-4x per week",
"best_days": ["Tuesday", "Wednesday", "Thursday"],
"top_formats": ["text_only", "carousel"],
"top_hooks": ["contrarian", "data_lead"],
"topics_to_own": ["...", "..."],
"voice_notes": "Align with agency tone: direct, helpful, zero fluff"
}
}
Present a formatted summary alongside the JSON:
LINKEDIN CONTENT PLAYBOOK
Analyzed: {N} posts from {M} influencers
TOP HOOKS THAT WORK:
1. {hook_type} -- used {N} times, {engagement} engagement
Template: "{template}"
WINNING FORMATS:
1. {format} -- {count} posts, {engagement} avg
TOPIC OPPORTUNITIES:
1. {topic} -- {saturation} saturation, {engagement} potential
CONTENT CALENDAR (Next 20 posts):
1. [{format}] {topic} -- Hook: {hook_type} -- Effort: {level}
...
POSTING CADENCE: {frequency} on {best_days}
Example Usage
Trigger phrases:
- "Research LinkedIn content in our niche"
- "What's working on LinkedIn for Shopify agencies?"
- "Build a LinkedIn content playbook"
- "Analyze top LinkedIn posts about ecommerce"
- "Find viral LinkedIn content about D2C"
- "What hooks work best on LinkedIn?"
User: Research what's working on LinkedIn for Shopify and ecommerce content
Assistant: [reads config, discovers top influencers, collects high-performing posts, analyzes hooks/formats/topics, generates templates and content calendar, presents playbook]
User: Build a LinkedIn playbook focused on CRO content, study these 5 creators: [names]
Assistant: [same flow but focused on CRO keywords, studies specified creators plus discovers additional ones]
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.
- linkedin-ads by OpenClaudia · 677
- linkedin-content by OpenClaudia · 677
- playbook-linkedin-engagement by growthenginenowoslawski · 668
- linkedin-job-post-to-buyer-pain-map by Varnan-Tech · 626
- linkedin-post-generator by Varnan-Tech · 626
- noise-to-linkedin-carousel by Varnan-Tech · 626
- linkedin-authority-builder by BrianRWagner · 408
- linkedin-profile-optimizer by BrianRWagner · 408
Need help setting it up?
This page tells you what linkedin-researcher 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.