[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GDRFBZYY2VMETDF1N5FM3F":3,"skill-same:01M6GDRFBZYY2VMETDF1N5FM3F":85},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":63,"commitSha":64,"skillDirectory":65,"forksCount":66,"repositoryHtmlUrl":67,"repositoryHomepageUrl":6,"ownerHtmlUrl":68,"ownerBlogUrl":6,"ownerDescription":69,"updatedAt":70,"install":71,"resources":84},"01M6GDRFBZYY2VMETDF1N5FM3F","rss-feeds",null,"Read RSS, Atom, JSON feeds; discover feeds behind a page.","zapabob\u002FSkills","zapabob","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F130830376?v=4","01M6DBMYZAGRTFQDSQYW3W764P","峯岸 亮","01M6DBMZ3GKDSJ01NZ9XTZD7JD",2,"MIT","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002Fbd\u002Fbdd3a7c1005cb7f1a5266b31fb464fc50d6c7b3389ad888a1e4341467be82ff8\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"rss feeds","feeds","rss","page","reading","atom","discover","news","reddit","youtube","releases","read","blogwatcher","json","Citations","monitoring","monitor","windows","research","linux","2026-11-10 10:12:30",false,"---\nname: rss-feeds\ndescription: \"Read RSS, Atom, JSON feeds; discover feeds behind a page.\"\nversion: 1.0.0\nauthor: Teknium (teknium1), Hermes Agent\nlicense: MIT\nplatforms: [linux, macos, windows]\nmetadata:\n  hermes:\n    tags: [RSS, Atom, Feeds, Monitoring, Research, Blogs, Releases]\n    related_skills: [reddit-reading, competitor-news-monitor, grounded-citations, youtube-content, blogwatcher]\n---\n\n# RSS Feeds Skill\n\nReads any RSS 2.0, RSS 1.0\u002FRDF, Atom, or JSON Feed URL into a clean, date-sorted list of\nentries, and discovers the feed behind an ordinary page URL (`\u003Clink rel=\"alternate\">` or\nthe usual `\u002Ffeed`, `\u002Frss.xml`, `\u002Fatom.xml` paths). Standard library only, nothing to\ninstall. It does not fetch full article bodies — pass an entry's link to `web_extract` for\nthat.\n\n## When to Use\n\n- \"What's new on \u003Cblog\u002Fsite>\", \"latest releases of \u003CGitHub repo>\", \"recent posts in\n  \u003Csubreddit>\", \"read this feed\", \"does this site have an RSS feed\".\n- Building a recurring digest with `cronjob_manage` (feeds are cheaper and more stable than\n  scraping the HTML front page every run). For a persistent read\u002Funread database across\n  many feeds install the optional `blogwatcher` skill; this skill is the zero-install read.\n- Anything where a structured list of `title \u002F link \u002F date \u002F author \u002F summary` beats a\n  rendered page: podcasts, changelogs, YouTube channels, newsrooms, forum categories.\n\n## Prerequisites\n\nNone. Python 3.10+, network access to the feed host.\n\n## How to Run\n\nRun through `terminal` with the skill-relative script path:\n\n```bash\npython3 scripts\u002Ffeed.py read https:\u002F\u002Fhnrss.org\u002Ffrontpage --limit 10\npython3 scripts\u002Ffeed.py read https:\u002F\u002Fsimonwillison.net\u002F            # page URL → discovers the feed\npython3 scripts\u002Ffeed.py read URL --since 2026-09-01 --json          # only newer entries, machine-readable\npython3 scripts\u002Ffeed.py discover https:\u002F\u002Fexample.com\u002F               # list candidate feed URLs\n```\n\n## Quick Reference\n\n| Source | Feed URL pattern |\n|---|---|\n| GitHub releases \u002F commits \u002F tags | `https:\u002F\u002Fgithub.com\u002FOWNER\u002FREPO\u002Freleases.atom`, `…\u002Fcommits\u002FBRANCH.atom`, `…\u002Ftags.atom` |\n| Subreddit \u002F Reddit search | `https:\u002F\u002Fwww.reddit.com\u002Fr\u002FNAME\u002F.rss`, `https:\u002F\u002Fwww.reddit.com\u002Fsearch.rss?q=…` (1 req\u002Fmin anon; see `reddit-reading`) |\n| YouTube channel | `https:\u002F\u002Fwww.youtube.com\u002Ffeeds\u002Fvideos.xml?channel_id=UC…` |\n| Hacker News | `https:\u002F\u002Fhnrss.org\u002Ffrontpage`, `https:\u002F\u002Fhnrss.org\u002Fnewest?q=TERM` |\n| arXiv category | `https:\u002F\u002Frss.arxiv.org\u002Frss\u002Fcs.CL` |\n| Substack \u002F Medium \u002F WordPress \u002F Ghost | `SITE\u002Ffeed`, `medium.com\u002Ffeed\u002F@user`, `SITE\u002Frss\u002F` |\n| Podcasts | the show's RSS URL from its hosting page (`discover` finds it) |\n\nOutput fields per entry: `title`, `link`, `published` (UTC ISO 8601), `author`, `summary`\n(HTML stripped, ≤ 2000 chars). Entries are sorted newest-first.\n\n## Procedure\n\n① If you only have a site URL, run `read` on it directly; the script discovers the feed\nand reports which URL it used (`discovered_from`). Use `discover` when you want to choose\nbetween several advertised feeds (comments feed vs posts feed, per-category feeds).\n\n② Bound the request: `--limit` for \"latest N\", `--since YYYY-MM-DD` for \"since last\ncheck\". For a cron digest persist the last-seen `published` value and pass it as\n`--since` next run.\n\n③ For full text, hand the entry `link` to `web_extract`; feed summaries are frequently\ntruncated or the first paragraph only.\n\n④ Cite the entry `link`, not the feed URL, when the result feeds a report\n(`grounded-citations`).\n\n## Pitfalls\n\n- A 200 response with HTML means the URL is a page, not a feed; the script falls through\n  to discovery automatically, but a site with no `\u003Clink rel=\"alternate\">` and none of the\n  common paths reports `no feed found` — check the site's footer or `\u002Fsitemap.xml` before\n  concluding there is none.\n- Reddit feeds share Reddit's anonymous throttle (about one request per minute per IP).\n  Chain them through `reddit-reading`, which waits out the window, when you need more\n  than one Reddit call.\n- Dates: RSS `pubDate` is RFC 822 and Atom uses ISO 8601; the script normalises both to\n  UTC. Feeds that omit dates sort to the bottom and are dropped by `--since`.\n- Some feeds are Cloudflare-fronted and 403 non-browser clients; `blocked-page-recovery`\n  handles that class.\n\n## Verification\n\n`python3 scripts\u002Ffeed.py read https:\u002F\u002Fgithub.com\u002FNousResearch\u002Fhermes-agent\u002Freleases.atom\n--limit 1` prints one entry with a `releases\u002Ftag\u002F` link and a `[atom]` format tag;\n`discover https:\u002F\u002Fsimonwillison.net\u002F` prints an `\u002Fatom\u002F` URL.\n","# RSS Feeds Skill\n\nReads any RSS 2.0, RSS 1.0\u002FRDF, Atom, or JSON Feed URL into a clean, date-sorted list of\nentries, and discovers the feed behind an ordinary page URL (`\u003Clink rel=\"alternate\">` or\nthe usual `\u002Ffeed`, `\u002Frss.xml`, `\u002Fatom.xml` paths). Standard library only, nothing to\ninstall. It does not fetch full article bodies — pass an entry's link to `web_extract` for\nthat.\n\n## When to Use\n\n- \"What's new on \u003Cblog\u002Fsite>\", \"latest releases of \u003CGitHub repo>\", \"recent posts in\n  \u003Csubreddit>\", \"read this feed\", \"does this site have an RSS feed\".\n- Building a recurring digest with `cronjob_manage` (feeds are cheaper and more stable than\n  scraping the HTML front page every run). For a persistent read\u002Funread database across\n  many feeds install the optional `blogwatcher` skill; this skill is the zero-install read.\n- Anything where a structured list of `title \u002F link \u002F date \u002F author \u002F summary` beats a\n  rendered page: podcasts, changelogs, YouTube channels, newsrooms, forum categories.\n\n## Prerequisites\n\nNone. Python 3.10+, network access to the feed host.\n\n## How to Run\n\nRun through `terminal` with the skill-relative script path:\n\n```bash\npython3 scripts\u002Ffeed.py read https:\u002F\u002Fhnrss.org\u002Ffrontpage --limit 10\npython3 scripts\u002Ffeed.py read https:\u002F\u002Fsimonwillison.net\u002F            # page URL → discovers the feed\npython3 scripts\u002Ffeed.py read URL --since 2026-09-01 --json          # only newer entries, machine-readable\npython3 scripts\u002Ffeed.py discover https:\u002F\u002Fexample.com\u002F               # list candidate feed URLs\n```\n\n## Quick Reference\n\n| Source | Feed URL pattern |\n|---|---|\n| GitHub releases \u002F commits \u002F tags | `https:\u002F\u002Fgithub.com\u002FOWNER\u002FREPO\u002Freleases.atom`, `…\u002Fcommits\u002FBRANCH.atom`, `…\u002Ftags.atom` |\n| Subreddit \u002F Reddit search | `https:\u002F\u002Fwww.reddit.com\u002Fr\u002FNAME\u002F.rss`, `https:\u002F\u002Fwww.reddit.com\u002Fsearch.rss?q=…` (1 req\u002Fmin anon; see `reddit-reading`) |\n| YouTube channel | `https:\u002F\u002Fwww.youtube.com\u002Ffeeds\u002Fvideos.xml?channel_id=UC…` |\n| Hacker News | `https:\u002F\u002Fhnrss.org\u002Ffrontpage`, `https:\u002F\u002Fhnrss.org\u002Fnewest?q=TERM` |\n| arXiv category | `https:\u002F\u002Frss.arxiv.org\u002Frss\u002Fcs.CL` |\n| Substack \u002F Medium \u002F WordPress \u002F Ghost | `SITE\u002Ffeed`, `medium.com\u002Ffeed\u002F@user`, `SITE\u002Frss\u002F` |\n| Podcasts | the show's RSS URL from its hosting page (`discover` finds it) |\n\nOutput fields per entry: `title`, `link`, `published` (UTC ISO 8601), `author`, `summary`\n(HTML stripped, ≤ 2000 chars). Entries are sorted newest-first.\n\n## Procedure\n\n① If you only have a site URL, run `read` on it directly; the script discovers the feed\nand reports which URL it used (`discovered_from`). Use `discover` when you want to choose\nbetween several advertised feeds (comments feed vs posts feed, per-category feeds).\n\n② Bound the request: `--limit` for \"latest N\", `--since YYYY-MM-DD` for \"since last\ncheck\". For a cron digest persist the last-seen `published` value and pass it as\n`--since` next run.\n\n③ For full text, hand the entry `link` to `web_extract`; feed summaries are frequently\ntruncated or the first paragraph only.\n\n④ Cite the entry `link`, not the feed URL, when the result feeds a report\n(`grounded-citations`).\n\n## Pitfalls\n\n- A 200 response with HTML means the URL is a page, not a feed; the script falls through\n  to discovery automatically, but a site with no `\u003Clink rel=\"alternate\">` and none of the\n  common paths reports `no feed found` — check the site's footer or `\u002Fsitemap.xml` before\n  concluding there is none.\n- Reddit feeds share Reddit's anonymous throttle (about one request per minute per IP).\n  Chain them through `reddit-reading`, which waits out the window, when you need more\n  than one Reddit call.\n- Dates: RSS `pubDate` is RFC 822 and Atom uses ISO 8601; the script normalises both to\n  UTC. Feeds that omit dates sort to the bottom and are dropped by `--since`.\n- Some feeds are Cloudflare-fronted and 403 non-browser clients; `blocked-page-recovery`\n  handles that class.\n\n## Verification\n\n`python3 scripts\u002Ffeed.py read https:\u002F\u002Fgithub.com\u002FNousResearch\u002Fhermes-agent\u002Freleases.atom\n--limit 1` prints one entry with a `releases\u002Ftag\u002F` link and a `[atom]` format tag;\n`discover https:\u002F\u002Fsimonwillison.net\u002F` prints an `\u002Fatom\u002F` URL.\n",{"name":5,"author":44,"license":15,"version":45,"metadata":46,"platforms":61,"description":7},"Teknium (teknium1), Hermes Agent","1.0.0",{"hermes":47},{"tags":48,"related_skills":56},[49,50,51,52,53,54,55],"RSS","Atom","Feeds","Monitoring","Research","Blogs","Releases",[57,58,59,60,31],"reddit-reading","competitor-news-monitor","grounded-citations","youtube-content",[38,62,36],"macos","main","0d1434f89f4bc6b07e9d272accd8c1013768820f","archive\u002Fskill-md-reviewed\u002Fsha256\u002Fbd\u002Fbdd3a7c1005cb7f1a5266b31fb464fc50d6c7b3389ad888a1e4341467be82ff8",0,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills","https:\u002F\u002Fgithub.com\u002Fzapabob","The Open University of JAPAN　2019-now\r\n\r\nTokyo University of Science　2007-2010","2026-10-26 16:29:01",{"source":8,"skillName":5,"commands":72,"prompt":82,"zipAvailable":83},[73,76,79],{"tool":74,"command":75},"npx","npx skills add zapabob\u002FSkills --skill rss-feeds",{"tool":77,"command":78},"bunx","bunx skills add zapabob\u002FSkills --skill rss-feeds",{"tool":80,"command":81},"pnpm","pnpm dlx skills add zapabob\u002FSkills --skill rss-feeds","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002Fbd\u002Fbdd3a7c1005cb7f1a5266b31fb464fc50d6c7b3389ad888a1e4341467be82ff8\u002FSKILL.md",true,[],[86,121,156,183,210,224],{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":105,"publishedAt":39},"01M6GJTE1GESGGF9K028Y7753E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fxurl\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[92,97,100],{"categoryNo":93,"categoryName":94,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":98,"categoryName":99,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":101,"categoryName":102,"taxonomyType":103,"taxonomyTypeDesc":104},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[88,106,62,107,108,38,36,109,110,111,112,113,114,115,116,117,63,118,119,120],"openclaw","cli","github","official","search","https","social-media","api","Media","hermes","hermes agent","twitter","social","via","post",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":138,"publishedAt":39},"01M6GJT8S1PXQ8WPXT1HSNBWH2","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwriting-plans\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[127,130,133,134,135],{"categoryNo":128,"categoryName":129,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":131,"categoryName":132,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":98,"categoryName":99,"taxonomyType":95,"taxonomyTypeDesc":96},{"categoryNo":101,"categoryName":102,"taxonomyType":103,"taxonomyTypeDesc":104},{"categoryNo":136,"categoryName":137,"taxonomyType":103,"taxonomyTypeDesc":104},"01JBSEEDCAT000000000000036","内容创作者",[139,140,141,142,62,143,38,144,36,145,146,147,148,149,150,151,152,153,154,155],"writing","writing plans","plans","design","review","workflow","documentation","tasks","development","code","planning","code-review","subagent","write","superpowers","paths","test-driven-development",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":165,"publishedAt":39},"01M6GJST0H5X7WHBJ3BZK0DVKH","whisper","OpenAI's general-purpose speech recognition model. Supports 99 languages, transcription, translation to English, and language identification. Six model sizes from tiny (39M params) to large (1550M params). Use for speech-to-text, podcast transcription, or multilingual audio processing. Best for robust, multilingual ASR.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwhisper\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[162],{"categoryNo":163,"categoryName":164,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000016","图像与多媒体",[158,62,38,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182],"openai","speech","multimodal","Transformers","ASR","Audio","text","model","speech recognition","use","general","multilingual","translation","english","identification","processing","Audio Processing",{"skillNo":184,"name":185,"nameZh":6,"description":186,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":187,"categories":188,"keywords":192,"publishedAt":39},"01M6GJSMRQ8EETZTYMG72P70EA","weights-and-biases","W&B: log ML experiments, sweeps, model registry, dashboards.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fweights-and-biases\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[189],{"categoryNo":190,"categoryName":191,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000013","分析与可视化",[193,62,194,195,36,196,197,198,199,200,201,173,202,203,204,205,206,207,208,209],"weights and biases","tensorflow","experiments","pytorch","visualization","registry","real-time","tuning","dashboards","experiment","log","time","Experiment Tracking","Model Registry","Hyperparameter Tuning","WandB","Real-Time Visualization",{"skillNo":211,"name":212,"nameZh":6,"description":213,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":214,"categories":215,"keywords":217,"publishedAt":39},"01M6GJS19KDPRY112JTR326S06","watchers","Poll RSS, JSON APIs, and GitHub with watermark dedup.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwatchers\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[216],{"categoryNo":98,"categoryName":99,"taxonomyType":95,"taxonomyTypeDesc":96},[212,62,218,108,38,219,220,34,221,32,21,115,116,222,223],"terminal","automation","http","cron","devops","with",{"skillNo":225,"name":226,"nameZh":6,"description":227,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":228,"categories":229,"keywords":232,"publishedAt":39},"01M6GJRHJD2A6Q830SWF9W48BC","serving-llms-vllm","vLLM: high-throughput LLM serving, OpenAI API, quantization.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fvllm\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[230,231],{"categoryNo":93,"categoryName":94,"taxonomyType":95,"taxonomyTypeDesc":96},{"categoryNo":101,"categoryName":102,"taxonomyType":103,"taxonomyTypeDesc":104},[233,234,235,38,37,166,236,237,238,169,239,113,240,241,242,243,244,245,246,247],"llms","vLLM","serving llms vllm","openai api","tensor","Inference Serving","Production","llm serving","High Throughput","PagedAttention","Continuous Batching","Quantization","Tensor Parallelism","high-throughput","throughput"]