본문으로 건너뛰기
cccskills
무료GitHub에 공개

engagement-miner

Extract warm prospects from competitor and industry post engagers across LinkedIn, Twitter, and blogs

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(2)

  • SKILL.md8.4 KB
  • skill.meta.json458 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Engagement Miner

Finds engaged audiences on competitor posts, industry discussions, and thought-leader content. Extracts commenters and engagers from LinkedIn posts, Twitter threads, and blog comments. These are warm prospects who already care about the topic and are pre-qualified by their own engagement behavior.

Prerequisites

  • agency.config.json at repo root with services, icp, and scoring sections
  • WebSearch tool available
  • Optional: person-researcher skill for enriching extracted prospects
  • Optional: crm-writer skill for logging prospects to CRM

Phase 0: Intake

  1. Read agency.config.json from the project root.
  2. Extract:
    • services[].keywords -- topic relevance for filtering
    • icp.segments[].titles, icp.segments[].seniority -- prospect qualification criteria
    • icp.segments[].industries -- industry filters
    • icp.segments[].company_size -- company size filters
    • icp.primary_keywords, icp.secondary_keywords -- topic matching
    • icp.negative_keywords -- filter out competitors and service providers
  3. Accept parameters:
    • source_posts -- list of specific post URLs to mine (default: none, discover automatically)
    • competitors -- competitor names/profiles whose posts to mine (default: none, user must supply)
    • topics -- topic keywords to find relevant posts (default: use config keywords)
    • platforms -- platforms to mine: linkedin | twitter | blogs (default: all)
    • max_prospects -- max prospects to return (default: 50)
    • min_engagement -- minimum engagement threshold for source posts (default: 10 comments)

Phase 1: Source Post Discovery

If source_posts not provided, discover high-engagement posts to mine.

LinkedIn post discovery:

  • site:linkedin.com/posts "{competitor_name}" "{service_keyword}"
  • site:linkedin.com/posts "{service_keyword}" "comments" OR "agree" OR "great point"
  • site:linkedin.com/posts "{icp_industry}" "{intent_keyword}"
  • Prioritize posts with visible comment counts > min_engagement.

Twitter thread discovery:

  • site:twitter.com OR site:x.com "{competitor_name}" "{service_keyword}" "replies"
  • site:twitter.com OR site:x.com "{service_keyword}" "thread" OR "unpopular opinion" "{icp_industry}"
  • Look for threads with high reply counts.

Blog comment discovery:

  • "{competitor_name}" blog "{service_keyword}" "comments"
  • "{industry_keyword}" blog "leave a comment" OR "responses" "{service_keyword}"
  • Target popular industry blogs with active comment sections.

For each source post, capture:

{
  "post_url": "URL",
  "platform": "LinkedIn | Twitter | Blog",
  "author": "Post author name",
  "author_company": "Author's company if visible",
  "topic": "Main topic of the post",
  "engagement_count": "Number of comments/replies visible",
  "posted_date": "Date if available",
  "relevance": "HIGH | MEDIUM"
}

Target 10-20 high-engagement source posts across platforms.

Phase 2: Engager Extraction

For each source post, extract people who engaged (commented, replied, shared):

LinkedIn engager extraction:

  • Search: site:linkedin.com "{post_title}" "{commenter_snippet}" to find comment previews
  • Search: site:linkedin.com/in "{keyword_from_post}" "{icp_title}" to find people who likely engaged
  • Extract from search snippets: commenter names, their titles, companies
  • Note: LinkedIn comments are not always fully indexed. Accept partial results.

Twitter engager extraction:

  • Search: site:twitter.com OR site:x.com "replying to @{author_handle}" "{topic_keyword}"
  • Search for quoted retweets: site:twitter.com "{post_url_fragment}"
  • Extract: replier handles, names, bios if visible in snippets

Blog comment extraction:

  • Use WebFetch on the blog URL (if available) to read comment sections
  • Extract: commenter names, linked websites, comment content
  • Commenter websites are valuable for company identification

For each extracted engager:

{
  "name": "Full name",
  "handle": "Social handle or username",
  "platform": "LinkedIn | Twitter | Blog",
  "title": "Job title if visible",
  "company": "Company name if visible",
  "profile_url": "Profile URL if available",
  "comment_snippet": "What they said (first 200 chars)",
  "source_post_url": "The post they engaged with",
  "source_post_topic": "Topic of the source post"
}

Phase 3: Prospect Qualification

Filter and score extracted engagers against ICP:

Title matching:

  • Compare title against icp.segments[].titles and icp.segments[].seniority.
  • Exact title match: +30 points
  • Seniority level match: +20 points
  • No title available: +5 points (benefit of the doubt)

Company relevance:

  • If company matches ICP industries: +20 points
  • If company size is estimable and within ICP range: +10 points
  • If company is a known competitor (from competitors param): -100 points (disqualify)

