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

signal-scanner

Search the web for companies showing buying signals matching the agency ICP. Enforces 75/25 geo split and 20 gig + 5 company daily targets.

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

실행 점수 미검증

설치 방법 보기

포함된 파일(2)

  • SKILL.md11.0 KB
  • skill.meta.json405 B

SKILL.md(원문)

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

Signal Scanner

Searches multiple platforms for companies and individuals showing real-time buying signals that match the agency's ICP. Uses WebSearch to find leads across Reddit, Twitter/X, LinkedIn, job boards, funding news, Shopify Community, HackerNews, and gig platforms.

Prerequisites

  • agency.config.json at repo root with services, icp, and scoring sections
  • WebSearch tool available
  • Optional: crm-writer skill for dedup against existing CRM leads

Phase 0: Intake

  1. Read agency.config.json from the project root.

  2. Extract:

    • services[].keywords -- all service keyword arrays
    • icp.segments[] -- each segment's markets, industries, titles, description
    • icp.primary_keywords, icp.secondary_keywords, icp.intent_keywords
    • icp.negative_keywords -- to filter out self-promoters
    • scoring.platform_weights -- to know which platforms to search
    • scoring.hiring_signals -- phrases that indicate active buying

    CRITICAL: All search queries MUST be derived from agency.config.json keywords. When Plasho's positioning changes week-to-week, queries change automatically. NEVER hardcode search queries.

  3. Accept optional parameters:

    • platforms -- list of platforms to search (default: all from platform_weights)
    • max_results -- max leads to return (default: 25)
    • time_window -- how far back to search (default: "past week")
    • focus_segment -- specific ICP segment to target (default: all)
    • daily_targets -- read from agency.config.json outreach.daily_targets (default: 20 gig + 5 company = 25 total)
    • geo_split -- read from agency.config.json outreach.geo_split (default: 75% international, 25% India)

Phase 1: Query Generation

Build search queries by combining service keywords with intent signals and platform-specific syntax.

Lead Type Targeting

Queries are split into two categories:

GIG LEAD QUERIES (target: 20 leads) Platforms: Freelancer, Upwork, PeoplePerHour, Guru, Fiverr Must show clear buying signal and budget.

COMPANY LEAD QUERIES (target: 5 leads) Platforms: LinkedIn, Reddit, Twitter/X, Funding News, Product Hunt, Shopify Community, Instagram Brands, Google Maps, Shopify Store Discovery Must show very strong signal + ICP fit.

Geo Split Enforcement

75% of queries target international markets (US, UK, AU, EU):

  • Add geo modifiers: "United States", "UK", "Australia", "Europe"
  • Filter by .com, .co.uk, .com.au domains where applicable

25% of queries target India:

  • Add geo modifiers: "India", "Mumbai", "Delhi", "Bangalore"
  • Include Indian platforms and directories

Query templates per platform:

Reddit:

  • site:reddit.com "{service_keyword}" "{intent_keyword}" after:{date}
  • Subreddits to target: r/shopify, r/ecommerce, r/smallbusiness, r/startups, r/Entrepreneur, r/DTC
  • Example: site:reddit.com "shopify developer" "need help" after:2024-01-01

Twitter/X:

  • site:twitter.com OR site:x.com "{service_keyword}" "{intent_keyword}"
  • Example: site:x.com "looking for shopify expert" "hire"

LinkedIn:

  • site:linkedin.com/posts "{service_keyword}" "{intent_keyword}"
  • site:linkedin.com/jobs "{service_keyword}"
  • Example: site:linkedin.com/posts "shopify developer" "hiring"

Job Boards:

  • site:indeed.com OR site:glassdoor.com "{service_keyword}" "{market}"
  • site:angel.co OR site:wellfound.com "{service_keyword}"

Funding News:

  • "{industry} startup" "raises" OR "funding" OR "seed round" OR "series A" {time_window}
  • Filter to companies in ICP industries

Shopify Community:

  • site:community.shopify.com "{intent_keyword}" "{service_keyword}"

HackerNews:

  • site:news.ycombinator.com "{service_keyword}" "{intent_keyword}"

Gig Platforms (Freelancer, Upwork, PeoplePerHour, Guru, Fiverr):

  • site:freelancer.com/projects "{service_keyword}"
  • site:peopleperhour.com "{service_keyword}"

Upwork:

  • site:upwork.com/jobs "{service_keyword}"
  • Example: site:upwork.com/jobs "shopify developer"

Twitter/X (Brand Discovery):

  • site:twitter.com OR site:x.com "{d2c_keyword}" "shopify" OR "ecommerce" OR "d2c"
  • Also: site:x.com "{industry}" "just launched" OR "coming soon" OR "new store"
  • Focus on brand accounts, not agencies

Instagram Brands:

  • site:instagram.com "{d2c_keyword}" "shop" OR "store" OR "link in bio"
  • Target hashtags: #shopifystore, #d2cbrand, #ecommerce, #shopifyseller
  • Extract: profile name, handle, website link from bio

Product Hunt:

  • site:producthunt.com "{d2c_keyword}" OR "ecommerce" OR "shopify"
  • Focus on recently launched D2C products

Google Maps / Business Directories:

  • site:google.com/maps "{industry}" "{market}" + justdial.com (India), yelp.com (US/UK)
  • Extract: business name, phone, website

Shopify Store Discovery:

  • site:myshopify.com "{industry_keyword}" + site:builtwith.com "shopify" "{industry}"
  • Look for stores with basic themes (Dawn, Debut) indicating redesign need

Query generation rules:

  • Generate queries to hit daily targets: 20 gig leads + 5 company leads.
  • Prioritize platforms with higher platform_weights scores.
  • Include market/country filters for geo-targeted segments.
  • Allocate queries based on daily targets. Gig platforms need more queries (20 leads vs 5).
  • Enforce geo split: 75% of queries must target US/UK/AU/EU markets, 25% India.

