
topic-monitor
Monitor topics of interest and proactively alert when important developments occur. Use when user wants automated monitoring of specific subjects (e.g., product releases, price changes, news topics, technology updates). Supports scheduled web searches, AI-powered importance scoring, smart alerts vs weekly digests, and memory-aware contextual summaries.
- Installs
- 596
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/sundial-org/awesome-openclaw-skills --skill topic-monitor- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads topic-monitor automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Topic Monitor
Monitor what matters. Get notified when it happens.
Topic Monitor transforms your assistant from reactive to proactive by continuously monitoring topics you care about and intelligently alerting you only when something truly matters.
Core Capabilities
- Topic Configuration - Define subjects with custom parameters
- Scheduled Monitoring - Automated searches at configurable intervals
- AI Importance Scoring - Smart filtering: immediate alert vs digest vs ignore
- Contextual Summaries - Not just links—meaningful summaries with context
- Weekly Digest - Low-priority findings compiled into readable reports
- Memory Integration - References your past conversations and interests
First Run
When you first use Topic Monitor, run the interactive setup wizard:
python3 scripts/setup.py
The wizard will guide you through:
- Topics - What subjects do you want to monitor?
- Search queries - How to search for each topic
- Keywords - What terms indicate relevance
- Frequency - How often to check (hourly/daily/weekly)
- Importance threshold - When to send alerts (low/medium/high)
- Weekly digest - Compile non-urgent findings into a summary
The wizard creates config.json with your preferences. You can always edit it later or use manage_topics.py to add/remove topics.
Example session:
🔍 Topic Monitor - Setup Wizard
What topics do you want to monitor?
> AI Model Releases
> Security Vulnerabilities
>
--- Topic 1/2: AI Model Releases ---
Search query for 'AI Model Releases' [AI Model Releases news updates]: new AI model release announcement
Keywords to watch for in 'AI Model Releases'?
> GPT, Claude, Llama, release
--- Topic 2/2: Security Vulnerabilities ---
Search query for 'Security Vulnerabilities' [Security Vulnerabilities news updates]: CVE critical vulnerability patch
Keywords to watch for in 'Security Vulnerabilities'?
> CVE, vulnerability, critical, patch
How often should I check for updates?
1. hourly
2. daily *
3. weekly
✅ Setup Complete!
Quick Start
Already know what you're doing? Here's the manual approach:
# Initialize config from template
cp config.example.json config.json
# Add a topic
python3 scripts/manage_topics.py add "Product Updates" \
--keywords "release,update,patch" \
--frequency daily \
--importance medium
# Test monitoring (dry run)
python3 scripts/monitor.py --dry-run
# Set up cron for automatic monitoring
python3 scripts/setup_cron.py
Topic Configuration
Each topic has:
- name - Display name (e.g., "AI Model Releases")
- query - Search query (e.g., "new AI model release announcement")
- keywords - Relevance filters (["GPT", "Claude", "Llama", "release"])
- frequency -
hourly,daily,weekly - importance_threshold -
high(alert immediately),medium(alert if important),low(digest only) - channels - Where to send alerts (["telegram", "discord"])
- context - Why you care (for AI contextual summaries)
Example config.json
{
"topics": [
{
"id": "ai-models",
"name": "AI Model Releases",
"query": "new AI model release GPT Claude Llama",
"keywords": ["GPT", "Claude", "Llama", "release", "announcement"],
"frequency": "daily",
"importance_threshold": "high",
"channels": ["telegram"],
"context": "Following AI developments for work",
"alert_on": ["model_release", "major_update"]
},
{
"id": "tech-news",
"name": "Tech Industry News",
"query": "technology startup funding acquisition",
"keywords": ["startup", "funding", "Series A", "acquisition"],
"frequency": "daily",
"importance_threshold": "medium",
"channels": ["telegram"],
"context": "Staying informed on tech trends",
"alert_on": ["major_funding", "acquisition"]
},
{
"id": "security-alerts",
"name": "Security Vulnerabilities",
"query": "CVE critical vulnerability security patch",
"keywords": ["CVE", "vulnerability", "security", "patch", "critical"],
"frequency": "hourly",
"importance_threshold": "high",
"channels": ["telegram", "email"],
"context": "DevOps security monitoring",
"alert_on": ["critical_cve", "zero_day"]
}
],
"settings": {
"digest_day": "sunday",
"digest_time": "18:00",
"max_alerts_per_day": 5,
"deduplication_window_hours": 72,
"learning_enabled": true
}
}
Scripts
manage_topics.py
Manage research topics:
# Add topic
python3 scripts/manage_topics.py add "Topic Name" \
--query "search query" \
--keywords "word1,word2" \
--frequency daily \
--importance medium \
--channels telegram
# List topics
python3 scripts/manage_topics.py list
# Edit topic
python3 scripts/manage_topics.py edit eth-price --frequency hourly
# Remove topic
python3 scripts/manage_topics.py remove eth-price
# Test topic (preview results without saving)
python3 scripts/manage_topics.py test eth-price
monitor.py
Main monitoring script (run via cron):
# Normal run (alerts + saves state)
python3 scripts/monitor.py
# Dry run (no alerts, shows what would happen)
python3 scripts/monitor.py --dry-run
# Force check specific topic
python3 scripts/monitor.py --topic eth-price
# Verbose logging
python3 scripts/monitor.py --verbose
How it works:
- Reads topics due for checking (based on frequency)
- Searches using web-search-plus or built-in web_search
- Scores each result with AI importance scorer
- High-importance → immediate alert
- Medium-importance → saved for digest
- Low-importance → ignored
- Updates state to prevent duplicate alerts
digest.py
Generate weekly digest:
# Generate digest for current week
python3 scripts/digest.py
# Generate and send
python3 scripts/digest.py --send
# Preview without sending
python3 scripts/digest.py --preview
Output format:
# Weekly Research Digest - [Date Range]
## 🔥 Highlights
- **AI Models**: Claude 4.5 released with improved reasoning
- **Security**: Critical CVE patched in popular framework
## 📊 By Topic
### AI Model Releases
- [3 findings this week]
### Security Vulnerabilities
- [1 finding this week]
## 💡 Recommendations
Based on your interests, you might want to monitor:
- "Kubernetes security" (mentioned 3x this week)
setup_cron.py
Configure automated monitoring:
# Interactive setup
python3 scripts/setup_cron.py
# Auto-setup with defaults
python3 scripts/setup_cron.py --auto
# Remove cron jobs
python3 scripts/setup_cron.py --remove
Creates cron entries:
# Topic Monitor - Hourly topics
0 * * * * cd /path/to/skills/topic-monitor && python3 scripts/monitor.py --frequency hourly
# Topic Monitor - Daily topics
0 9 * * * cd /path/to/skills/topic-monitor && python3 scripts/monitor.py --frequency daily
# Topic Monitor - Weekly digest
0 18 * * 0 cd /path/to/skills/topic-monitor && python3 scripts/digest.py --send
AI Importance Scoring
The scorer uses multiple signals to decide alert priority:
Scoring Signals
HIGH priority (immediate alert):
- Major breaking news (detected via freshness + keyword density)
- Price changes >10% (for finance topics)
- Product releases matching your exact keywords
- Security vulnerabilities in tools you use
- Direct answers to specific questions you asked
MEDIUM priority (digest-worthy):
- Related news but not urgent
- Minor updates to tracked products
- Interesting developments in your topics
- Tutorial/guide releases
- Community discussions with high engagement
LOW priority (ignore):
- Duplicate news (already alerted)
- Tangentially related content
- Low-quality sources
- Outdated information
- Spam/promotional content
Learning Mode
When enabled (learning_enabled: true), the system:
- Tracks which alerts you interact with
- Adjusts scoring weights based on your behavior
- Suggests topic refinements
- Auto-adjusts importance thresholds
Learning data stored in .learning_data.json (privacy-safe, never shared).
Memory Integration
Topic Monitor connects to your conversation history:
Example alert:
🔔 Dirac Live Update
Version 3.8 released with the room correction improvements you asked about last week.
Context: You mentioned struggling with bass response in your studio. This update includes new low-frequency optimization.
[Link] | [Full details]
How it works:
- Reads references/memory_hints.md (create this file)
- Scans recent conversation logs (if available)
- Matches findings to past context
- Generates personalized summaries
memory_hints.md (optional)
Help the AI connect dots:
# Memory Hints for Topic Monitor
## AI Models
- Using Claude for coding assistance
- Interested in reasoning improvements
- Comparing models for different use cases
## Security
- Running production Kubernetes clusters
- Need to patch critical CVEs quickly
- Interested in zero-day disclosures
## Tech News
- Following startup ecosystem
- Interested in developer tools space
- Tracking potential acquisition targets
Alert Channels
Telegram
Requires OpenClaw message tool:
{
"channels": ["telegram"],
"telegram_config": {
"chat_id": "@your_username",
"silent": false,
"effects": {
"high_importance": "🔥",
"medium_importance": "📌"
}
}
}
Discord
Webhook-based:
{
"channels": ["discord"],
"discord_config": {
"webhook_url": "https://discord.com/api/webhooks/...",
"username": "Research Bot",
"avatar_url": "https://..."
}
}
SMTP or API:
{
"channels": ["email"],
"email_config": {
"to": "you@example.com",
"from": "research@yourdomain.com",
"smtp_server": "smtp.gmail.com",
"smtp_port": 587
}
}
Advanced Features
Alert Conditions
Fine-tune when to alert:
{
"alert_on": [
"price_change_10pct",
"keyword_exact_match",
"source_tier_1",
"high_engagement"
],
"ignore_sources": [
"spam-site.com",
"clickbait-news.io"
],
"boost_sources": [
"github.com",
"arxiv.org",
"official-site.com"
]
}
Regex Patterns
Match specific patterns:
{
"patterns": [
"version \\d+\\.\\d+\\.\\d+",
"\\$\\d{1,3}(,\\d{3})*",
"CVE-\\d{4}-\\d+"
]
}
Rate Limiting
Prevent alert fatigue:
{
"settings": {
"max_alerts_per_day": 5,
"max_alerts_per_topic_per_day": 2,
"quiet_hours": {
"start": "22:00",
"end": "08:00"
}
}
}
State Management
.research_state.json
Tracks:
- Last check time per topic
- Alerted URLs (deduplication)
- Importance scores history
- Learning data (if enabled)
Example:
{
"topics": {
"eth-price": {
"last_check": "2026-01-28T22:00:00Z",
"last_alert": "2026-01-28T15:30:00Z",
"alerted_urls": [
"https://example.com/eth-news-1"
],
"findings_count": 3,
"alerts_today": 1
}
},
"deduplication": {
"url_hash_map": {
"abc123": "2026-01-28T15:30:00Z"
}
}
}
.findings/ directory
Stores digest-worthy findings:
.findings/
├── 2026-01-22_eth-price.json
├── 2026-01-24_fm26-patches.json
└── 2026-01-27_ai-breakthroughs.json
Best Practices
- Start conservative - Set
importance_threshold: mediuminitially, adjust based on alert quality - Use context field - Helps AI generate better summaries
- Refine keywords - Add negative keywords to filter noise:
"keywords": ["AI", "-clickbait", "-spam"] - Enable learning - Improves over time based on your behavior
- Review digest weekly - Don't ignore the digest—it surfaces patterns
- Combine with personal-analytics - Get topic recommendations based on your chat patterns
Integration with Other Skills
web-search-plus
Automatically uses intelligent routing:
- Product/price topics → Serper
- Research topics → Tavily
- Company/startup discovery → Exa
personal-analytics
Suggests topics based on conversation patterns:
"You've asked about Rust 12 times this month. Want me to monitor 'Rust language updates'?"
Privacy & Security
- All data local - No external services except search APIs
- State files gitignored - Safe to use in version-controlled workspace
- Memory hints optional - You control what context is shared
- Learning data stays local - Never sent to APIs
Troubleshooting
No alerts being sent:
- Check cron is running:
crontab -l - Verify channel config (Telegram chat ID, Discord webhook)
- Run with
--dry-run --verboseto see scoring
Too many alerts:
- Increase
importance_threshold - Add rate limiting
- Refine keywords (add negative filters)
- Enable learning mode
Missing important news:
- Decrease
importance_threshold - Increase check frequency
- Broaden keywords
- Check
.research_state.jsonfor deduplication issues
Digest not generating:
- Verify
.findings/directory exists and has content - Check digest cron schedule
- Run manually:
python3 scripts/digest.py --preview
Example Workflows
Track Product Release
python3 scripts/manage_topics.py add "iPhone 17 Release" \
--query "iPhone 17 announcement release date" \
--keywords "iPhone 17,Apple event,September" \
--frequency daily \
--importance high \
--channels telegram \
--context "Planning to upgrade from iPhone 13"
Monitor Competitor
python3 scripts/manage_topics.py add "Competitor Analysis" \
--query "CompetitorCo product launch funding" \
--keywords "CompetitorCo,product,launch,Series,funding" \
--frequency weekly \
--importance medium \
--channels discord,email
Research Topic
python3 scripts/manage_topics.py add "Quantum Computing Papers" \
--query "quantum computing arxiv" \
--keywords "quantum,qubit,arxiv" \
--frequency weekly \
--importance low \
--channels email
Credits
Built for ClawHub. Uses web-search-plus skill for intelligent search routing.
FAQ
What does the topic-monitor skill do?
Monitor topics of interest and proactively alert when important developments occur. Use when user wants automated monitoring of specific subjects (e.g., product releases, price changes, news topics, technology updates). Supports scheduled web searches, AI-powered importance scoring, smart alerts vs weekly digests, and memory-aware contextual summaries.
How do I install topic-monitor?
Run npx skills add https://github.com/sundial-org/awesome-openclaw-skills --skill topic-monitor in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/topic-monitor/ (personal) or .claude/skills/topic-monitor/ (project).
Which AI agents can use topic-monitor?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is topic-monitor safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains topic-monitor?
It is published by sundial-org in sundial-org/awesome-openclaw-skills. It has 596 recorded installs.
More from sundial-org/awesome-openclaw-skills
stock-market-pro
sundial-org/awesome-openclaw-skills
Professional stock price tracking, fundamental analysis, and financial reporting tool. Supports global markets (US, KR, etc.), Crypto, and Forex with real-time data. (1) Real-time quotes, (2) Valuation metrics (PE, EPS, ROE), (3) Earnings calendar and consensus, (4) High-quality Candlestick & Line charts with technical indicators (MA5/20/60).
ontology
sundial-org/awesome-openclaw-skills
Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on "remember", "what do I know about", "link X to Y", "show dependencies", entity CRUD, or cross-skill data access.
finance-news
sundial-org/awesome-openclaw-skills
Market news briefings with AI summaries. Use when asked about stock news, market updates, portfolio performance, morning/evening briefings, financial headlines, or price alerts. Supports US/Europe/Japan markets, WhatsApp delivery, and English/German output.
exa-web-search-free
sundial-org/awesome-openclaw-skills
Free AI search via Exa MCP. Web search for news/info, code search for docs/examples from GitHub/StackOverflow, company research for business intel. No API key needed.
memory-setup
sundial-org/awesome-openclaw-skills
Enable and configure Moltbot/Clawdbot memory search for persistent context. Use when setting up memory, fixing "goldfish brain," or helping users configure memorySearch in their config. Covers MEMORY.md, daily logs, and vector search setup.
ffmpeg-video-editor
sundial-org/awesome-openclaw-skills
Generate FFmpeg commands from natural language video editing requests - cut, trim, convert, compress, change aspect ratio, extract audio, and more.
Popular devops & cloud skills
microsoft-foundry
microsoft/azure-skills
Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent create, managed harness agent create, GitHub Copilot harness agent, create agent, update agent, add tool to agent, invoke agent, agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure
azure-diagnostics
microsoft/azure-skills
Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, container app 503 or target port mismatch, troubleshoot functions, function telemetry missing or stopped after a config/connection-string change, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures, resource health, root cause of errors, troubleshoot event hubs, troubleshoot service bus, messaging SDK error, AMQP connection failure, message lock lost, lock renewal during long-running processing, service bus dead letter.
azure-prepare
microsoft/azure-skills
Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.
azure-ai
microsoft/azure-skills
Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.
azure-deploy
microsoft/azure-skills
Execute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: "run azd up", "run azd deploy", "execute deployment", "push to production", "push to cloud", "go live", "ship it", "bicep deploy", "terraform apply", "publish to Azure", "launch on Azure". DO NOT USE WHEN: "create and deploy", "build and deploy", "create a new app", "set up infrastructure", "create and deploy to Azure using Terraform" — use azure-prepare for these.
azure-validate
microsoft/azure-skills
Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless deployment, verify RBAC roles, check role assignments, review managed identity permissions, what-if analysis, validate Container Apps deployment.