| name | miniflux |
| description | Browse, read, and manage Miniflux feed articles. Use when Claude needs to work with RSS/atom feeds via Miniflux - listing unread/new articles, reading article content, marking articles as read, and managing feeds/categories. Provides CLI access with flexible output formats (headlines, summaries, full content). |
| metadata | {"clawdbot":{"emoji":"📣","requires":{"bins":["uv"]}}} |
Miniflux Skill
Browse, read, and manage Miniflux RSS/atom feed articles through a CLI.
Quick Start
uv run scripts/miniflux-cli.py list --status=unread --brief
uv run scripts/miniflux-cli.py get 123
uv run scripts/miniflux-cli.py mark-read 123 456
uv run scripts/miniflux-cli.py stats --entry-id=123
Configuration
Configuration precedence (highest to lowest):
- CLI flags:
--url, --api-key
- Environment variables:
MINIFLUX_URL, MINIFLUX_API_KEY
- Config file:
~/.local/share/miniflux/config.json (auto-created on first run)
Setup
export MINIFLUX_URL="https://miniflux.example.org"
export MINIFLUX_API_KEY="your-api-key"
uv run scripts/miniflux-cli.py --url="https://miniflux.example.org" --api-key="xxx" list
Subcommands
list - List Articles
List articles with optional filtering.
uv run scripts/miniflux-cli.py list --status=unread --brief
uv run scripts/miniflux-cli.py list --feed=42 --summary
uv run scripts/miniflux-cli.py list --search="python" --limit=10
uv run scripts/miniflux-cli.py list --starred
Flags:
--status={read,unread,removed} - Filter by status
--feed=ID - Filter by feed ID
--category=ID - Filter by category ID
--starred - Show only starred
--search=QUERY - Search articles
--limit=N - Max number of entries
--offset=N - Skip first N chars in content
--content-limit=N - Max characters per article
-b, --brief - Titles only
-s, --summary - Title + excerpt
-f, --full - Full content (default)
--json - JSON output
--plain - Single-line per entry
get - Get Article by ID
Fetch a single article with content control.
uv run scripts/miniflux-cli.py get 123
uv run scripts/miniflux-cli.py get 123 --limit=2000
uv run scripts/miniflux-cli.py get 123 --offset=1000 --limit=1000
When content is truncated, shows: [...truncated, total: N chars]
mark-read - Mark as Read
Mark one or more articles as read.
uv run scripts/miniflux-cli.py mark-read 123
uv run scripts/miniflux-cli.py mark-read 123 456 789
mark-unread - Mark as Unread
Mark one or more articles as unread.
uv run scripts/miniflux-cli.py mark-unread 123
feeds - List Feeds
List all configured feeds.
uv run scripts/miniflux-cli.py feeds
uv run scripts/miniflux-cli.py feeds --json
categories - List Categories
List all categories.
uv run scripts/miniflux-cli.py categories
stats - Statistics
Show unread counts or article statistics.
uv run scripts/miniflux-cli.py stats --entry-id=123
uv run scripts/miniflux-cli.py stats
refresh - Refresh Feeds
Trigger feed refresh.
uv run scripts/miniflux-cli.py refresh --all
uv run scripts/miniflux-cli.py refresh --feed=42
search - Search Articles
Convenient alias for list --search.
uv run scripts/miniflux-cli.py search "rust"
uv run scripts/miniflux-cli.py search "ai" --status=unread --brief
Output Formats
--brief / -b - Quick overview (titles + feed + date)
--summary / -s - Title + content preview (200 chars)
--full / -f - Complete article content (default)
--json - Raw JSON output for machine processing
--plain - Single-line per entry (tab-separated)
Long Article Handling
For articles with large content (e.g., >5k words):
-
Check statistics first:
uv run scripts/miniflux-cli.py stats --entry-id=123
Shows word count, character count, reading time.
-
Use pagination to read in chunks:
uv run scripts/miniflux-cli.py get 123 --limit=5000
uv run scripts/miniflux-cli.py get 123 --offset=5000 --limit=5000
-
For summarization: If article is >5000 words, use a subagent to read and summarize:
uv run scripts/miniflux-cli.py stats --entry-id=123
Error Handling
The CLI provides helpful error messages:
- Invalid credentials → Check
MINIFLUX_API_KEY
- Article not found → Suggests using
list to browse
- Missing config → Shows config file location
- No results → Clear message
Standard Flags
-v, --version - Show version
-q, --quiet - Suppress non-error output
-d, --debug - Enable debug output
--no-color - Disable colored output
--url=URL - Miniflux server URL
--api-key=KEY - Miniflux API key
Examples
Daily Workflow
uv run scripts/miniflux-cli.py list --status=unread --brief
uv run scripts/miniflux-cli.py get 456
uv run scripts/miniflux-cli.py mark-read 456
Research Mode
uv run scripts/miniflux-cli.py search "machine learning" --summary
uv run scripts/miniflux-cli.py get 789
Batch Processing
uv run scripts/miniflux-cli.py list --status=unread --json
uv run scripts/miniflux-cli.py mark-read 123 456 789
For complete help on any subcommand:
uv run scripts/miniflux-cli.py <subcommand> --help