luciole-studio/misaka-agent/blogwatcher

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

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

Install

npx vskill@latest install luciole-studio/misaka-agent/blogwatcher

SKILL.md

The same SKILL.md was published earlier as nousresearch/hermes-agent/blogwatcher.

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.

Working with Hermes tools (read this first)

blogwatcher-cli is the feed database; Hermes tools do the automation around it:

  • Recurring watch — use the cronjob tool's `monitor` field, not a bare schedule. monitor runs a script each tick and only wakes the agent when output changes: set it to a script that runs blogwatcher-cli scan >/dev/null 2>&1 && blogwatcher-cli articles (deterministic output; new articles = changed output = agent wakes with the diff injected). Unchanged ticks cost zero LLM calls. Set deliver to route digests to a chat/channel; add continuity: true so consecutive digests can dedupe.
  • Reading an article the user asks about: web_extract([url]) on the article URL from blogwatcher-cli articles — do not re-scrape by hand.
  • One-off "watch this page for changes" without feed semantics: skip this skill; the cronjob tool's monitor field accepts an http(s) URL directly.
  • One-off read of a feed or a site's latest posts, nothing to install: the bundled rss-feeds skill (scripts/feed.py read URL); blogwatcher earns its install when you track many feeds with read/unread state.
  • Company/competitor tracking with analysis and citations: prefer the competitor-news-monitor skill; blogwatcher is the lighter raw-feed layer it can sit on.

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:

VariableDescription
BLOGWATCHER_DBPath to SQLite database file
BLOGWATCHER_WORKERSNumber of concurrent scan workers (default: 8)
BLOGWATCHER_SILENTOnly output "scan done" when scanning
BLOGWATCHER_YESSkip confirmation prompts
BLOGWATCHER_CATEGORYDefault 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.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
223
Repository forks
9
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/luciole-studio/misaka-agent/blogwatcher/badge)](https://verified-skill.com/skills/luciole-studio/misaka-agent/blogwatcher)

Something wrong with this skill or its page? Tell us.