← Back to Skills Marketplace
runawaydevil

Feed Watcher

by runawaydevil · GitHub ↗ · v0.0.1
cross-platform ⚠ suspicious
384
Downloads
1
Stars
3
Active Installs
1
Versions
Install in OpenClaw
/install feed-watcher
Description
Monitor RSS/Atom feeds and send notifications when new content appears. Track YouTube channels, Reddit subreddits, GitHub releases, blogs, and any RSS/Atom f...
README (SKILL.md)

Feed Watcher

Monitor RSS/Atom feeds and send notifications when new content appears.

Description

This skill monitors RSS and Atom feeds for new content and sends notifications via webhook or cron job. It's designed to track YouTube channels, Reddit subreddits, GitHub repos, blogs, and any other RSS/Atom feed.

Features

  • Add multiple feeds to monitor
  • Track new articles/posts since last check
  • Configurable notification via webhook
  • Persistent state (remembers last checked item)
  • Supports any RSS/Atom feed

Installation

# Install required dependencies
npm install

# Or use globally
npm install -g rss-parser dotenv

Configuration

Create a .env file with:

# Webhook URL for notifications (Discord, Telegram, Slack, etc.)
WEBHOOK_URL=https://your-webhook-url.com/hook

# Optional: Custom user agent
USER_AGENT=feed-watcher/1.0

Commands

Add a feed

node index.js add "feed_name" "https://example.com/feed.xml"

Example - YouTube channel:

node index.js add "Psychopoly" "https://www.youtube.com/feeds/videos.xml?channel_id=UCXXXX"

Example - Reddit subreddit:

node index.js add "programming" "https://www.reddit.com/r/programming/.rss"

Example - GitHub releases:

node index.js add "openclaw" "https://github.com/openclaw/openclaw/releases.atom"

List feeds

node index.js list

Scan for updates

node index.js scan

Check specific feed

node index.js check "feed_name"

Remove feed

node index.js remove "feed_name"

Usage as a Cron Job

Add to crontab for automatic monitoring:

# Run every 30 minutes
*/30 * * * * cd /path/to/feed-watcher && node index.js scan >> /var/log/feed-watcher.log 2>&1

Supported Feed Types

  • RSS 2.0
  • Atom 1.0
  • YouTube channel feeds
  • Reddit subreddit feeds (.rss)
  • GitHub release/issue feeds
  • Any standard RSS/Atom feed

Examples

YouTube Channel

Find channel ID, then use:

https://www.youtube.com/feeds/videos.xml?channel_id=UCxxxxx

Reddit

For r/programming:

https://www.reddit.com/r/programming/.rss

GitHub Releases

For a repo:

https://github.com/owner/repo/releases.atom

Environment Variables

Variable Required Description
WEBHOOK_URL No URL to send notifications
DATA_DIR No Directory for state files (default: ~/.feed-watcher)

Notification Format

When new content is found, the webhook receives:

{
  "feed": "Feed Name",
  "count": 3,
  "items": [
    {
      "title": "Article Title",
      "link": "https://example.com/article",
      "pubDate": "2024-01-15T10:30:00Z"
    }
  ]
}

Notes

  • State is stored in ~/.feed-watcher/feeds.json
  • Each feed tracks its own last-seen item
  • Run scan before setting up cron to test feeds
  • You can use with any notification service (Discord webhook, Telegram bot, Slack, etc.)
