hermes - ✅(Solved) Fix feat: Enhance Skills Hub Web UI — full lifecycle management (search, install, publish, taps, etc.) [1 pull requests, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
NousResearch/hermes-agent#13453Fetched 2026-04-22 08:06:25
View on GitHub
Comments
0
Participants
1
Timeline
6
Reactions
0
Participants
Timeline (top)
labeled ×4cross-referenced ×1referenced ×1

The current SkillsPage.tsx provides basic skill listing and toggle functionality with only 2 API endpoints (GET /api/skills, PUT /api/skills/toggle). However, hermes_cli/skills_hub.py already exposes a rich set of Skills Hub operations (search, browse, install, uninstall, update, audit, taps management, snapshot import/export, publish, create skill, etc.) that are not yet available in the Web UI.

Root Cause

The current SkillsPage.tsx provides basic skill listing and toggle functionality with only 2 API endpoints (GET /api/skills, PUT /api/skills/toggle). However, hermes_cli/skills_hub.py already exposes a rich set of Skills Hub operations (search, browse, install, uninstall, update, audit, taps management, snapshot import/export, publish, create skill, etc.) that are not yet available in the Web UI.

Fix Action

Fixed

PR fix notes

PR #13496: feat: Skills Hub full lifecycle management for web UI

Description (problem / solution / changelog)

Summary

This PR adds comprehensive Skills Hub lifecycle management to the Hermes Agent web UI, addressing Issue #13453.

Backend Changes (hermes_cli/web_server.py)

Added 16 new FastAPI endpoints that wrap existing hermes_cli/skills_hub.py and tools/skills_hub.py functions:

EndpointMethodDescription
/api/skills/searchGETSearch skills across registries
/api/skills/browseGETBrowse available skills with pagination
/api/skills/inspectGETGet detailed skill info
/api/skills/installedGETList installed skills with hub metadata
/api/skills/installPOSTInstall a skill from a registry
/api/skills/uninstall/{name}DELETEUninstall a hub-installed skill
/api/skills/check-updatesGETCheck for available updates
/api/skills/updatePUTUpdate hub-installed skills
/api/skills/auditGETRun security audit on hub skills
/api/skills/tapsGET/POSTList/add skill sources (taps)
/api/skills/taps/{repo}DELETERemove a skill source
/api/skills/snapshot/exportGETExport skill config as JSON snapshot
/api/skills/snapshot/importPOSTImport skills from a snapshot
/api/skills/publishPOSTPublish a local skill to GitHub
/api/skills/createPOSTCreate a new local skill from template

All endpoints use existing upstream functions — no new Python dependencies.

Frontend Changes

web/src/lib/api.ts — Added 9 new TypeScript interfaces and 15 API client methods.

web/src/pages/SkillsPage.tsx — Enhanced with:

  • 🔍 Hub Search — Search skills across registries
  • 📦 Browse — Browse available skills with install action
  • 🔄 Updates — Check for and apply skill updates
  • 🛡️ Audit — View security scan results for hub-installed skills
  • 🌐 Skill Sources — Manage taps (custom skill registries)
  • 💾 Snapshot — Export/import skill configuration
  • Create — Create new local skills from template
  • 🚀 Publish — Publish local skills to GitHub

All new UI uses existing shadcn/ui components and follows the established design patterns.

Closes #13453

Changed files

  • hermes_cli/web_server.py (modified, +552/-3)
  • web/src/lib/api.ts (modified, +165/-0)
  • web/src/pages/SkillsPage.tsx (modified, +701/-91)
RAW_BUFFERClick to expand / collapse

Summary

The current SkillsPage.tsx provides basic skill listing and toggle functionality with only 2 API endpoints (GET /api/skills, PUT /api/skills/toggle). However, hermes_cli/skills_hub.py already exposes a rich set of Skills Hub operations (search, browse, install, uninstall, update, audit, taps management, snapshot import/export, publish, create skill, etc.) that are not yet available in the Web UI.

Proposal

I'd like to contribute a comprehensive enhancement to the Skills Hub Web UI:

Backend: Add Skills Hub API endpoints to web_server.py

Port the following operations as FastAPI endpoints, leveraging the existing hermes_cli/skills_hub.py:

  • GET /api/skills/sources - list available skill sources
  • GET /api/skills/search?q=... - search skills across sources
  • GET /api/skills/browse?page=&page_size=&source= - browse skills with pagination
  • GET /api/skills/inspect?name= - inspect skill details
  • GET /api/skills/installed - list installed skills with metadata
  • POST /api/skills/install - install a skill
  • DELETE /api/skills/uninstall/{name} - uninstall a skill
  • GET /api/skills/check-updates - check for skill updates
  • PUT /api/skills/update - update a skill
  • GET /api/skills/audit - audit skill security
  • GET /api/skills/taps - list taps (skill sources)
  • POST /api/skills/taps - add a tap
  • DELETE /api/skills/taps/{repo} - remove a tap
  • POST /api/skills/snapshot/export - export installed skills snapshot
  • POST /api/skills/snapshot/import - import skills from snapshot
  • POST /api/skills/publish - publish a skill
  • POST /api/skills/create - create a new skill from template

Frontend: Enhance SkillsPage.tsx and add new components

  • Add tabbed navigation: Installed / Browse / Search / Taps
  • Add skill install/uninstall/update actions
  • Add skill detail modal with full metadata
  • Add taps management UI
  • Add create-skill dialog
  • Add publish dialog
  • Add import/export snapshot support

All UI will use existing shadcn/ui components and follow the current design patterns.

Implementation Plan

I have a working implementation based on a standalone Next.js prototype and will adapt it to fit the upstream Vite + React 19 + FastAPI architecture.

Would this contribution be welcome? Any preferences on scope or approach?

extent analysis

TL;DR

The proposed enhancement to the Skills Hub Web UI can be achieved by adding new API endpoints to web_server.py and enhancing the SkillsPage.tsx with new components and functionality.

Guidance

  • Review the existing hermes_cli/skills_hub.py to ensure the proposed API endpoints align with its operations and functionality.
  • Consider implementing the API endpoints in web_server.py in phases, starting with the most critical ones, to facilitate testing and iteration.
  • Ensure the new UI components in SkillsPage.tsx follow the existing design patterns and utilize the shadcn/ui components.
  • Plan for thorough testing of the new functionality, including API endpoint testing and UI interaction testing.

Example

No specific code example is provided, as the implementation details are not specified in the issue.

Notes

The implementation plan mentions adapting a working Next.js prototype to fit the upstream Vite + React 19 + FastAPI architecture, which may require careful consideration of compatibility and potential differences in framework-specific features.

Recommendation

Apply the proposed enhancement with a phased implementation approach, starting with the most critical API endpoints and UI components, to ensure a smooth and well-tested integration.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - ✅(Solved) Fix feat: Enhance Skills Hub Web UI — full lifecycle management (search, install, publish, taps, etc.) [1 pull requests, 1 participants]