{
  "schemaVersion": "1.0",
  "item": {
    "slug": "openclaw-rss-feeds",
    "name": "RSS Feeds",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/homeofe/openclaw-rss-feeds",
    "canonicalUrl": "https://clawhub.ai/homeofe/openclaw-rss-feeds",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/openclaw-rss-feeds",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-rss-feeds",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "catalog.yaml",
      "examples/full-config.json",
      "examples/minimal-config.json",
      "openclaw.plugin.json"
    ],
    "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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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/openclaw-rss-feeds"
    },
    "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/openclaw-rss-feeds",
    "agentPageUrl": "https://openagent3.xyz/skills/openclaw-rss-feeds/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-rss-feeds/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-rss-feeds/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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "@elvatis_com/openclaw-rss-feeds",
        "body": "OpenClaw plugin for RSS and Atom security digests with optional NVD CVE enrichment, Ghost CMS draft publishing, and channel notifications."
      },
      {
        "title": "Installation",
        "body": "npm install @elvatis_com/openclaw-rss-feeds\n\nThen enable the plugin in your OpenClaw plugin config."
      },
      {
        "title": "Configuration",
        "body": "The plugin schema is defined in openclaw.plugin.json.\n\nExample with all supported options:\n\n{\n  \"plugins\": {\n    \"openclaw-rss-feeds\": {\n      \"feeds\": [\n        {\n          \"id\": \"fortinet\",\n          \"name\": \"Fortinet PSIRT\",\n          \"url\": \"https://www.fortiguard.com/rss/ir.xml\",\n          \"keywords\": [\"fortinet\", \"fortigate\", \"fortios\"],\n          \"enrichCve\": true,\n          \"cvssThreshold\": 7,\n          \"tags\": [\"fortinet\", \"security\", \"digest\"],\n          \"docsUrlTemplate\": \"https://docs.fortinet.com/product/{product}/{version}/release-notes\",\n          \"productHighlightPattern\": \"Forti(?:Gate|OS|Analyzer|Manager|Client|Proxy)\"\n        },\n        {\n          \"id\": \"m365\",\n          \"name\": \"Microsoft 365 Message Center\",\n          \"url\": \"https://www.microsoft.com/en-us/microsoft-365/roadmap?filters=&searchterms=&rss=1\",\n          \"keywords\": [\"security\", \"vulnerability\", \"defender\"],\n          \"enrichCve\": true,\n          \"cvssThreshold\": 6.5,\n          \"tags\": [\"microsoft-365\", \"security\"]\n        },\n        {\n          \"id\": \"bsi\",\n          \"name\": \"BSI CERT-Bund\",\n          \"url\": \"https://wid.cert-bund.de/portal/wid/securityadvisory?rss\",\n          \"keywords\": [\"kritisch\", \"critical\", \"cve\"],\n          \"enrichCve\": false,\n          \"tags\": [\"bsi\", \"cert-bund\"]\n        },\n        {\n          \"id\": \"heise-security\",\n          \"name\": \"Heise Security\",\n          \"url\": \"https://www.heise.de/security/rss/news-atom.xml\",\n          \"keywords\": [\"cve\", \"security\", \"ransomware\"],\n          \"enrichCve\": false,\n          \"tags\": [\"heise\", \"security-news\"]\n        }\n      ],\n      \"schedule\": \"0 9 1 * *\",\n      \"lookbackDays\": 31,\n      \"ghost\": {\n        \"url\": \"https://blog.example.com\",\n        \"adminKey\": \"<ghost-admin-key-id>:<ghost-admin-key-secret-hex>\"\n      },\n      \"notify\": [\n        \"whatsapp:<phone>\",\n        \"telegram:123456789\"\n      ],\n      \"nvdApiKey\": \"<nvd-api-key-optional>\"\n    }\n  }\n}"
      },
      {
        "title": "Automatic run via cron schedule",
        "body": "If schedule is set, the plugin registers a scheduler and runs automatically.\n\nExample:\n\n0 9 1 * * runs at 09:00 on day 1 of every month\n0 8 * * 1 runs every Monday at 08:00"
      },
      {
        "title": "Manual run via tool",
        "body": "You can trigger digest generation manually with the registered tool:\n\nTool name: rss_run_digest\nOptional parameter: dryRun: true\n\ndryRun fetches and formats the digest but skips Ghost publishing and notifications."
      },
      {
        "title": "CVE Enrichment",
        "body": "If a feed has enrichCve: true, the plugin calls the NVD CVE API and enriches the digest with:\n\nCVE ID\nCVSS score (filtered by cvssThreshold)\nCVE description\nLink to NVD details\n\nNotes:\n\nCVE enrichment is keyword-driven via each feed's keywords\nRequests are rate-limited between keyword lookups\nNVD failures are handled as non-fatal, feed processing continues"
      },
      {
        "title": "Ghost CMS Integration",
        "body": "If ghost is configured, the digest is published as a draft post through the Ghost Admin API.\n\nImplementation details:\n\nHS256 JWT is generated from adminKey (id:secret format)\nAPI endpoint: /ghost/api/admin/posts/?source=html\nDigest is sent as HTML body\nTags are merged from all configured feed tags\n\nIf Ghost fails, digest generation still succeeds and the error is reported in result metadata and optional notifications."
      },
      {
        "title": "Notifications",
        "body": "If notify contains targets (format channel:target), a summary notification is sent after the run.\n\nExample targets:\n\nwhatsapp:<phone>\ntelegram:123456789\ndiscord:#security"
      },
      {
        "title": "Development",
        "body": "npm install\nnpx tsc --noEmit\nnpm test\nnpm run build"
      },
      {
        "title": "License",
        "body": "MIT"
      }
    ],
    "body": "@elvatis_com/openclaw-rss-feeds\n\nOpenClaw plugin for RSS and Atom security digests with optional NVD CVE enrichment, Ghost CMS draft publishing, and channel notifications.\n\nInstallation\nnpm install @elvatis_com/openclaw-rss-feeds\n\n\nThen enable the plugin in your OpenClaw plugin config.\n\nConfiguration\n\nThe plugin schema is defined in openclaw.plugin.json.\n\nExample with all supported options:\n\n{\n  \"plugins\": {\n    \"openclaw-rss-feeds\": {\n      \"feeds\": [\n        {\n          \"id\": \"fortinet\",\n          \"name\": \"Fortinet PSIRT\",\n          \"url\": \"https://www.fortiguard.com/rss/ir.xml\",\n          \"keywords\": [\"fortinet\", \"fortigate\", \"fortios\"],\n          \"enrichCve\": true,\n          \"cvssThreshold\": 7,\n          \"tags\": [\"fortinet\", \"security\", \"digest\"],\n          \"docsUrlTemplate\": \"https://docs.fortinet.com/product/{product}/{version}/release-notes\",\n          \"productHighlightPattern\": \"Forti(?:Gate|OS|Analyzer|Manager|Client|Proxy)\"\n        },\n        {\n          \"id\": \"m365\",\n          \"name\": \"Microsoft 365 Message Center\",\n          \"url\": \"https://www.microsoft.com/en-us/microsoft-365/roadmap?filters=&searchterms=&rss=1\",\n          \"keywords\": [\"security\", \"vulnerability\", \"defender\"],\n          \"enrichCve\": true,\n          \"cvssThreshold\": 6.5,\n          \"tags\": [\"microsoft-365\", \"security\"]\n        },\n        {\n          \"id\": \"bsi\",\n          \"name\": \"BSI CERT-Bund\",\n          \"url\": \"https://wid.cert-bund.de/portal/wid/securityadvisory?rss\",\n          \"keywords\": [\"kritisch\", \"critical\", \"cve\"],\n          \"enrichCve\": false,\n          \"tags\": [\"bsi\", \"cert-bund\"]\n        },\n        {\n          \"id\": \"heise-security\",\n          \"name\": \"Heise Security\",\n          \"url\": \"https://www.heise.de/security/rss/news-atom.xml\",\n          \"keywords\": [\"cve\", \"security\", \"ransomware\"],\n          \"enrichCve\": false,\n          \"tags\": [\"heise\", \"security-news\"]\n        }\n      ],\n      \"schedule\": \"0 9 1 * *\",\n      \"lookbackDays\": 31,\n      \"ghost\": {\n        \"url\": \"https://blog.example.com\",\n        \"adminKey\": \"<ghost-admin-key-id>:<ghost-admin-key-secret-hex>\"\n      },\n      \"notify\": [\n        \"whatsapp:<phone>\",\n        \"telegram:123456789\"\n      ],\n      \"nvdApiKey\": \"<nvd-api-key-optional>\"\n    }\n  }\n}\n\nUsage\nAutomatic run via cron schedule\n\nIf schedule is set, the plugin registers a scheduler and runs automatically.\n\nExample:\n\n0 9 1 * * runs at 09:00 on day 1 of every month\n0 8 * * 1 runs every Monday at 08:00\nManual run via tool\n\nYou can trigger digest generation manually with the registered tool:\n\nTool name: rss_run_digest\nOptional parameter: dryRun: true\n\ndryRun fetches and formats the digest but skips Ghost publishing and notifications.\n\nCVE Enrichment\n\nIf a feed has enrichCve: true, the plugin calls the NVD CVE API and enriches the digest with:\n\nCVE ID\nCVSS score (filtered by cvssThreshold)\nCVE description\nLink to NVD details\n\nNotes:\n\nCVE enrichment is keyword-driven via each feed's keywords\nRequests are rate-limited between keyword lookups\nNVD failures are handled as non-fatal, feed processing continues\nGhost CMS Integration\n\nIf ghost is configured, the digest is published as a draft post through the Ghost Admin API.\n\nImplementation details:\n\nHS256 JWT is generated from adminKey (id:secret format)\nAPI endpoint: /ghost/api/admin/posts/?source=html\nDigest is sent as HTML body\nTags are merged from all configured feed tags\n\nIf Ghost fails, digest generation still succeeds and the error is reported in result metadata and optional notifications.\n\nNotifications\n\nIf notify contains targets (format channel:target), a summary notification is sent after the run.\n\nExample targets:\n\nwhatsapp:<phone>\ntelegram:123456789\ndiscord:#security\nDevelopment\nnpm install\nnpx tsc --noEmit\nnpm test\nnpm run build\n\nLicense\n\nMIT"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/homeofe/openclaw-rss-feeds",
    "publisherUrl": "https://clawhub.ai/homeofe/openclaw-rss-feeds",
    "owner": "homeofe",
    "version": "0.2.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/openclaw-rss-feeds",
    "downloadUrl": "https://openagent3.xyz/downloads/openclaw-rss-feeds",
    "agentUrl": "https://openagent3.xyz/skills/openclaw-rss-feeds/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-rss-feeds/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-rss-feeds/agent.md"
  }
}