Files

128 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: miniflux-news
description: 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).
---
# Miniflux News
Use the bundled script to fetch entries, then format a clean list and optionally write summaries.
## Setup (credentials)
This skill reads Miniflux credentials from a local config file by default.
### Config file (recommended)
Path:
- `~/.config/clawdbot/miniflux-news.json`
Format:
```json
{
"url": "https://your-miniflux.example",
"token": "<api-token>"
}
```
Create/update it using the script:
```bash
python3 skills/miniflux-news/scripts/miniflux.py configure \
--url "https://your-miniflux.example" \
--token "<api-token>"
```
### Environment variables (override)
You can override the config file (useful for CI):
```bash
export MINIFLUX_URL="https://your-miniflux.example"
export MINIFLUX_TOKEN="<api-token>"
```
Token scope: Miniflux API token with read access.
## Fetch latest entries
List latest unread items (default):
```bash
python3 skills/miniflux-news/scripts/miniflux.py entries --limit 20
```
Filter by category (by name):
```bash
python3 skills/miniflux-news/scripts/miniflux.py entries --category "News" --limit 20
```
If you need machine-readable output:
```bash
python3 skills/miniflux-news/scripts/miniflux.py entries --limit 50 --json
```
### Response formatting
- Return a tight bullet list: **[id] title — feed** + link.
- Ask how many the user wants summarized (e.g., “summarize 3” or “summarize ids 123,124”).
## View full content
Show the full article content stored in Miniflux (useful for reading or for better summaries):
```bash
python3 skills/miniflux-news/scripts/miniflux.py entry 123 --full --format text
```
If you want the raw HTML as stored by Miniflux:
```bash
python3 skills/miniflux-news/scripts/miniflux.py entry 123 --full --format html
```
## Categories
List categories:
```bash
python3 skills/miniflux-news/scripts/miniflux.py categories
```
## Mark entries as read (explicit only)
This skill **must never** mark anything as read implicitly. Only do it when the user explicitly asks to mark specific ids as read.
Mark specific ids as read:
```bash
python3 skills/miniflux-news/scripts/miniflux.py mark-read 123 124 --confirm
```
Mark all unread entries in a category as read (still explicit, requires `--confirm`; includes a safety `--limit`):
```bash
python3 skills/miniflux-news/scripts/miniflux.py mark-read-category "News" --confirm --limit 500
```
## Summarize entries
Fetch full content for a specific entry id (machine-readable):
```bash
python3 skills/miniflux-news/scripts/miniflux.py entry 123 --json
```
Summarization rules:
- Prefer 36 bullets max.
- Lead with the “so what” in 1 sentence.
- If content is empty or truncated, say so and summarize from title + available snippet.
- Dont invent facts; quote key numbers/names if present.
## Troubleshooting
- If the script says missing credentials: set `MINIFLUX_URL`/`MINIFLUX_TOKEN` or create `~/.config/clawdbot/miniflux-news.json`.
- If you get HTTP 401: token is wrong/expired.
- If you get HTTP 404: base URL is wrong (should be the Miniflux web root).