blogwatcher
aivrar/portable-hermes-agent/skills/research/blogwatcher/SKILL.md
Monitor blogs and RSS/Atom feeds via blogwatcher-cli tool.
Skill229 starsChanged 3 months ago
- Installs packages
What's in it
- Blogwatcher
- Installation
- Docker with persistent storage
- Migrating from the original blogwatcher
- Common Commands
- Managing blogs
- Scanning and reading
- Environment Variables
- Example Output
- Notes
---
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
platforms: [linux, macos, windows]
metadata:
hermes:
tags: [RSS, Blogs, Feed-Reader, Monitoring]
homepage: https://github.com/JulienTant/blogwatcher-cli
prerequisites:
commands: [blogwatcher-cli]
---
# 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:
```bash
# 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:
```bash
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.
More agent context in aivrar/portable-hermes-agent
82 other files this repository gives its agents, the first 60 shown.
AGENTS.md
Skill
- apple-notesskills/apple/apple-notes/SKILL.md
- apple-remindersskills/apple/apple-reminders/SKILL.md
- findmyskills/apple/findmy/SKILL.md
- imessageskills/apple/imessage/SKILL.md
- claude-codeskills/autonomous-ai-agents/claude-code/SKILL.md
- codexskills/autonomous-ai-agents/codex/SKILL.md
- computer-useskills/autonomous-ai-agents/computer-use/SKILL.md
- hermes-agentskills/autonomous-ai-agents/hermes-agent/SKILL.md
- merge-reconcilerskills/autonomous-ai-agents/merge-reconciler/SKILL.md
- opencodeskills/autonomous-ai-agents/opencode/SKILL.md
- architecture-diagramskills/creative/architecture-diagram/SKILL.md
- ascii-artskills/creative/ascii-art/SKILL.md
- ascii-videoskills/creative/ascii-video/SKILL.md
- baoyu-infographicskills/creative/baoyu-infographic/SKILL.md
- claude-designskills/creative/claude-design/SKILL.md
- comfyuiskills/creative/comfyui/SKILL.md
- design-mdskills/creative/design-md/SKILL.md
- excalidrawskills/creative/excalidraw/SKILL.md
- humanizerskills/creative/humanizer/SKILL.md
- manim-videoskills/creative/manim-video/SKILL.md
- p5jsskills/creative/p5js/SKILL.md
- popular-web-designsskills/creative/popular-web-designs/SKILL.md
- pretextskills/creative/pretext/SKILL.md
- sketchskills/creative/sketch/SKILL.md
- songwriting-and-ai-musicskills/creative/songwriting-and-ai-music/SKILL.md
- touchdesigner-mcpskills/creative/touchdesigner-mcp/SKILL.md
- sdlc-reviewskills/devops/sdlc-review/SKILL.md
- email-inbox-triageskills/email/email-inbox-triage/SKILL.md
- himalayaskills/email/himalaya/SKILL.md
- music-serverskills/extensions/music-server/SKILL.md
- portable-comfyuiskills/extensions/portable-comfyui/SKILL.md
- tts-serverskills/extensions/tts-server/SKILL.md
- getting-startedskills/getting-started/SKILL.md
- codebase-inspectionskills/github/codebase-inspection/SKILL.md
- github-authskills/github/github-auth/SKILL.md
- github-code-reviewskills/github/github-code-review/SKILL.md
- github-issuesskills/github/github-issues/SKILL.md
- github-issue-to-prskills/github/github-issue-to-pr/SKILL.md
- github-pr-workflowskills/github/github-pr-workflow/SKILL.md
- github-repo-managementskills/github/github-repo-management/SKILL.md
- lm-studioskills/lm-studio/SKILL.md
- gif-searchskills/media/gif-search/SKILL.md
- songseeskills/media/songsee/SKILL.md
- youtube-contentskills/media/youtube-content/SKILL.md
- huggingface-hubskills/mlops/huggingface-hub/SKILL.md
- obsidianskills/note-taking/obsidian/SKILL.md
- airtableskills/productivity/airtable/SKILL.md
- boxskills/productivity/box/SKILL.md
- document-to-action-itemsskills/productivity/document-to-action-items/SKILL.md
- docxskills/productivity/docx/SKILL.md
- google-workspaceskills/productivity/google-workspace/SKILL.md
- mapsskills/productivity/maps/SKILL.md
- meeting-action-itemsskills/productivity/meeting-action-items/SKILL.md
- nano-pdfskills/productivity/nano-pdf/SKILL.md
- notionskills/productivity/notion/SKILL.md
- ocr-and-documentsskills/productivity/ocr-and-documents/SKILL.md
- pdfskills/productivity/pdf/SKILL.md
- powerpointskills/productivity/powerpoint/SKILL.md
- product-price-monitorskills/productivity/product-price-monitor/SKILL.md
Also found in 6 other repositories
The same file, byte for byte, in the weekly crawl of public GitHub.
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
No reports yet. Be the first to say whether it worked.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool public_context_discussion, action report. How to connect one.

