{
  "schemaVersion": "1.0",
  "item": {
    "slug": "miniflux-news",
    "name": "Miniflux News",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/hartlco/miniflux-news",
    "canonicalUrl": "https://clawhub.ai/hartlco/miniflux-news",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/miniflux-news",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=miniflux-news",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/miniflux-api-notes.md",
      "scripts/miniflux.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/miniflux-news"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/miniflux-news",
    "agentPageUrl": "https://openagent3.xyz/skills/miniflux-news/agent",
    "manifestUrl": "https://openagent3.xyz/skills/miniflux-news/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/miniflux-news/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Miniflux News",
        "body": "Use the bundled script to fetch entries, then format a clean list and optionally write summaries."
      },
      {
        "title": "Setup (credentials)",
        "body": "This skill reads Miniflux credentials from a local config file by default."
      },
      {
        "title": "Config file (recommended)",
        "body": "Path:\n\n~/.config/clawdbot/miniflux-news.json\n\nFormat:\n\n{\n  \"url\": \"https://your-miniflux.example\",\n  \"token\": \"<api-token>\"\n}\n\nCreate/update it using the script:\n\npython3 skills/miniflux-news/scripts/miniflux.py configure \\\n  --url \"https://your-miniflux.example\" \\\n  --token \"<api-token>\""
      },
      {
        "title": "Environment variables (override)",
        "body": "You can override the config file (useful for CI):\n\nexport MINIFLUX_URL=\"https://your-miniflux.example\"\nexport MINIFLUX_TOKEN=\"<api-token>\"\n\nToken scope: Miniflux API token with read access."
      },
      {
        "title": "Fetch latest entries",
        "body": "List latest unread items (default):\n\npython3 skills/miniflux-news/scripts/miniflux.py entries --limit 20\n\nFilter by category (by name):\n\npython3 skills/miniflux-news/scripts/miniflux.py entries --category \"News\" --limit 20\n\nIf you need machine-readable output:\n\npython3 skills/miniflux-news/scripts/miniflux.py entries --limit 50 --json"
      },
      {
        "title": "Response formatting",
        "body": "Return a tight bullet list: [id] title — feed + link.\nAsk how many the user wants summarized (e.g., “summarize 3” or “summarize ids 123,124”)."
      },
      {
        "title": "View full content",
        "body": "Show the full article content stored in Miniflux (useful for reading or for better summaries):\n\npython3 skills/miniflux-news/scripts/miniflux.py entry 123 --full --format text\n\nIf you want the raw HTML as stored by Miniflux:\n\npython3 skills/miniflux-news/scripts/miniflux.py entry 123 --full --format html"
      },
      {
        "title": "Categories",
        "body": "List categories:\n\npython3 skills/miniflux-news/scripts/miniflux.py categories"
      },
      {
        "title": "Mark entries as read (explicit only)",
        "body": "This skill must never mark anything as read implicitly. Only do it when the user explicitly asks to mark specific ids as read.\n\nMark specific ids as read:\n\npython3 skills/miniflux-news/scripts/miniflux.py mark-read 123 124 --confirm\n\nMark all unread entries in a category as read (still explicit, requires --confirm; includes a safety --limit):\n\npython3 skills/miniflux-news/scripts/miniflux.py mark-read-category \"News\" --confirm --limit 500"
      },
      {
        "title": "Summarize entries",
        "body": "Fetch full content for a specific entry id (machine-readable):\n\npython3 skills/miniflux-news/scripts/miniflux.py entry 123 --json\n\nSummarization rules:\n\nPrefer 3–6 bullets max.\nLead with the “so what” in 1 sentence.\nIf content is empty or truncated, say so and summarize from title + available snippet.\nDon’t invent facts; quote key numbers/names if present."
      },
      {
        "title": "Troubleshooting",
        "body": "If the script says missing credentials: set MINIFLUX_URL/MINIFLUX_TOKEN or create ~/.config/clawdbot/miniflux-news.json.\nIf you get HTTP 401: token is wrong/expired.\nIf you get HTTP 404: base URL is wrong (should be the Miniflux web root)."
      }
    ],
    "body": "Miniflux News\n\nUse the bundled script to fetch entries, then format a clean list and optionally write summaries.\n\nSetup (credentials)\n\nThis skill reads Miniflux credentials from a local config file by default.\n\nConfig file (recommended)\n\nPath:\n\n~/.config/clawdbot/miniflux-news.json\n\nFormat:\n\n{\n  \"url\": \"https://your-miniflux.example\",\n  \"token\": \"<api-token>\"\n}\n\n\nCreate/update it using the script:\n\npython3 skills/miniflux-news/scripts/miniflux.py configure \\\n  --url \"https://your-miniflux.example\" \\\n  --token \"<api-token>\"\n\nEnvironment variables (override)\n\nYou can override the config file (useful for CI):\n\nexport MINIFLUX_URL=\"https://your-miniflux.example\"\nexport MINIFLUX_TOKEN=\"<api-token>\"\n\n\nToken scope: Miniflux API token with read access.\n\nFetch latest entries\n\nList latest unread items (default):\n\npython3 skills/miniflux-news/scripts/miniflux.py entries --limit 20\n\n\nFilter by category (by name):\n\npython3 skills/miniflux-news/scripts/miniflux.py entries --category \"News\" --limit 20\n\n\nIf you need machine-readable output:\n\npython3 skills/miniflux-news/scripts/miniflux.py entries --limit 50 --json\n\nResponse formatting\nReturn a tight bullet list: [id] title — feed + link.\nAsk how many the user wants summarized (e.g., “summarize 3” or “summarize ids 123,124”).\nView full content\n\nShow the full article content stored in Miniflux (useful for reading or for better summaries):\n\npython3 skills/miniflux-news/scripts/miniflux.py entry 123 --full --format text\n\n\nIf you want the raw HTML as stored by Miniflux:\n\npython3 skills/miniflux-news/scripts/miniflux.py entry 123 --full --format html\n\nCategories\n\nList categories:\n\npython3 skills/miniflux-news/scripts/miniflux.py categories\n\nMark entries as read (explicit only)\n\nThis skill must never mark anything as read implicitly. Only do it when the user explicitly asks to mark specific ids as read.\n\nMark specific ids as read:\n\npython3 skills/miniflux-news/scripts/miniflux.py mark-read 123 124 --confirm\n\n\nMark all unread entries in a category as read (still explicit, requires --confirm; includes a safety --limit):\n\npython3 skills/miniflux-news/scripts/miniflux.py mark-read-category \"News\" --confirm --limit 500\n\nSummarize entries\n\nFetch full content for a specific entry id (machine-readable):\n\npython3 skills/miniflux-news/scripts/miniflux.py entry 123 --json\n\n\nSummarization rules:\n\nPrefer 3–6 bullets max.\nLead with the “so what” in 1 sentence.\nIf content is empty or truncated, say so and summarize from title + available snippet.\nDon’t invent facts; quote key numbers/names if present.\nTroubleshooting\nIf the script says missing credentials: set MINIFLUX_URL/MINIFLUX_TOKEN or create ~/.config/clawdbot/miniflux-news.json.\nIf you get HTTP 401: token is wrong/expired.\nIf you get HTTP 404: base URL is wrong (should be the Miniflux web root)."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/hartlco/miniflux-news",
    "publisherUrl": "https://clawhub.ai/hartlco/miniflux-news",
    "owner": "hartlco",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/miniflux-news",
    "downloadUrl": "https://openagent3.xyz/downloads/miniflux-news",
    "agentUrl": "https://openagent3.xyz/skills/miniflux-news/agent",
    "manifestUrl": "https://openagent3.xyz/skills/miniflux-news/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/miniflux-news/agent.md"
  }
}