Skip to content
cccskills
FreePublished on GitHub

blogwatcher-cli

Use when managing or interacting with favorite blogs via the BlogWatcher CLI—adding/removing blogs, scanning for new posts, listing articles, marking read/unread, or modifying related CLI behavior, scanning, storage, and tests.

The English summary is being prepared. Showing the original description.

See how to install

Files included (29)

  • SKILL.md2.2 KB
  • .github/workflows/release.yml736 B
  • .gitignore86 B
  • .goreleaser.yaml1.0 KB
  • AGENTS.md2.2 KB
  • CLAUDE.md863 B
  • cmd/blogwatcher/main.go98 B
  • go.mod1.2 KB
  • go.sum13.7 KB
  • internal/cli/commands.go11.9 KB
  • internal/cli/errors.go330 B
  • internal/cli/metadata_test.go7.1 KB
  • internal/cli/metadata.go2.4 KB
  • internal/cli/root.go900 B
  • internal/controller/controller_test.go2.3 KB
  • internal/controller/controller.go3.5 KB
  • internal/model/model.go451 B
  • internal/rss/rss_test.go10.9 KB
  • internal/rss/rss.go9.8 KB
  • internal/scanner/scanner_test.go7.6 KB
  • internal/scanner/scanner.go5.6 KB
  • internal/scraper/scraper_test.go882 B
  • internal/scraper/scraper.go2.8 KB
  • internal/storage/database_test.go15.6 KB
  • internal/storage/database.go12.8 KB
  • internal/version/version.go37 B
  • LICENSE1.0 KB
  • README.md7.5 KB
  • skills/SKILL.md945 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

BlogWatcher CLI

Quick Orientation

  • Use the Cobra entry point in cmd/blogwatcher/main.go and internal/cli/.
  • Route business logic through internal/controller and persistence through internal/storage.
  • Use scanning pipeline packages in internal/scanner, internal/rss, and internal/scraper.
  • Remember the default SQLite path is ~/.blogwatcher/blogwatcher.db (override with BLOGWATCHER_DB) and is created on demand.

Run Commands

  • Run locally with go run ./cmd/blogwatcher ....
  • Build with go build ./cmd/blogwatcher.

Change Workflow

  1. Add or adjust CLI commands in internal/cli/commands.go (Cobra options, arguments, output formatting).
  2. Put non-trivial logic in internal/controller so the CLI stays thin and testable.
  3. Update storage or schema in internal/storage/database.go and adjust model conversion in internal/model if needed.
  4. Modify scanning behavior in internal/scanner and its helpers (internal/rss, internal/scraper).
  5. Update or add tests under internal/ or cmd/ for every feature change or addition.

Test Guidance

  • Run tests with go test ./....
  • If you add a feature, add tests and any necessary dummy data.
  • Keep tests focused on CLI behavior, controller logic, and scraper/RSS parsing outcomes.

Output Conventions

  • Preserve user-friendly CLI output with colors and clear errors.
  • When listing posts available for reading, always include the link to each post in the output.
  • Keep error handling consistent with existing exceptions (BlogNotFoundError, BlogAlreadyExistsError, ArticleNotFoundError).

Example (posts available for reading)

Unread articles (2):

  [12] [new] Understanding Click Contexts
       Blog: Real Python
       URL: https://realpython.com/click-context/
       Published: 2025-11-02

  [13] [new] Async IO in Practice
       Blog: Test & Code
       URL: https://testandcode.com/async-io-in-practice/

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

The English summary is being prepared. Showing the original description.

Hyaxia/blogwatcher149Updated Sep 1, 2026

See all skills by Hyaxia

Report a problem with this skill