Engagement quality:

  • Comment shows pain point or need: +25 points
  • Comment asks a question: +20 points
  • Comment shares experience: +15 points
  • Generic agreement ("Great post!"): +5 points
  • Self-promotional comment: -50 points (disqualify)

Negative keyword filter:

  • Check name, title, company, and comment against icp.negative_keywords.
  • Disqualify any match.

Scoring thresholds:

  • HOT PROSPECT (60+): Strong title match + relevant engagement
  • WARM PROSPECT (35-59): Partial match, worth researching
  • COOL (<35): Weak match, skip unless volume is low

Phase 4: Deduplication

  1. Deduplicate by name + company combination (same person across multiple posts).
  2. For duplicates, keep the entry with the richest data (most fields populated).
  3. Merge comment snippets from multiple engagements into a single prospect record.
  4. Deduplicate by profile URL if available (exact match).

Phase 5: Output

Return structured prospect list:

{
  "mining_summary": {
    "source_posts_analyzed": 15,
    "total_engagers_extracted": 120,
    "after_qualification": 50,
    "after_dedup": 42,
    "breakdown": {
      "hot": 8,
      "warm": 22,
      "cool": 12
    }
  },
  "prospects": [
    {
      "name": "Jane Doe",
      "title": "Head of Ecommerce",
      "company": "BrandCo",
      "platform": "LinkedIn",
      "profile_url": "https://linkedin.com/in/janedoe",
      "score": 75,
      "tier": "HOT",
      "engagement_context": "Commented on CRO post asking about checkout optimization",
      "comment_snippets": ["We've been struggling with cart abandonment..."],
      "source_posts": ["https://linkedin.com/posts/..."],
      "recommended_approach": "Reference their checkout concern, offer CRO audit insight",
      "next_step": "RESEARCH | CONNECT | EMAIL"
    }
  ]
}

Present formatted summary:

ENGAGEMENT MINING REPORT
Source posts analyzed: {N} across {platforms}
Total engagers found: {N}
Qualified prospects: {N} ({hot} HOT, {warm} WARM)

HOT PROSPECTS ({count}):
1. {name} -- {title} at {company} -- Score: {N}
   Context: "{comment_snippet}"
   Approach: {recommended_approach}
   Next: {next_step}

WARM PROSPECTS ({count}):
1. {name} -- {title} at {company} -- Score: {N}
   Context: "{comment_snippet}"
   Next: {next_step}

DISQUALIFIED: {count} (competitors: {a}, self-promoters: {b}, irrelevant: {c})

TOP ENGAGEMENT TOPICS:
1. {topic} -- {count} qualified engagers found

Phase 6: CRM Logging

If crm-writer is available and user approves:

  • Log HOT and WARM prospects to CRM pipeline tab
  • Columns: Date, Name, Title, Company, Platform, Source Post, Score, Tier, Context, Status
  • Set initial status: "MINED"

Example Usage

Trigger phrases:

  • "Mine engagement on competitor posts"
  • "Find prospects from LinkedIn comments"
  • "Extract engagers from this post: [URL]"
  • "Who's engaging with Shopify CRO content on LinkedIn?"
  • "Mine warm leads from competitor content"
  • "Find people commenting on ecommerce topics"
User: Mine engagement from WebSavvy and Starter Labs LinkedIn posts about Shopify
Assistant: [reads config, discovers high-engagement posts by those competitors, extracts commenters, qualifies against ICP, scores and deduplicates, presents ranked prospect list with approach recommendations]
User: Extract prospects from these 3 LinkedIn posts: [URL1, URL2, URL3]
Assistant: [same flow but uses provided URLs directly as source posts, skips discovery phase]

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Analyze A/B test results for statistical significance with ship, extend, or kill recommendations

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ekatasingh1107/b2b-gtm-skills22026년 4월 12일 업데이트

Reallocate ad budget across campaigns and channels using ROAS and marginal return analysis

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ekatasingh1107/b2b-gtm-skills22026년 4월 12일 업데이트

Generate structured creative briefs for ad designers with brand-consistent direction

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ekatasingh1107/b2b-gtm-skills22026년 4월 12일 업데이트

Mine winning ad angles, hooks, and creative patterns from top-performing ads

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ekatasingh1107/b2b-gtm-skills22026년 4월 12일 업데이트

ad-spy

무료

Monitor competitor ads across Meta, Google, and LinkedIn with strategic analysis

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ekatasingh1107/b2b-gtm-skills22026년 4월 12일 업데이트

Interactive onboarding wizard that generates agency.config.json for any B2B agency. Asks structured questions about the agency, services, ICP, tools, outreach preferences, and CRM setup. Outputs a complete config file.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

ekatasingh1107/b2b-gtm-skills22026년 4월 12일 업데이트

ekatasingh1107의 스킬 모두 보기

이 스킬의 문제 신고