AGENT SKILLBY GOOSEWORKS-AI
Newsletter signal scanner
AT A GLANCE
Newsletter signal scanner is an agent skill for email. Turn your newsletter subscriptions into a structured intelligence feed. It is published by gooseworks-ai in the gooseworks-ai/goose-skills GitHub repository (912 stars) under the MIT license. Install it with: npx skills add gooseworks-ai/goose-skills --skill newsletter-signal-scanner
- SOURCE REPOSITORY
- gooseworks-ai/goose-skills (opens GitHub in a new tab)
- REPO STARS
- SOURCE REPOSITORY
- LICENSE
- MIT
- CATEGORIES
- SKILL.MD SIZE
- 5.8 KB192 LINES
QUICK ANSWER
- WHAT IT IS01
- Turn your newsletter subscriptions into a structured intelligence feed. Its edge is a particular angle on email marketing, giving the agent tighter constraints than a plain newsletter signal scanner request.
- INPUTS02
- Context for email marketing: your goals, audience, constraints, and any source material the skill asks for.
- OUTPUT03
- A ready-to-use result for email marketing: the analysis, copy, or recommendations the agent produces.
INSTALL
One command adds this skill from its source repository.
npx skills add gooseworks-ai/goose-skills --skill newsletter-signal-scannerREAD THE SKILL.MD BELOW BEFORE YOU RUN IT. SKILLS INSTRUCT YOUR AGENT.
SKILL.MD
The full file, as published in the source repository. Copy it, download it or open it on GitHub.
ON THIS PAGE · 14
Newsletter Signal Scanner#
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.
When to Use#
- "Monitor industry newsletters for competitor mentions"
- "Alert me when newsletters mention [topic] or [company]"
- "What are newsletters writing about this week in our space?"
- "Set up newsletter monitoring for [client]"
Phase 0: Intake#
Newsletters to Monitor#
- Which newsletters should be subscribed to and monitored? (List names or URLs)
- If unknown, ask: "What 3-5 newsletters does your ICP read?" — then use
sponsored-newsletter-finderto discover others.
- If unknown, ask: "What 3-5 newsletters does your ICP read?" — then use
- Which AgentMail inbox should receive them? (Or should we create a new one?)
Keyword Campaigns#
- Competitor names to track (e.g., "Clay", "Apollo", "Outreach")
- ICP pain-language terms to track (e.g., "outbound struggling", "pipeline dried up", "SDR ramp")
- Market shift terms (e.g., "AI SDR", "agent-led growth", "GTM engineer")
- Your brand name (to catch mentions)
Output#
- Digest delivery: Slack channel, email, or markdown file? (default: markdown file)
- Frequency: daily or weekly? (default: weekly)
Save campaign config to the current working directory as newsletter-signals.json (or user-specified path).
{
"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"
}
}Phase 1: Scan Inbox#
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:
- Extract subject, sender, date, full body text
- Strip HTML → plain text for analysis
Phase 2: Apply Keyword Campaigns#
For each newsletter email, scan for keyword matches:
for 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 = matchesOnly include emails with at least one keyword match in the digest.
Phase 3: Extract Signal Snippets#
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..."
Phase 4: Output Format#
# 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).
Phase 5: Setup — Subscribe to Newsletters#
For first-time setup, subscribe the AgentMail address to target newsletters:
- Get the AgentMail inbox address (via AgentMail API at agentmail.dev)
- For each newsletter, visit subscription page and submit the AgentMail address
- Confirm subscriptions (check inbox for confirmation emails)
- Allow 1-2 weeks of accumulation before first full digest
Scheduling#
Run weekly (Monday morning recommended):
# Every Monday at 7am — before the team's standup
0 7 * * 1 python3 run_skill.py newsletter-signal-scanner --client <client-name>Cost#
| Component | Cost |
|---|---|
| AgentMail inbox | Depends on AgentMail pricing |
| Email parsing + keyword matching | Free (local logic) |
| Total | Near-zero ongoing cost |
Tools Required#
- AgentMail API (agentmail.dev) — for inbox access. Requires
AGENTMAIL_API_KEYenvironment variable and theagentmailpip package (pip3 install agentmail).
Trigger Phrases#
- "Scan newsletters for this week's signals"
- "What are industry newsletters saying about [topic]?"
- "Run newsletter signal scanner for [client]"
- "Set up newsletter monitoring"
FAQ
07 QUESTIONS
01What is the Newsletter signal scanner agent skill?
Turn your newsletter subscriptions into a structured intelligence feed. It is listed under email in the 100xLab agent skills directory.
02How do I install Newsletter signal scanner in Cursor, Claude Code, or Codex?
Run npx skills add gooseworks-ai/goose-skills --skill newsletter-signal-scanner in the project where you want it, then ask your agent for the skill by name. The --skill flag installs only Newsletter signal scanner, not every skill in the repository.
03What does the Newsletter signal scanner SKILL.md cover?
The SKILL.md includes sections on When to Use, Phase 0: Intake, Newsletters to Monitor, Keyword Campaigns, Output and Phase 1: Scan Inbox. Read the full text on this page or in plain markdown at /resources/agent-skills/gooseworks-ai-goose-skills--newsletter-signal-scanner--138rfnl/raw.
04Which agents can use Newsletter signal scanner?
Newsletter signal scanner installs with the cross-agent skills installer (npx skills add), which sets it up for agents such as Claude Code, Cursor and Codex. Each agent loads the SKILL.md when you ask for the skill by name.
05What license is Newsletter signal scanner under?
The gooseworks-ai/goose-skills repository declares the MIT license. Read the license file in the repository before you copy or redistribute the skill.
06Is Newsletter signal scanner free to use?
Reading, copying and installing Newsletter signal scanner costs nothing: it is published in a public GitHub repository under the MIT license. Reuse and redistribution follow that license.
07Where is the source of Newsletter signal scanner?
Newsletter signal scanner comes from https://github.com/gooseworks-ai/goose-skills, which has 912 GitHub stars. The SKILL.md is at https://github.com/gooseworks-ai/goose-skills/blob/HEAD/skills/monitoring/composites/newsletter-signal-scanner/SKILL.md. The author is gooseworks-ai.
Need an agent workflow built around your stack?
Tell us the workflow you want automated. We reply within 4 working hours (IST).
ATTRIBUTION
Newsletter signal scanner was written by its original authors and is published in gooseworks-ai/goose-skills (opens GitHub in a new tab) under the MIT license. All rights stay with the original authors.
100xLab did not write, maintain or endorse this skill. This page lists it for discovery. Repo stars belong to the source repository, not to the skill. Review any skill before you install it.