Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Subscribe to and scan industry newsletters for buying signals, competitor mentions, ICP pain-point language, and market shifts. Parses incoming newsletter emails via AgentMail, matches against keyword campaigns, and delivers a weekly digest of actionable signals. Use when a marketing team wants to turn newsletter subscriptions into an ongoing intelligence feed without manual reading.
.claude/skills/gooseworks-ai-newsletter-signal-scanner/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 123% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 38% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 9% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 72% | 0% |
Turn your newsletter subscriptions into a structured intelligence feed. Monitors an AgentMail inbox for incoming newsletters, extracts signal-relevant content by keyword campaign, and delivers a weekly digest of what matters — competitor mentions, ICP pain language, market shifts, and emerging topics.
sponsored-newsletter-finder to discover others.Save campaign config to the current working directory as newsletter-signals.json (or user-specified path).
json{ "inbox_id": "<agentmail_inbox_id>", "keyword_campaigns": { "competitors": ["Clay", "Apollo", "Outreach", "Salesloft"], "pain_language": ["pipeline is down", "outbound isn't working", "SDR ramp"], "market_shifts": ["AI SDR", "GTM engineer", "agent-led"], "brand_mentions": ["YourCompany", "yourcompany.com"] }, "newsletters": [ {"name": "Exit Five", "from_domain": "exitfive.com"}, {"name": "The GTM Newsletter", "from_domain": "gtmnewsletter.com"} ], "output": { "format": "markdown", "path": "newsletter-signals-[DATE].md" } }
Use the AgentMail API (agentmail.dev) to fetch new emails from the monitored inbox:
Fetch emails from inbox <inbox_id> since <last_scan_date>
Filter to: known newsletter senders (match against newsletters config)For each email:
For each newsletter email, scan for keyword matches:
pythonfor email in emails: matches = {} for campaign, keywords in keyword_campaigns.items(): found = [] for keyword in keywords: if keyword.lower() in email.body.lower(): # Extract context: 50 chars before + keyword + 50 chars after context = extract_context(email.body, keyword) found.append({"keyword": keyword, "context": context}) if found: matches[campaign] = found email.signal_matches = matches
Only include emails with at least one keyword match in the digest.
For each matched email, extract clean signal snippets:
Competitor mention example: > Newsletter: The GTM Newsletter | Date: 2026-03-05 > Campaign: competitors > Keyword: "Clay" > Context: "...teams that use Clay for enrichment are seeing 3x better personalization rates compared to..."
Pain language example: > Newsletter: Exit Five | Date: 2026-03-04 > Campaign: pain_language > Keyword: "outbound isn't working" > Context: "...a lot of founders telling me outbound isn't working the way it used to. The reply rates I'm seeing..."
markdown# Newsletter Signal Digest — Week of [DATE] ## Summary - Newsletters scanned: [N] - Emails with signals: [N] - Top trending topic: [topic] --- ## Competitor Mentions ### Clay - **[Newsletter Name]** — [Date] > "[Context snippet]" Source: [email subject] | [URL if available] ### [Other Competitor] ... --- ## ICP Pain Language Signals suggesting your ICP is feeling pain your product solves: - **[Newsletter Name]** — [Date] > "[Context snippet]" — Relevance: [why this matters] --- ## Market Shift Signals Emerging topics gaining newsletter coverage: - **"[Topic]"** — mentioned in [N] newsletters this week > "[Context snippet]" --- ## Your Brand Mentions [Any mentions of your company or product] --- ## Recommended Actions 1. [Specific action based on signals — e.g., "Exit Five is covering AI SDR fatigue — good moment to publish our take"] 2. [Competitive response if needed]
Save to the current working directory as newsletter-signals-[YYYY-MM-DD].md (or user-specified path).
For first-time setup, subscribe the AgentMail address to target newsletters:
Run weekly (Monday morning recommended):
bash# Every Monday at 7am — before the team's standup 0 7 * * 1 python3 run_skill.py newsletter-signal-scanner --client <client-name>
| Component | Cost | |-----------|------| | AgentMail inbox | Depends on AgentMail pricing | | Email parsing + keyword matching | Free (local logic) | | Total | Near-zero ongoing cost |
AGENTMAIL_API_KEY environment variable and the agentmail pip package (pip3 install agentmail).Other measured skills in the registry, with their headline benchmark lift.