Miniflux Skill
by @dorogoy
Manage Miniflux - Modern minimalist feed reader via REST API. Use for listing feeds and entries, creating/removing subscriptions, searching articles, managin...
clawhub install miniflux-skillπ About This Skill
name: miniflux description: Manage Miniflux - Modern minimalist feed reader via REST API. Use for listing feeds and entries, creating/removing subscriptions, searching articles, managing categories, and marking entries as read/unread. metadata: { "openclaw": { "requires": { "bins": ["python3"], "env": ["MINIFLUX_URL", "MINIFLUX_TOKEN"] }, "primaryEnv": "MINIFLUX_TOKEN" } }
Miniflux Skill
Manage Miniflux - Modern minimalist feed reader via REST API.
Use for listing feeds and entries, creating/removing subscriptions, searching articles, managing categories, and marking entries as read/unread.
Setup
This skill requires Python and the Miniflux Python client.
# Install the miniflux Python package
uv pip install miniflux
Configuration
Set the following environment variables:
export MINIFLUX_URL="https://your-miniflux-instance.com"
export MINIFLUX_TOKEN="your-api-token-here"
To get an API token: 1. Log in to your Miniflux instance 2. Go to Settings > API Keys 3. Click "Create a new API key" 4. Copy the token and set it in MINIFLUX_TOKEN
Usage
CLI Wrapper
# List all feeds
bash miniflux.sh feedsList categories
bash miniflux.sh categoriesGet unread entries
bash miniflux.sh entries --status unreadSearch entries
bash miniflux.sh entries --search "kubernetes"Create a new feed
bash miniflux.sh create-feed --url "https://example.com/feed.xml" --category 1Refresh all feeds
bash miniflux.sh refresh-allMark entries as read
bash miniflux.sh mark-read --entry-ids 123,456Mark feed as read
bash miniflux.sh mark-feed-read --feed-id 42Toggle bookmark/star
bash miniflux.sh toggle-bookmark --entry-id 123Discover subscriptions from a website
bash miniflux.sh discover --url "https://example.org"Delete a feed
bash miniflux.sh delete-feed --feed-id 42Get feed details
bash miniflux.sh feed --feed-id 42Get counters (unread/read)
bash miniflux.sh countersGet current user info
bash miniflux.sh meGet specific entry
bash miniflux.sh entry --entry-id 123Create category
bash miniflux.sh create-category --title "Tech News"Delete category
bash miniflux.sh delete-category --category-id 5Update feed
bash miniflux.sh update-feed --feed-id 42 --title "New Title" --category-id 3
Commands Reference
| Command | Description |
|---------|-------------|
| feeds | List all feeds |
| categories | List all categories |
| entries | List entries with filters (status, search, limit, etc.) |
| entry | Get a specific entry by ID |
| create-feed | Create a new feed subscription |
| update-feed | Update an existing feed |
| delete-feed | Delete a feed |
| refresh-all | Refresh all feeds |
| refresh-feed | Refresh a specific feed |
| mark-read | Mark specific entries as read |
| mark-unread | Mark specific entries as unread |
| mark-feed-read | Mark all entries of a feed as read |
| toggle-bookmark | Toggle bookmark/star status of an entry |
| discover | Discover subscriptions from a URL |
| counters | Get unread/read counters per feed |
| me | Get current user info |
| create-category | Create a new category |
| delete-category | Delete a category |
Filters for Entries
When using the entries command, you can filter by:
--status: Entry status (unread, read, or removed)--limit: Number of entries to return (default: 100)--offset: Number of entries to skip--direction: Sort direction (asc or desc)--search: Search query string--category-id: Filter by category ID--feed-id: Filter by feed ID--starred: Filter starred entries (true/false)--before: Unix timestamp for entries before this time--after: Unix timestamp for entries after this timeExamples
# Get last 10 unread entries
bash miniflux.sh entries --status unread --limit 10Search for Kubernetes articles
bash miniflux.sh entries --search "kubernetes" --limit 20Get entries from a specific feed
bash miniflux.sh entries --feed-id 42 --limit 15Get starred entries
bash miniflux.sh entries --starred trueCreate a feed with crawler enabled
bash miniflux.sh create-feed --url "https://techcrunch.com/feed/" --category 1 --crawler trueDiscover feeds from a blog
bash miniflux.sh discover --url "https://example.com"
API Endpoints Supported
/v1/feeds - List feeds/v1/feeds/{id} - Get feed details/v1/feeds/{id}/entries - Get feed entries/v1/feeds/{id}/refresh - Refresh feed/v1/feeds/{id}/mark-all-as-read - Mark feed entries as read/v1/categories - List categories/v1/categories/{id}/entries - Get category entries/v1/entries - List entries/v1/entries/{id} - Get entry/v1/entries/{id}/bookmark - Toggle bookmark/v1/feeds/refresh - Refresh all feeds/v1/discover - Discover subscriptions/v1/feeds/counters - Get counters/v1/me - Current user infoError Handling
The script will exit with error code 1 on API errors and display the error message from Miniflux.
Dependencies
uv pip install miniflux)Documentation
Full API documentation: https://miniflux.app/docs/api.html
π‘ Examples
# Get last 10 unread entries
bash miniflux.sh entries --status unread --limit 10Search for Kubernetes articles
bash miniflux.sh entries --search "kubernetes" --limit 20Get entries from a specific feed
bash miniflux.sh entries --feed-id 42 --limit 15Get starred entries
bash miniflux.sh entries --starred trueCreate a feed with crawler enabled
bash miniflux.sh create-feed --url "https://techcrunch.com/feed/" --category 1 --crawler trueDiscover feeds from a blog
bash miniflux.sh discover --url "https://example.com"
βοΈ Configuration
Set the following environment variables:
export MINIFLUX_URL="https://your-miniflux-instance.com"
export MINIFLUX_TOKEN="your-api-token-here"
To get an API token: 1. Log in to your Miniflux instance 2. Go to Settings > API Keys 3. Click "Create a new API key" 4. Copy the token and set it in MINIFLUX_TOKEN