Skip to content
Development
Skill

/blogwatcher

Monitor blogs and RSS/Atom feeds via blogwatcher-cli tool.

From plugin
ai-agent-skills
14169 skills

Claude Code

$ npx -y skills add kevinnft/ai-agent-skills --skill blogwatcher --agent claude-code

SKILL.md

blogwatcher.SKILL.md
name: blogwatcher
description: "Monitor blogs and RSS/Atom feeds via blogwatcher-cli tool."
version: 2.0.0
author: JulienTant (fork of Hyaxia/blogwatcher)
license: MIT
metadata:
  hermes:
    tags: [RSS, Blogs, Feed-Reader, Monitoring]
    homepage: https://github.com/JulienTant/blogwatcher-cli
prerequisites:
  commands: [blogwatcher-cli]
origin: adapted
source_repo: Hyaxia/blogwatcher
source_url: https://github.com/Hyaxia/blogwatcher
source_license: MIT
language: en

Blogwatcher

Track blog and RSS/Atom feed updates with the `blogwatcher-cli` tool. Supports automatic feed discovery, HTML scraping fallback, OPML import, and read/unread article management.

Installation

Pick one method:

  • **Go:** `go install github.com/JulienTant/blogwatcher-cli/cmd/blogwatcher-cli@latest`
  • **Docker:** `docker run --rm -v blogwatcher-cli:/data ghcr.io/julientant/blogwatcher-cli`
  • **Binary (Linux amd64):** `curl -sL https://github.com/JulienTant/blogwatcher-cli/releases/latest/download/blogwatcher-cli_linux_amd64.tar.gz | tar xz -C /usr/local/bin blogwatcher-cli`
  • **Binary (Linux arm64):** `curl -sL https://github.com/JulienTant/blogwatcher-cli/releases/latest/download/blogwatcher-cli_linux_arm64.tar.gz | tar xz -C /usr/local/bin blogwatcher-cli`
  • **Binary (macOS Apple Silicon):** `curl -sL https://github.com/JulienTant/blogwatcher-cli/releases/latest/download/blogwatcher-cli_darwin_arm64.tar.gz | tar xz -C /usr/local/bin blogwatcher-cli`
  • **Binary (macOS Intel):** `curl -sL https://github.com/JulienTant/blogwatcher-cli/releases/latest/download/blogwatcher-cli_darwin_amd64.tar.gz | tar xz -C /usr/local/bin blogwatcher-cli`

All releases: https://github.com/JulienTant/blogwatcher-cli/releases

Docker with persistent storage

By default the database lives at `~/.blogwatcher-cli/blogwatcher-cli.db`. In Docker this is lost on container restart. Use `BLOGWATCHER_DB` or a volume mount to persist it:

# Named volume (simplest)
docker run --rm -v blogwatcher-cli:/data -e BLOGWATCHER_DB=/data/blogwatcher-cli.db ghcr.io/julientant/blogwatcher-cli scan

# Host bind mount
docker run --rm -v /path/on/host:/data -e BLOGWATCHER_DB=/data/blogwatcher-cli.db ghcr.io/julientant/blogwatcher-cli scan

Migrating from the original blogwatcher

If upgrading from `Hyaxia/blogwatcher`, move your database:

mv ~/.blogwatcher/blogwatcher.db ~/.blogwatcher-cli/blogwatcher-cli.db

The binary name changed from `blogwatcher` to `blogwatcher-cli`.

Common Commands

Managing blogs

  • Add a blog: `blogwatcher-cli add "My Blog" https://example.com`
  • Add with explicit feed: `blogwatcher-cli add "My Blog" https://example.com --feed-url https://example.com/feed.xml`
  • Add with HTML scraping: `blogwatcher-cli add "My Blog" https://example.com --scrape-selector "article h2 a"`
  • List tracked blogs: `blogwatcher-cli blogs`
  • Remove a blog: `blogwatcher-cli remove "My Blog" --yes`
  • Import from OPML: `blogwatcher-cli import subscriptions.opml`

Scanning and reading

  • Scan all blogs: `blogwatcher-cli scan`
  • Scan one blog: `blogwatcher-cli scan "My Blog"`
  • List unread articles: `blogwatcher-cli articles`
  • List all articles: `blogwatcher-cli articles --all`
  • Filter by blog: `blogwatcher-cli articles --blog "My Blog"`
  • Filter by category: `blogwatcher-cli articles --category "Engineering"`
  • Mark article read: `blogwatcher-cli read 1`
  • Mark article unread: `blogwatcher-cli unread 1`
  • Mark all read: `blogwatcher-cli read-all`
  • Mark all read for a blog: `blogwatcher-cli read-all --blog "My Blog" --yes`

Environment Variables

All flags can be set via environment variables with the `BLOGWATCHER_` prefix:

| Variable | Description | |---|---| | `BLOGWATCHER_DB` | Path to SQLite database file | | `BLOGWATCHER_WORKERS` | Number of concurrent scan workers (default: 8) | | `BLOGWATCHER_SILENT` | Only output "scan done" when scanning | | `BLOGWATCHER_YES` | Skip confirmation prompts | | `BLOGWATCHER_CATEGORY` | Default filter for articles by category |

Example Output

$ blogwatcher-cli blogs
Tracked blogs (1):

  xkcd
    URL: https://xkcd.com
    Feed: https://xkcd.com/atom.xml
    Last scanned: 2026-04-03 10:30
$ blogwatcher-cli scan
Scanning 1 blog(s)...

  xkcd
    Source: RSS | Found: 4 | New: 4

Found 4 new article(s) total!
$ blogwatcher-cli articles
Unread articles (2):

  [1] [new] Barrel - Part 13
       Blog: xkcd
       URL: https://xkcd.com/3095/
       Published: 2026-04-02
       Categories: Comics, Science

  [2] [new] Volcano Fact
       Blog: xkcd
       URL: https://xkcd.com/3094/
       Published: 2026-04-01
       Categories: Comics

Notes

  • Auto-discovers RSS/Atom feeds from blog homepages when no `--feed-url` is provided.
  • Falls back to HTML scraping if RSS fails and `--scrape-selector` is configured.
  • Categories from RSS/Atom feeds are stored and can be used to filter articles.
  • Import blogs in bulk from OPML files exported by Feedly, Inoreader, NewsBlur, etc.
  • Database stored at `~/.blogwatcher-cli/blogwatcher-cli.db` by default (override with `--db` or `BLOGWATCHER_DB`).
  • Use `blogwatcher-cli <command> --help` to discover all flags and options.
Read more
@kevinnft
Ships withai-agent-skills

191 attribution-first agent skills for Hermes Agent, Claude Code, Cursor — one installer, 28 categories, searchable catalog. See NOTICE for upstream attribution.

Stars on GitHub

Momentum

stars in total
14
Star history of kevinnft/ai-agent-skills on GitHub, a chart by star-history.com

Other skills on ai-agent-skills.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about blogwatcher.

Which coding agents can use blogwatcher?
blogwatcher installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.