Skip to content

feat: add BrowseShSource adapter for browse.sh skills catalog#28553

Closed
Kylejeong2 wants to merge 2 commits into
NousResearch:mainfrom
Kylejeong2:feat/browse-sh-source
Closed

feat: add BrowseShSource adapter for browse.sh skills catalog#28553
Kylejeong2 wants to merge 2 commits into
NousResearch:mainfrom
Kylejeong2:feat/browse-sh-source

Conversation

@Kylejeong2

Copy link
Copy Markdown
Contributor

Summary

Adds BrowseShSource — a new skill source adapter that integrates Browserbase's browse.sh catalog into the Hermes Skills Hub.

browse.sh maintains 169+ site-specific browser automation SKILL.md files (Airbnb, Amazon, arXiv, Apartments.com, etc.). With this change, those skills are discoverable and installable via:

hermes skills search airbnb
hermes skills install browse-sh/airbnb.com/search-listings-ddgioa

What's added

  • BrowseShSource class in tools/skills_hub.py implementing the SkillSource ABC
  • Fetches the browse.sh catalog API, caches it (1h TTL via existing _read_index_cache)
  • Full-text search across name, title, description, hostname, category, and tags
  • fetch() downloads SKILL.md directly from each skill's sourceUrl on GitHub
  • Registered in create_source_router() alongside existing sources
  • Tests in tests/tools/test_skills_hub_browse_sh.py

Trust level

Skills from browse.sh are marked community trust — consistent with skills.sh and other community sources.

Adds BrowseShSource — a new skill source adapter that integrates
Browserbase's browse.sh catalog (169+ site-specific SKILL.md files)
into the Hermes Skills Hub.

- BrowseShSource class in tools/skills_hub.py implementing SkillSource ABC
- Fetches browse.sh catalog API with 1h TTL cache
- Full-text search across name, title, description, hostname, category, tags
- fetch() downloads SKILL.md via sourceUrl (GitHub HTML -> raw URL conversion)
- Registered in create_source_router() after LobeHubSource
- Tests in tests/tools/test_skills_hub_browse_sh.py (7 tests, all passing)
- Add 'browse-sh' to _PER_SOURCE_LIMIT in both do_browse() and
  browse_skills() with limit=500 (covers full 171-skill catalog)
- Add 'browse-sh' to --source argparse choices for both
  'hermes skills browse' and 'hermes skills search'

Without these, browse-sh fell back to the default cap of 50 results
and was not filterable via --source.
@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have tool/skills Skills system (list, view, manage) labels May 19, 2026
@Kylejeong2 Kylejeong2 marked this pull request as ready for review May 19, 2026 06:48
@teknium1

Copy link
Copy Markdown
Contributor

Salvaged via PR #28936 (commits 57145ca + 90be1be, your authorship preserved via rebase-merge). I added one follow-up fix on top (890b2eb): the catalog's sourceUrl points at github.com/browserbase/browse.sh whose underlying repo isn't reliably public (7/8 random raw URLs 404), so fetch() now resolves content via GET /api/skills/{slug}skillMdUrl (the CDN blob), with a raw.githubusercontent.com fallback. Verified live end-to-end against the real catalog. Thanks for the contribution!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low — cosmetic, nice to have tool/skills Skills system (list, view, manage) type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants