diff --git a/skills/research/rss-feeds/SKILL.md b/optional-skills/research/rss-feeds/SKILL.md similarity index 100% rename from skills/research/rss-feeds/SKILL.md rename to optional-skills/research/rss-feeds/SKILL.md diff --git a/skills/research/rss-feeds/scripts/feed.py b/optional-skills/research/rss-feeds/scripts/feed.py similarity index 100% rename from skills/research/rss-feeds/scripts/feed.py rename to optional-skills/research/rss-feeds/scripts/feed.py diff --git a/skills/social-media/reddit-reading/SKILL.md b/optional-skills/social-media/reddit-reading/SKILL.md similarity index 100% rename from skills/social-media/reddit-reading/SKILL.md rename to optional-skills/social-media/reddit-reading/SKILL.md diff --git a/skills/social-media/reddit-reading/scripts/reddit.py b/optional-skills/social-media/reddit-reading/scripts/reddit.py similarity index 100% rename from skills/social-media/reddit-reading/scripts/reddit.py rename to optional-skills/social-media/reddit-reading/scripts/reddit.py diff --git a/skills/research/competitor-news-monitor/SKILL.md b/skills/research/competitor-news-monitor/SKILL.md index e1fb7ef2d8..929a17b29b 100644 --- a/skills/research/competitor-news-monitor/SKILL.md +++ b/skills/research/competitor-news-monitor/SKILL.md @@ -42,7 +42,7 @@ For each company include, where available: 5. reputable trade and financial press 6. job postings as weak supporting evidence -Use `rss-feeds` (bundled) or `blogwatcher` (optional, stateful) for feeds, `reddit-reading` for community discussion, and `web_search`/`web_extract` for pages. Write the watch contract (watchlist, categories, materiality threshold, last cutoff) to a state file under `~/.hermes/competitor-watches/.json`, then create the job: +Use `rss-feeds` (optional) or `blogwatcher` (optional, stateful) for feeds, `reddit-reading` for community discussion, and `web_search`/`web_extract` for pages. Write the watch contract (watchlist, categories, materiality threshold, last cutoff) to a state file under `~/.hermes/competitor-watches/.json`, then create the job: ``` cronjob(action="create", diff --git a/skills/research/grounded-citations/SKILL.md b/skills/research/grounded-citations/SKILL.md index 599fc6b1d7..97c4bce663 100644 --- a/skills/research/grounded-citations/SKILL.md +++ b/skills/research/grounded-citations/SKILL.md @@ -141,6 +141,10 @@ with every claim attributed to the platform it came from: | Code | `terminal` with `gh search repos` / `gh search issues` | implementations, open bugs | | X/Twitter | `xurl` (needs API access) | announcements, developer chatter | +The `reddit-reading` and `rss-feeds` skills are optional. If absent, install with +`hermes skills install official/social-media/reddit-reading` or +`hermes skills install official/research/rss-feeds` before using them. + Register every URL from every route in the ledger as it arrives (step ②). Keep opinion and measurement apart: a Reddit thread is evidence that users *report* something, not that it is true; pair it with a primary source or label it as diff --git a/tests/skills/test_reddit_reading_skill.py b/tests/skills/test_reddit_reading_skill.py index 45310f098d..660e107477 100644 --- a/tests/skills/test_reddit_reading_skill.py +++ b/tests/skills/test_reddit_reading_skill.py @@ -1,4 +1,4 @@ -"""Tests for skills/social-media/reddit-reading/scripts/reddit.py — backend selection and throttle handling.""" +"""Tests for optional-skills/social-media/reddit-reading/scripts/reddit.py — backend selection and throttle handling.""" import io import sys @@ -8,7 +8,7 @@ from unittest import mock import pytest -SCRIPTS_DIR = Path(__file__).resolve().parents[2] / "skills" / "social-media" / "reddit-reading" / "scripts" +SCRIPTS_DIR = Path(__file__).resolve().parents[2] / "optional-skills" / "social-media" / "reddit-reading" / "scripts" sys.path.insert(0, str(SCRIPTS_DIR)) import reddit # noqa: E402 diff --git a/tests/skills/test_rss_feeds_skill.py b/tests/skills/test_rss_feeds_skill.py index 9ce7af8748..0a7808c9ed 100644 --- a/tests/skills/test_rss_feeds_skill.py +++ b/tests/skills/test_rss_feeds_skill.py @@ -1,4 +1,4 @@ -"""Tests for skills/research/rss-feeds/scripts/feed.py — parsing and discovery contracts.""" +"""Tests for optional-skills/research/rss-feeds/scripts/feed.py — parsing and discovery contracts.""" import sys from pathlib import Path @@ -6,7 +6,7 @@ from unittest import mock import pytest -SCRIPTS_DIR = Path(__file__).resolve().parents[2] / "skills" / "research" / "rss-feeds" / "scripts" +SCRIPTS_DIR = Path(__file__).resolve().parents[2] / "optional-skills" / "research" / "rss-feeds" / "scripts" sys.path.insert(0, str(SCRIPTS_DIR)) import feed # noqa: E402 diff --git a/website/docs/reference/optional-skills-catalog.md b/website/docs/reference/optional-skills-catalog.md index 48c8959d4c..2c6cce8fcd 100644 --- a/website/docs/reference/optional-skills-catalog.md +++ b/website/docs/reference/optional-skills-catalog.md @@ -228,6 +228,7 @@ hermes skills uninstall | [**pinecone-research**](/docs/user-guide/skills/optional/research/research-pinecone-research) | Agent RAG and long-term memory with Pinecone. | | [**qmd**](/docs/user-guide/skills/optional/research/research-qmd) | Hybrid local search over notes, docs, and transcripts. | | [**research-paper-writing**](/docs/user-guide/skills/optional/research/research-research-paper-writing) | Write ML papers for NeurIPS/ICML/ICLR: design→submit. | +| [**rss-feeds**](/docs/user-guide/skills/optional/research/research-rss-feeds) | Read RSS, Atom, JSON feeds; discover feeds behind a page. | | [**scrapling**](/docs/user-guide/skills/optional/research/research-scrapling) | Scrape sites with stealth browsing and Cloudflare bypass. | | [**searxng-search**](/docs/user-guide/skills/optional/research/research-searxng-search) | Free keyless meta-search aggregating 70+ engines. | @@ -248,6 +249,12 @@ hermes skills uninstall |-------|-------------| | [**openhue**](/docs/user-guide/skills/optional/smart-home/smart-home-openhue) | Control Philips Hue lights, scenes, rooms via OpenHue CLI. | +## social-media + +| Skill | Description | +|-------|-------------| +| [**reddit-reading**](/docs/user-guide/skills/optional/social-media/social-media-reddit-reading) | Read Reddit: subreddits, search, threads, users. No browser. | + ## software-development | Skill | Description | diff --git a/website/docs/reference/skills-catalog.md b/website/docs/reference/skills-catalog.md index d56a104fa9..b6ab7f5c21 100644 --- a/website/docs/reference/skills-catalog.md +++ b/website/docs/reference/skills-catalog.md @@ -101,13 +101,11 @@ If a skill is missing from this list but present in the repo, the catalog is reg | [`competitor-news-monitor`](/docs/user-guide/skills/bundled/research/research-competitor-news-monitor) | Watch named companies for material news; cited digests. | `research\competitor-news-monitor` | | [`grounded-citations`](/docs/user-guide/skills/bundled/research/research-grounded-citations) | Ground answers and documents in cited, verifiable sources. | `research\grounded-citations` | | [`llm-wiki`](/docs/user-guide/skills/bundled/research/research-llm-wiki) | Karpathy's LLM Wiki: build/query interlinked markdown KB. | `research\llm-wiki` | -| [`rss-feeds`](/docs/user-guide/skills/bundled/research/research-rss-feeds) | Read RSS, Atom, JSON feeds; discover feeds behind a page. | `research/rss-feeds` | ## social-media | Skill | Description | Path | |-------|-------------|------| -| [`reddit-reading`](/docs/user-guide/skills/bundled/social-media/social-media-reddit-reading) | Read Reddit: subreddits, search, threads, users. No browser. | `social-media/reddit-reading` | | [`xurl`](/docs/user-guide/skills/bundled/social-media/social-media-xurl) | X/Twitter via xurl CLI: raw post search, posting, DM, media. | `social-media\xurl` | ## software-development diff --git a/website/docs/user-guide/skills/bundled/research/research-competitor-news-monitor.md b/website/docs/user-guide/skills/bundled/research/research-competitor-news-monitor.md index 5ac27e64d4..d7f52e44df 100644 --- a/website/docs/user-guide/skills/bundled/research/research-competitor-news-monitor.md +++ b/website/docs/user-guide/skills/bundled/research/research-competitor-news-monitor.md @@ -21,7 +21,7 @@ Watch named companies for material news; cited digests. | License | MIT | | Platforms | linux, macos, windows | | Tags | `Competitors`, `News`, `Market-Research`, `Monitoring` | -| Related skills | [`blogwatcher`](/docs/user-guide/skills/optional/research/research-blogwatcher), [`rss-feeds`](/docs/user-guide/skills/bundled/research/research-rss-feeds), [`reddit-reading`](/docs/user-guide/skills/bundled/social-media/social-media-reddit-reading) | +| Related skills | [`blogwatcher`](/docs/user-guide/skills/optional/research/research-blogwatcher), [`rss-feeds`](/docs/user-guide/skills/optional/research/research-rss-feeds), [`reddit-reading`](/docs/user-guide/skills/optional/social-media/social-media-reddit-reading) | ## Reference: full SKILL.md @@ -60,7 +60,7 @@ For each company include, where available: 5. reputable trade and financial press 6. job postings as weak supporting evidence -Use `rss-feeds` (bundled) or `blogwatcher` (optional, stateful) for feeds, `reddit-reading` for community discussion, and `web_search`/`web_extract` for pages. Write the watch contract (watchlist, categories, materiality threshold, last cutoff) to a state file under `~/.hermes/competitor-watches/.json`, then create the job: +Use `rss-feeds` (optional) or `blogwatcher` (optional, stateful) for feeds, `reddit-reading` for community discussion, and `web_search`/`web_extract` for pages. Write the watch contract (watchlist, categories, materiality threshold, last cutoff) to a state file under `~/.hermes/competitor-watches/.json`, then create the job: ``` cronjob(action="create", diff --git a/website/docs/user-guide/skills/bundled/research/research-grounded-citations.md b/website/docs/user-guide/skills/bundled/research/research-grounded-citations.md index 8166801512..838d89f3cf 100644 --- a/website/docs/user-guide/skills/bundled/research/research-grounded-citations.md +++ b/website/docs/user-guide/skills/bundled/research/research-grounded-citations.md @@ -21,7 +21,7 @@ Ground answers and documents in cited, verifiable sources. | License | MIT | | Platforms | linux, macos, windows | | Tags | `Research`, `Citations`, `Grounding`, `Sources`, `Web`, `Reports` | -| Related skills | [`arxiv`](/docs/user-guide/skills/bundled/research/research-arxiv), [`pdf`](/docs/user-guide/skills/bundled/productivity/productivity-pdf), [`reddit-reading`](/docs/user-guide/skills/bundled/social-media/social-media-reddit-reading), [`rss-feeds`](/docs/user-guide/skills/bundled/research/research-rss-feeds), [`youtube-content`](/docs/user-guide/skills/bundled/media/media-youtube-content) | +| Related skills | [`arxiv`](/docs/user-guide/skills/bundled/research/research-arxiv), [`pdf`](/docs/user-guide/skills/bundled/productivity/productivity-pdf), [`reddit-reading`](/docs/user-guide/skills/optional/social-media/social-media-reddit-reading), [`rss-feeds`](/docs/user-guide/skills/optional/research/research-rss-feeds), [`youtube-content`](/docs/user-guide/skills/bundled/media/media-youtube-content) | ## Reference: full SKILL.md @@ -158,6 +158,10 @@ with every claim attributed to the platform it came from: | Code | `terminal` with `gh search repos` / `gh search issues` | implementations, open bugs | | X/Twitter | `xurl` (needs API access) | announcements, developer chatter | +The `reddit-reading` and `rss-feeds` skills are optional. If absent, install with +`hermes skills install official/social-media/reddit-reading` or +`hermes skills install official/research/rss-feeds` before using them. + Register every URL from every route in the ledger as it arrives (step ②). Keep opinion and measurement apart: a Reddit thread is evidence that users *report* something, not that it is true; pair it with a primary source or label it as diff --git a/website/docs/user-guide/skills/bundled/research/research-rss-feeds.md b/website/docs/user-guide/skills/optional/research/research-rss-feeds.md similarity index 89% rename from website/docs/user-guide/skills/bundled/research/research-rss-feeds.md rename to website/docs/user-guide/skills/optional/research/research-rss-feeds.md index 4946eaa94b..e5e951d1f5 100644 --- a/website/docs/user-guide/skills/bundled/research/research-rss-feeds.md +++ b/website/docs/user-guide/skills/optional/research/research-rss-feeds.md @@ -14,14 +14,14 @@ Read RSS, Atom, JSON feeds; discover feeds behind a page. | | | |---|---| -| Source | Bundled (installed by default) | -| Path | `skills/research/rss-feeds` | +| Source | Optional — install with `hermes skills install official/research/rss-feeds` | +| Path | `optional-skills/research/rss-feeds` | | Version | `1.0.0` | | Author | Teknium (teknium1), Hermes Agent | | License | MIT | | Platforms | linux, macos, windows | | Tags | `RSS`, `Atom`, `Feeds`, `Monitoring`, `Research`, `Blogs`, `Releases` | -| Related skills | [`reddit-reading`](/docs/user-guide/skills/bundled/social-media/social-media-reddit-reading), [`competitor-news-monitor`](/docs/user-guide/skills/bundled/research/research-competitor-news-monitor), [`grounded-citations`](/docs/user-guide/skills/bundled/research/research-grounded-citations), [`youtube-content`](/docs/user-guide/skills/bundled/media/media-youtube-content), [`blogwatcher`](/docs/user-guide/skills/optional/research/research-blogwatcher) | +| Related skills | [`reddit-reading`](/docs/user-guide/skills/optional/social-media/social-media-reddit-reading), [`competitor-news-monitor`](/docs/user-guide/skills/bundled/research/research-competitor-news-monitor), [`grounded-citations`](/docs/user-guide/skills/bundled/research/research-grounded-citations), [`youtube-content`](/docs/user-guide/skills/bundled/media/media-youtube-content), [`blogwatcher`](/docs/user-guide/skills/optional/research/research-blogwatcher) | ## Reference: full SKILL.md diff --git a/website/docs/user-guide/skills/bundled/social-media/social-media-reddit-reading.md b/website/docs/user-guide/skills/optional/social-media/social-media-reddit-reading.md similarity index 92% rename from website/docs/user-guide/skills/bundled/social-media/social-media-reddit-reading.md rename to website/docs/user-guide/skills/optional/social-media/social-media-reddit-reading.md index 812e9d89b9..3d299ff235 100644 --- a/website/docs/user-guide/skills/bundled/social-media/social-media-reddit-reading.md +++ b/website/docs/user-guide/skills/optional/social-media/social-media-reddit-reading.md @@ -14,14 +14,14 @@ Read Reddit: subreddits, search, threads, users. No browser. | | | |---|---| -| Source | Bundled (installed by default) | -| Path | `skills/social-media/reddit-reading` | +| Source | Optional — install with `hermes skills install official/social-media/reddit-reading` | +| Path | `optional-skills/social-media/reddit-reading` | | Version | `1.0.0` | | Author | Teknium (teknium1), Hermes Agent | | License | MIT | | Platforms | linux, macos, windows | | Tags | `Reddit`, `Social Media`, `Research`, `Discussions`, `Community` | -| Related skills | [`rss-feeds`](/docs/user-guide/skills/bundled/research/research-rss-feeds), [`grounded-citations`](/docs/user-guide/skills/bundled/research/research-grounded-citations), [`blocked-page-recovery`](/docs/user-guide/skills/bundled/web/web-blocked-page-recovery), [`xurl`](/docs/user-guide/skills/bundled/social-media/social-media-xurl) | +| Related skills | [`rss-feeds`](/docs/user-guide/skills/optional/research/research-rss-feeds), [`grounded-citations`](/docs/user-guide/skills/bundled/research/research-grounded-citations), [`blocked-page-recovery`](/docs/user-guide/skills/bundled/web/web-blocked-page-recovery), [`xurl`](/docs/user-guide/skills/bundled/social-media/social-media-xurl) | ## Reference: full SKILL.md diff --git a/website/sidebars.ts b/website/sidebars.ts index 4bb9ca86bd..ba0598f507 100644 --- a/website/sidebars.ts +++ b/website/sidebars.ts @@ -264,7 +264,6 @@ const sidebars: SidebarsConfig = { 'user-guide/skills/bundled/research/research-competitor-news-monitor', 'user-guide/skills/bundled/research/research-grounded-citations', 'user-guide/skills/bundled/research/research-llm-wiki', - 'user-guide/skills/bundled/research/research-rss-feeds', ], }, { @@ -273,7 +272,6 @@ const sidebars: SidebarsConfig = { key: 'skills-bundled-social-media', collapsed: true, items: [ - 'user-guide/skills/bundled/social-media/social-media-reddit-reading', 'user-guide/skills/bundled/social-media/social-media-xurl', ], }, @@ -564,6 +562,7 @@ const sidebars: SidebarsConfig = { 'user-guide/skills/optional/research/research-pinecone-research', 'user-guide/skills/optional/research/research-qmd', 'user-guide/skills/optional/research/research-research-paper-writing', + 'user-guide/skills/optional/research/research-rss-feeds', 'user-guide/skills/optional/research/research-scrapling', 'user-guide/skills/optional/research/research-searxng-search', ], @@ -591,6 +590,15 @@ const sidebars: SidebarsConfig = { 'user-guide/skills/optional/smart-home/smart-home-openhue', ], }, + { + type: 'category', + label: 'social-media', + key: 'skills-optional-social-media', + collapsed: true, + items: [ + 'user-guide/skills/optional/social-media/social-media-reddit-reading', + ], + }, { type: 'category', label: 'software-development',