miniflux
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).
Best use case
miniflux is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
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).
Teams using miniflux should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/miniflux/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How miniflux Compares
| Feature / Agent | miniflux | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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).
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Miniflux Skill
Browse, read, and manage Miniflux RSS/atom feed articles through a CLI.
## Quick Start
```bash
# List unread articles (brief format)
uv run scripts/miniflux-cli.py list --status=unread --brief
# Get article details
uv run scripts/miniflux-cli.py get 123
# Mark articles as read
uv run scripts/miniflux-cli.py mark-read 123 456
# Show article statistics (word count, reading time)
uv run scripts/miniflux-cli.py stats --entry-id=123
```
## Configuration
Configuration precedence (highest to lowest):
1. **CLI flags**: `--url`, `--api-key`
2. **Environment variables**: `MINIFLUX_URL`, `MINIFLUX_API_KEY`
3. **Config file**: `~/.local/share/miniflux/config.json` (auto-created on first run)
### Setup
```bash
# Option 1: Environment variables (recommended for agents)
export MINIFLUX_URL="https://miniflux.example.org"
export MINIFLUX_API_KEY="your-api-key"
# Option 2: CLI flags (one-time, saves to config)
uv run scripts/miniflux-cli.py --url="https://miniflux.example.org" --api-key="xxx" list
```
## Subcommands
### list - List Articles
List articles with optional filtering.
```bash
# Unread articles (brief)
uv run scripts/miniflux-cli.py list --status=unread --brief
# From specific feed with summary
uv run scripts/miniflux-cli.py list --feed=42 --summary
# Search with limit
uv run scripts/miniflux-cli.py list --search="python" --limit=10
# Starred articles
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.
```bash
# Full article
uv run scripts/miniflux-cli.py get 123
# First 2000 characters
uv run scripts/miniflux-cli.py get 123 --limit=2000
# Read from character 1000 to 2000 (pagination)
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.
```bash
# Single article
uv run scripts/miniflux-cli.py mark-read 123
# Multiple articles
uv run scripts/miniflux-cli.py mark-read 123 456 789
```
### mark-unread - Mark as Unread
Mark one or more articles as unread.
```bash
uv run scripts/miniflux-cli.py mark-unread 123
```
### feeds - List Feeds
List all configured feeds.
```bash
# Human-readable
uv run scripts/miniflux-cli.py feeds
# JSON format
uv run scripts/miniflux-cli.py feeds --json
```
### categories - List Categories
List all categories.
```bash
uv run scripts/miniflux-cli.py categories
```
### stats - Statistics
Show unread counts or article statistics.
```bash
# Article statistics (word count, character count, reading time)
uv run scripts/miniflux-cli.py stats --entry-id=123
# Global unread counts per feed
uv run scripts/miniflux-cli.py stats
```
### refresh - Refresh Feeds
Trigger feed refresh.
```bash
# Refresh all feeds
uv run scripts/miniflux-cli.py refresh --all
# Refresh specific feed
uv run scripts/miniflux-cli.py refresh --feed=42
```
### search - Search Articles
Convenient alias for `list --search`.
```bash
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):
1. **Check statistics first:**
```bash
uv run scripts/miniflux-cli.py stats --entry-id=123
```
Shows word count, character count, reading time.
2. **Use pagination to read in chunks:**
```bash
# First 5000 chars
uv run scripts/miniflux-cli.py get 123 --limit=5000
# Next 5000 chars (chars 5000-10000)
uv run scripts/miniflux-cli.py get 123 --offset=5000 --limit=5000
```
3. **For summarization:** If article is >5000 words, use a subagent to read and summarize:
```bash
# Get stats to determine word count
uv run scripts/miniflux-cli.py stats --entry-id=123
# If >5000 words, delegate to subagent for summarization
```
## 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
```bash
# Check what's unread
uv run scripts/miniflux-cli.py list --status=unread --brief
# Read interesting articles
uv run scripts/miniflux-cli.py get 456
# Mark as read
uv run scripts/miniflux-cli.py mark-read 456
```
### Research Mode
```bash
# Search for specific topics
uv run scripts/miniflux-cli.py search "machine learning" --summary
# Get full article content
uv run scripts/miniflux-cli.py get 789
```
### Batch Processing
```bash
# Get all unread as JSON for processing
uv run scripts/miniflux-cli.py list --status=unread --json
# Mark multiple as read
uv run scripts/miniflux-cli.py mark-read 123 456 789
```
For complete help on any subcommand:
```bash
uv run scripts/miniflux-cli.py <subcommand> --help
```Related Skills
miniflux-news
Fetch and triage the latest unread RSS/news entries from a Miniflux instance via its REST API using an API token. Use when the user asks to get the latest Miniflux unread items, list recent entries with titles/links, or generate short summaries of specific Miniflux entries. Includes a bundled script to query Miniflux (/v1/entries and /v1/entries/{id}) using credentials from ~/.config/clawdbot/miniflux-news.json (or MINIFLUX_URL and MINIFLUX_TOKEN overrides).
portfolio-watcher
Monitor stock/crypto holdings, get price alerts, track portfolio performance
portainer
Control Docker containers and stacks via Portainer API. List containers, start/stop/restart, view logs, and redeploy stacks from git.
portable-tools
Build cross-device tools without hardcoding paths or account names
polymarket
Trade prediction markets on Polymarket. Analyze odds, place bets, track positions, automate alerts, and maximize returns from event outcomes. Covers sports, politics, entertainment, and more.
polymarket-traiding-bot
No description provided.
polymarket-analysis
Analyze Polymarket prediction markets for trading edges. Pair Cost arbitrage, whale tracking, sentiment analysis, momentum signals, user profile tracking. No execution.
polymarket-agent
Autonomous prediction market agent - analyzes markets, researches news, and identifies trading opportunities
polymarket-5
Query Polymarket prediction markets. Use for questions about prediction markets, betting odds, market prices, event probabilities, or when user asks about Polymarket data.
polymarket-4
Query Polymarket prediction markets. Use for questions about prediction markets, betting odds, market prices, event probabilities, or when user asks about Polymarket data.
polymarket-3
Query Polymarket prediction market odds and events via CLI. Search for markets, get current prices, list events by category. Supports sports betting (NFL, NBA, soccer/EPL, Champions League), politics, crypto, elections, geopolitics. Real money markets = more accurate than polls. No API key required. Use when asked about odds, probabilities, predictions, or "what are the chances of X".
polymarket-2
Query Polymarket prediction markets - check odds, trending markets, search events, track prices.