AgentSkillsCN

miniflux-news

通过 Miniflux 实例的 REST API 使用 API token 获取并分类最新的未读 RSS/新闻条目。当用户要求获取最新的 Miniflux 未读项目、列出带标题/链接的最近条目,或生成特定 Miniflux 条目的简短摘要时使用。包含一个捆绑脚本,用于使用 ~/.config/clawdbot/miniflux-news.json 中的凭据(或 MINIFLUX_URL 和 MINIFLUX_TOKEN 覆盖)查询 Miniflux (/v1/entries 和 /v1/entries/{id})。

SKILL.md
--- frontmatter
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 3–6 bullets max.
  • Lead with the “so what” in 1 sentence.
  • If content is empty or truncated, say so and summarize from title + available snippet.
  • Don’t 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).