Usage Guidance
This skill appears to do what it says (poll feeds and send webhook notifications) but there are several inconsistencies you should consider before installing/running it: - The repository/package.json declares dependencies (rss-parser, dotenv, node-fetch) and the docs tell you to run 'npm install'. The provided runtime (index.js) does not import or use those packages. Installing them would pull code from npm (and possibly run package install scripts) for no functional reason — avoid running 'npm install' unless you audit those packages first. - The SKILL.md documents environment variables USER_AGENT and DATA_DIR, but the program ignores them. Only WEBHOOK_URL is actually read. Expect the documentation to be inaccurate; double-check that your webhook URL is safe and that you understand where state files will be written (~/.feed-watcher/feeds.json). - There is a small bug in the HTTP header keys in index.js (the 'Accept' header is malformed due to a typo). This is likely harmless but indicates the code may be lightly tested. Recommended steps before use: 1) Inspect index.js locally (you already have it) and confirm it meets your needs. It uses only built-in Node modules (http/https/fs) — you can run it without installing external deps. 2) If you must run 'npm install', do so in an isolated environment (container or VM) and review package.json and the npm packages to avoid unnecessary supply-chain exposure. 3) If you want USER_AGENT or custom DATA_DIR behavior, either adjust index.js yourself or request a corrected release. Also fix the malformed header key if necessary. 4) Consider running the tool with a non-privileged user account and monitor network calls the first time it runs. Given the mismatches (unused dependencies, inaccurate docs, and minor bugs) I rate this suspicious rather than benign. If the author can confirm why npm deps are listed and update docs to match the runtime, the assessment could move to benign.
Capability Analysis
Type: OpenClaw Skill Name: feed-watcher Version: 0.0.1 The OpenClaw AgentSkills bundle 'feed-watcher' is classified as benign. Its functionality aligns with the stated purpose of monitoring RSS/Atom feeds and sending notifications to a user-configured webhook URL. While it performs network requests to arbitrary URLs and sends data to external endpoints, this is the core, documented behavior of the skill and is controlled by user configuration (WEBHOOK_URL). There is no evidence of intentional malicious activity such as unauthorized data exfiltration, backdoor installation, or arbitrary command execution. Minor issues like a typo in the User-Agent header in `index.js` and unused dependencies in `package.json` are development flaws, not security threats.
Capability Assessment
Purpose & Capability
Name/description match the code: the CLI monitors RSS/Atom feeds, persists state, and can POST notifications to a webhook. That capability is coherent with the stated purpose.
Instruction Scope
SKILL.md instructs creating a .env with WEBHOOK_URL, USER_AGENT, and optionally DATA_DIR, and describes storage at ~/.feed-watcher/feeds.json. The code reads WEBHOOK_URL and writes state under the user's home directory, but it ignores USER_AGENT and DATA_DIR env vars. The SKILL.md also recommends installing 'rss-parser' and 'dotenv', but the runtime code does not use them. These are mismatches (likely bugs or sloppy docs) but they do not directly indicate exfiltration or extra-scope behavior.
Install Mechanism
There is no install spec, but package.json lists dependencies (rss-parser, dotenv, node-fetch) and SKILL.md suggests running 'npm install'. The shipped index.js does not import those modules (it uses only built-in http/https/fs/path). Asking users to run 'npm install' would pull packages (and their transitive dependencies and install scripts) from the public registry for no clear reason — unnecessary dependency installation increases supply-chain risk.
Credentials
SKILL.md documents WEBHOOK_URL and DATA_DIR (and mentions USER_AGENT) but index.js uses only WEBHOOK_URL and ignores DATA_DIR and USER_AGENT. The only environment access the program actually performs is reading WEBHOOK_URL and HOME/USERPROFILE to locate ~/.feed-watcher. The skill asks users to create a .env with values the runtime doesn't use, creating potential confusion. Requiring npm install (see above) requests broader implicit privileges (network access to npm) that are disproportionate to the code's actual needs.
Persistence & Privilege
The skill stores state in ~/.feed-watcher/feeds.json and does not request always:true or modify other skills/configs. It neither requires system-wide privileges nor persists beyond the user's home directory. That behavior is consistent with its purpose.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install feed-watcher
  3. After installation, invoke the skill by name or use /feed-watcher
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.0.1
Initial release of feed-watcher - Monitor RSS/Atom feeds for updates and send notifications via webhooks. - Supports tracking YouTube channels, Reddit subreddits, GitHub releases, blogs, and any standard RSS/Atom feed. - Add, remove, list, and scan feeds using CLI commands. - Persistent state tracking to avoid duplicate notifications. - Easy integration with Discord, Telegram, Slack, and similar services.
Metadata
Slug feed-watcher
Version 0.0.1
License
All-time Installs 3
Active Installs 3
Total Versions 1
Frequently Asked Questions

What is Feed Watcher?

Monitor RSS/Atom feeds and send notifications when new content appears. Track YouTube channels, Reddit subreddits, GitHub releases, blogs, and any RSS/Atom f... It is an AI Agent Skill for Claude Code / OpenClaw, with 384 downloads so far.

How do I install Feed Watcher?

Run "/install feed-watcher" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Feed Watcher free?

Yes, Feed Watcher is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Feed Watcher support?

Feed Watcher is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Feed Watcher?

It is built and maintained by runawaydevil (@runawaydevil); the current version is v0.0.1.

💬 Comments