Skip to content
Back to skills

blogwatcher-cli

ASecurity

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.

  • 146 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added February 8, 2026
toolspythongosqldatabase

Works with

  • cli

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add Hyaxia/blogwatcher --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of blogwatcher-cli?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for blogwatcher-cli
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/hyaxia-blogwatcher-cli/badge)](https://www.skillsdirectory.com/skills/hyaxia-blogwatcher-cli)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: blogwatcher-cli
description: 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.
---

# 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` 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)
```text
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/
```

Files in this skill

  • .goreleaser.yaml1 KB
  • AGENTS.md2.2 KB
  • CLAUDE.md819 B
  • SKILL.md2.1 KB
  • go.mod1.2 KB
  • go.sum13.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.