Phase 2: Search Execution

Execute searches using WebSearch with rate limiting:

  • Max 3 concurrent searches at any time.
  • 2-second pause between batches of 3.
  • Process results as they return; do not wait for all to complete.

For each search result, extract:

  • url -- the source URL
  • title -- page title or post title
  • snippet -- the text excerpt from the search result
  • platform -- which platform (inferred from URL domain)
  • posted_date -- if visible in the search result

Phase 3: Signal Validation

For each raw result, validate it is a genuine buying signal:

  1. Negative keyword filter: Check title + snippet against icp.negative_keywords. Discard if any match (these are self-promoters, not buyers).

  2. Relevance check: The result must contain at least one primary_keyword OR one secondary_keyword AND at least one intent_keyword. If it has only keywords but no intent, mark as LOW confidence.

  3. Recency check: Prefer results from the last 7 days. Flag anything older than 30 days as STALE.

  4. Duplicate check: Compare URLs against previously returned results in this session. Skip exact URL duplicates. Also skip if the same company/person appears from a different URL (same underlying signal).

  5. Lead type classification: Classify each result as either "gig" or "company" based on the source platform. Gig platforms (Freelancer, Upwork, PPH, Guru, Fiverr) = gig lead. Everything else = company lead.

  6. Geo classification: Determine the lead's geography. Classify as "international" (US/UK/AU/EU) or "india" based on content, URL, currency, or explicit location mentions.

Phase 4: Entity Extraction

For each validated signal, extract structured data:

{
  "company": "Company name (if identifiable)",
  "website": "Company website (if findable from context)",
  "person": "Name of the person posting/mentioned",
  "title": "Their job title (if available)",
  "url": "Source URL where signal was found",
  "platform": "Reddit | Twitter | LinkedIn | Freelancer | Upwork | etc.",
  "signal_type": "hiring | funding | job_posting | community_question | gig_request | tech_migration | product_launch | brand_discovery | store_discovery",
  "urgency": "HIGH | MEDIUM | LOW",
  "reason": "1-line summary of why this is a signal",
  "country": "Country (if determinable)",
  "posted_date": "ISO date or relative",
  "raw_snippet": "The relevant text excerpt",
  "confidence": "HIGH | MEDIUM | LOW",
  "lead_type": "gig | company",
  "geo_bucket": "international | india",
  "contact_surfaces": {
    "has_email": true,
    "has_linkedin": false,
    "has_instagram": false,
    "has_phone": false,
    "has_website": true,
    "channel_count": 2,
    "discovery_notes": "Email from gig platform. Website from company field."
  }
}

Contact surface defaults by platform:

Platformemaillinkedininstagramphonewebsite
Freelancer/Upwork/PPH/Guru/FiverrYESNONONOMAYBE
LinkedIn Posts/JobsMAYBEYESMAYBEMAYBEMAYBE/YES
RedditNOMAYBEMAYBENOMAYBE
Twitter/XNOMAYBEMAYBENOMAYBE
Instagram BrandsNOMAYBEYESNOYES
Shopify CommunityNOMAYBEMAYBENOYES
Funding NewsMAYBEYESMAYBEMAYBEYES
Product HuntMAYBEYESMAYBENOYES
Google MapsMAYBENOMAYBEYESYES
Shopify Store DiscoveryNOMAYBEMAYBENOYES

Use these defaults when extracting contact surfaces. Override with actual data when found in the signal content. channel_count = number of YES/MAYBE channels confirmed as available.

Urgency rules:

  • HIGH: Explicit hiring/buying language + budget mentioned + recent (< 48h)
  • MEDIUM: Intent keywords present + relevant service match + recent (< 7 days)
  • LOW: Relevant topic but weak intent signal or older than 7 days

Phase 5: Dedup Against CRM

If crm-writer skill is available and CRM is configured:

  1. Read existing leads from the relevant CRM tab (e.g., "Hawk Leads", "Researched Leads").
  2. Compare by: company name (fuzzy), URL (exact), person name + company combo.
  3. Mark duplicates as "is_duplicate": true but still include them in output with a note.

Phase 6: Review

Present the results to the user, separated by lead type:

Found {N} signals across {M} platforms:

COMPANY LEADS ({count}/5 target):
1. [Platform] Company - "reason" (urgency: HIGH, confidence: HIGH, geo: US)
2. ...

GIG LEADS ({count}/20 target):
1. [Platform] "gig title" - "reason" (urgency: HIGH, budget: $X, geo: UK)
2. ...

GEO SPLIT: {X}% international, {Y}% India (target: 75/25)
Duplicates skipped: {count}
Rejected (self-promoters): {count}

Write directly to CRM (no approval gate).

Phase 7: Log to CRM

Use crm-writer to append new signals to the configured CRM tab. Write one row per signal with columns: Date, Platform, Company, Person, URL, Signal Type, Urgency, Reason, Country, Lead Type, Geo Bucket, Score.

Example Usage

Trigger phrases:

  • "Scan for signals"
  • "Find buying signals"
  • "Run a signal scan"
  • "Search for leads showing intent"
  • "Find companies looking for Shopify help"
User: Scan for buying signals this week
Assistant: [reads config, generates queries across Reddit/LinkedIn/Freelancer/Upwork/etc., executes with rate limiting, validates and structures results, presents sorted by lead type with geo split]
User: Find signals on Reddit and Shopify Community only
Assistant: [same flow but limited to those 2 platforms]

리뷰

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

댓글

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

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

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. 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의 스킬 모두 보기

이 스킬의 문제 신고