skills/composites/industry-scanner/SKILL.md
Daily industry intelligence scanner. Scans web, social media, news, blogs, and communities for industry-relevant events, trends, and signals. Produces a comprehensive intelligence briefing plus strategic GTM opportunity ideas. Orchestrates existing scraping skills — does not reimplement data collection.
npx skillsauth add athina-ai/goose-skills industry-scannerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Daily deep-research agent that scans the internet for everything relevant to a client's industry, then generates strategic GTM opportunities based on what it finds.
Run an industry scan for <client>. Use the config at clients/<client>/config/industry-scanner.json.
Or for a weekly deeper scan:
Run a weekly industry scan for <client> with --lookback 7.
1 for daily (default), 7 for weekly deep scanclients/<client>/config/industry-scanner.json — this contains all the keywords, sources, competitors, and URLs to scanclients/<client>/context.md — need the ICP, value props, and positioning to generate relevant strategies1 day for daily scans, 7 for weekly, or whatever the user specifiesIf no client config exists, ask the user for the key inputs and offer to create one from the example at skills/industry-scanner/config/example-config.json.
Run these data sources in parallel where possible. Skip any source that isn't configured. For each source, use the existing skill's CLI or tool as documented.
IMPORTANT: Run as many of these bash commands in parallel as possible to minimize total scan time. Sources are independent of each other.
Run 5-8 web searches combining the configured web_search_queries with time-sensitive modifiers. Examples:
"<industry keyword> news this week""<competitor name> shutdown OR closing OR acquired 2026""<industry> conference 2026 speaker applications""<industry keyword> new regulation OR policy change""<competitor name> layoffs OR pivot OR rebrand"Also search for each competitor name directly to catch any recent news.
python3 skills/blog-feed-monitor/scripts/scrape_blogs.py \
--urls "<comma-separated blog_urls from config>" \
--days <lookback> --output json
Read skills/blog-feed-monitor/SKILL.md for full CLI reference.
For each configured subreddit, run:
python3 skills/reddit-post-finder/scripts/search_reddit.py \
--subreddit "<comma-separated subreddits from config>" \
--keywords "<comma-separated reddit_keywords from config>" \
--days <lookback> --sort hot --output json
Also run a separate search with --sort top --time week to catch high-engagement posts.
Read skills/reddit-post-finder/SKILL.md for full CLI reference.
For each configured Twitter query:
python3 skills/twitter-mention-tracker/scripts/search_twitter.py \
--query "<twitter_query>" \
--since <yesterday-YYYY-MM-DD> --until <today-YYYY-MM-DD> \
--max-tweets 30 --output json
Read skills/twitter-mention-tracker/SKILL.md for full CLI reference.
Search each configured LinkedIn keyword via the linkedin-post-research skill.
Delegate to the linkedin-post-research skill (uses the apimaestro~linkedin-posts-search-scraper-no-cookies Apify actor). Search each keyword with date_posted: "past-day" (or "past-week" for weekly scans).
Read skills/linkedin-post-research/SKILL.md for the full Apify workflow.
python3 skills/hacker-news-scraper/scripts/search_hn.py \
--query "<hn_query>" --days <lookback> --output json
Run once per configured hn_queries entry. Read skills/hacker-news-scraper/SKILL.md for full CLI reference.
If the client has an accounting-news-monitor (or similar) configured:
python3 skills/accounting-news-monitor/scripts/monitor_news.py \
--new-only --days <lookback> --output json
Read skills/accounting-news-monitor/SKILL.md for full CLI reference.
If the client has newsletter monitoring configured:
python3 skills/newsletter-monitor/scripts/scan_newsletters.py \
--days <lookback> --output json
Read skills/newsletter-monitor/SKILL.md for full CLI reference.
For each configured review URL:
python3 skills/review-site-scraper/scripts/scrape_reviews.py \
--platform <platform> --url "<review_url>" \
--days <lookback> --max-reviews 20 --output json
Read skills/review-site-scraper/SKILL.md for full CLI reference.
After all data collection completes, consolidate the results:
Deduplicate — items appearing across multiple sources (e.g., a news story on both a blog and Reddit). Keep the richest version but note multi-source appearance (higher signal).
Categorize each item into one of these types:
| Category | What to Look For | |----------|-----------------| | Competitor News | Shutdowns, launches, funding, pivots, negative reviews, leadership changes, pricing changes | | Industry Events | Upcoming conferences, webinars, meetups, speaker slots, CFPs, award nominations | | Market Trends | Viral discussions, hot topics, emerging themes, sentiment shifts, adoption data | | Regulatory / Policy | New regulations, compliance changes, government actions, standards updates | | People Moves | Key hires, departures, promotions at competitors or target companies | | Technology | New product launches, integrations, platform changes, deprecations | | Funding / M&A | Acquisitions, mergers, funding rounds, PE investments, IPO signals | | Pain Points | People publicly complaining about problems the client solves | | Content Opportunities | Trending content, viral posts, gaps in existing coverage, unanswered questions |
Rate relevance — High / Medium / Low based on how directly it relates to the client's ICP and value props.
Filter out noise — Drop items rated Low relevance unless they're genuinely noteworthy. The goal is signal, not volume.
Review the consolidated intelligence and identify items (or clusters of related items) that present genuine GTM opportunities.
CRITICAL: Do NOT force-fit a strategy for every item. Many items are just "good to know" — that's fine, they go in the intelligence briefing. Only generate strategy ideas where there is a real, actionable opportunity that could meaningfully impact growth.
For each genuine opportunity, produce:
| Field | Description |
|-------|-------------|
| Trigger | What happened — the intelligence item(s) that sparked this idea |
| Strategy | What to do about it — specific and actionable, not vague |
| Tactics | 2-4 concrete next steps with skill references where applicable |
| Urgency | Immediate (do this today/this week), Soon (next 2 weeks), or Evergreen |
| Effort | Low (1-2 hours), Medium (half day), High (multi-day project) |
| Expected Impact | Why this could matter — who it reaches, what it could generate |
Use these as inspiration, not as a checklist. Match the pattern to the trigger:
Competitor in trouble (shutdown, bad reviews, layoffs, pivot):
web-archive-scraper (recover their customer list), review-site-scraper (find reviewers), linkedin-post-research (find posts about them), cold-email-outreachIndustry event coming up:
luma-event-attendees or conference-speaker-scraper)Viral post or trending discussion:
linkedin-post-research, company-contact-finderAcquisition or merger announced:
web-archive-scraper (find client lists), company-contact-finderNew regulation or policy change:
Pain point surfaced (Reddit complaint, negative review, LinkedIn vent):
company-contact-finderTrending topic or content gap:
Funding round announced at target company:
company-contact-finder, cold-email-outreachSave the report to the current working directory as industry-scan-<YYYY-MM-DD>.md (or user-specified path) using this structure:
# Industry Intelligence Briefing — <Client Name>
**Date:** <YYYY-MM-DD>
**Scan type:** Daily / Weekly
**Sources scanned:** <list of sources that returned results>
---
## Executive Summary
<2-3 sentence overview of the most important findings. What should the client pay attention to today?>
---
## Intelligence Briefing
### Competitor News
| Item | Source | Link | Relevance |
|------|--------|------|-----------|
| ... | ... | ... | High/Med |
### Industry Events
| Item | Source | Link | Date | Relevance |
|------|--------|------|------|-----------|
### Market Trends
| Item | Source | Link | Engagement | Relevance |
|------|--------|------|------------|-----------|
### Funding / M&A
| Item | Source | Link | Relevance |
|------|--------|------|-----------|
### Regulatory / Policy
| Item | Source | Link | Relevance |
|------|--------|------|-----------|
### Technology
| Item | Source | Link | Relevance |
|------|--------|------|-----------|
### People Moves
| Item | Source | Link | Relevance |
|------|--------|------|-----------|
### Pain Points & Complaints
| Item | Source | Link | Engagement | Relevance |
|------|--------|------|------------|-----------|
### Content Opportunities
| Item | Source | Link | Why | Relevance |
|------|--------|------|-----|-----------|
*(Only include sections that have items. Skip empty categories.)*
---
## Strategic Growth Opportunities
*(Only include opportunities where there's a genuine, actionable strategy with meaningful potential impact. It is completely fine to have zero opportunities on a quiet day.)*
### Opportunity 1: <Short title>
**Trigger:** <What happened>
**Strategy:** <What to do about it>
**Tactics:**
1. <Specific action> *(skill: <skill-name> if applicable)*
2. <Specific action>
3. <Specific action>
**Urgency:** Immediate / Soon / Evergreen
**Effort:** Low / Medium / High
**Expected Impact:** <Why this matters>
---
### Opportunity 2: ...
---
## Scan Statistics
- **Total items found:** X
- **By category:** Competitor News (X), Events (X), Trends (X), ...
- **Opportunities identified:** X
- **Sources that returned results:** X of Y configured
Each client needs a config file at clients/<client>/config/industry-scanner.json. See skills/industry-scanner/config/example-config.json for the full schema.
Key fields:
web_search_queries — broad industry search termscompetitors — competitor names to monitorsubreddits + reddit_keywords — Reddit monitoring configtwitter_queries — Twitter/X search termslinkedin_keywords — LinkedIn post search termsblog_urls — industry publication URLs (for RSS scraping)hn_queries — Hacker News search termsreview_urls — competitor review page URLs (G2, Capterra, Trustpilot)event_keywords — conference and event search terms--lookback 1) are fast but may miss slower-developing stories. Run a weekly deep scan (--lookback 7) every Monday for comprehensive coverage.company-contact-finder), the user can chain directly into that skill to take action.No additional dependencies beyond what the sub-skills require:
requests (Python) — for blog-feed-monitor, reddit-post-finder, twitter-mention-tracker, hn-scraper, review-site-scraper, news-monitorAPIFY_API_TOKEN env var — for Reddit, Twitter, and review scrapingagentmail + python-dotenv — for newsletter-monitor (if configured)APIFY_API_TOKEN — LinkedIn post search goes through the linkedin-post-research skill (Apify-based)content-media
Takes an existing screen recording or demo video and adds professional zoom/pan effects synchronized to the narration. Uses transcript-driven zoom targeting and Remotion for rendering. Optionally replaces audio with a soundtrack.
tools
Repurposes long-form video (podcasts, interviews, talks) into short-form vertical clips for Instagram Reels, TikTok, and YouTube Shorts. Handles transcription, moment selection, clip extraction, speaker-tracked reframing (16:9 to 9:16), and animated captions.
development
Creates talking head videos from any source material (docs, changelogs, blog posts, notes, transcripts). Produces multi-scene videos with avatar narration over screenshots/images using HeyGen v2 API. Supports Quick Shot and Full Producer modes.
tools
Generates Instagram-ready product reels from any e-commerce product page URL. Scrapes product images, classifies by type, generates AI-animated clips via Higgsfield API, creates text overlays with style presets, and composes a 15-20 second reel with music. Supports model-based and product-only reels.