hermes - ✅(Solved) Fix [Bug]: hermes skills inspect fails for installed local skills with misleading 'not found' error [2 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#25087Fetched 2026-05-14 03:49:03
View on GitHub
Comments
0
Participants
1
Timeline
6
Reactions
0
Author
Participants
Timeline (top)
labeled ×4cross-referenced ×2

Error Message

hermes skills inspect <local-skill-name> returns "No skill named X found in any source" for skills that are correctly installed locally, listed in hermes skills list as enabled, and parseable by Hermes's runtime resolver. The CLI command appears to query only hub/registry sources, ignoring local on-disk skills entirely — but the error message gives no hint of this distinction and reads as if the skill simply does not exist.

  • findmy (canonical-format local skill) → "Error: No skill named 'findmy' found in any source." Also confusingly: the error message differs slightly between cases. For some skills it offers fuzzy "did you mean" suggestions; for others it returns a flat "not found." Same underlying failure, different copy. B. Keep inspect hub-only but make the error explicit. Replace the current confusing "not found" message with something like:

Fix Action

Fixed

PR fix notes

PR #25153: fix(skills): inspect local/installed skills instead of only querying hub registries

Description (problem / solution / changelog)

Summary

hermes skills inspect <name> previously only searched hub registries (GitHub, skills.sh, etc.), returning "not found" for locally installed skills — even those shown by hermes skills list as enabled and working at runtime.

Problem

As reported in #25087, running hermes skills inspect dogfood (a built-in local skill) returns "No skill named 'dogfood' found in any source" because do_inspect() delegates entirely to hub source resolution via _resolve_short_name() and _resolve_source_meta_and_bundle(), which never check ~/.hermes/skills/ or external skill directories.

Solution

For bare skill names (no / in the identifier), check local skill directories first before falling back to hub resolution:

  1. _try_inspect_local_skill() — scans SKILLS_DIR and external skill dirs via iter_skill_index_files(), matches by frontmatter name (case-insensitive), and renders a Rich panel with skill metadata and SKILL.md preview. Used by the CLI do_inspect().

  2. _try_inspect_local_skill_data() — same local scan but returns a dict for programmatic callers. Used by inspect_skill().

Both functions reuse existing _parse_frontmatter() and iter_skill_index_files() from the skill loading pipeline, ensuring consistent name resolution.

Testing

  • All 14 existing inspect-related tests pass
  • Scope: single file (hermes_cli/skills_hub.py), additive change only

Fixes #25087

Changed files

  • hermes_cli/skills_hub.py (modified, +141/-0)

PR #25179: fix(cli): inspect local skills when not found in hub sources

Description (problem / solution / changelog)

Problem

hermes skills inspect <name> returns a misleading "not found" error for locally-installed skills that are valid and listed by hermes skills list.

Root Cause

The CLI queries only hub/registry sources. Local skills at ~/.hermes/skills/<name>/SKILL.md are never consulted.

Fix

When do_inspect() and inspect_skill() fail to find a skill in hub sources, they fall back to the local skills directory and display local skill metadata + SKILL.md preview.

Fixes #25087

Changed files

  • hermes_cli/skills_hub.py (modified, +80/-6)

Code Example

$ hermes skills list | grep dogfood
│ dogfood                 │                      │ builtin │ builtin │ enabled │

$ hermes skills inspect dogfood
Resolving 'dogfood'...
No exact match for 'dogfood'. Did you mean one of these?
  adversarial-ux-test — official/dogfood/adversarial-ux-test
  browse — garrytan/gstack/browse

---

'gbrain-operations' is installed locally but `inspect` only queries hub registries.
For local skill details, use `hermes skills view <name>` (or the agent-internal `skill_view` tool).
RAW_BUFFERClick to expand / collapse

Problem

hermes skills inspect <local-skill-name> returns "No skill named X found in any source" for skills that are correctly installed locally, listed in hermes skills list as enabled, and parseable by Hermes's runtime resolver. The CLI command appears to query only hub/registry sources, ignoring local on-disk skills entirely — but the error message gives no hint of this distinction and reads as if the skill simply does not exist.

This bites every user who follows instructions to "verify your skill installation with hermes skills inspect <name>" — they get told their skill isn't there even when it's working.

Repro

On any Hermes install with a local skill (built-in or user-installed at ~/.hermes/skills/<name>/SKILL.md):

$ hermes skills list | grep dogfood
│ dogfood                 │                      │ builtinbuiltin │ enabled │

$ hermes skills inspect dogfood
Resolving 'dogfood'...
No exact match for 'dogfood'. Did you mean one of these?
  adversarial-ux-test — official/dogfood/adversarial-ux-test
  browse — garrytan/gstack/browse

Affected on a fresh install:

  • dogfood (built-in local) → fails
  • gifs (built-in local) → fails
  • findmy (canonical-format local skill) → "Error: No skill named 'findmy' found in any source."
  • Any user-installed local skill (e.g. one created at ~/.hermes/skills/<name>/SKILL.md with canonical frontmatter) → same failure

Also confusingly: the error message differs slightly between cases. For some skills it offers fuzzy "did you mean" suggestions; for others it returns a flat "not found." Same underlying failure, different copy.

Expected behavior

Either:

A. Extend inspect to handle local skills. Look up the skill from local ~/.hermes/skills/ first, then fall back to hub registries. Print the same details (frontmatter, body, source, status) regardless of source.

B. Keep inspect hub-only but make the error explicit. Replace the current confusing "not found" message with something like:

'gbrain-operations' is installed locally but `inspect` only queries hub registries.
For local skill details, use `hermes skills view <name>` (or the agent-internal `skill_view` tool).

Better still, surface a hint in hermes skills inspect --help: "Searches hub registries only. For installed local skills, use [whatever]."

Why it matters

The current behavior actively misleads users and agent-driven setup flows. When an LLM agent is told to "verify your skill with hermes skills inspect <name>" (a reasonable inference from the existing hermes skills CLI surface), it gets back "not found" — and then either reports the install as failed when it actually succeeded, or hallucinates a new explanation for why "not found" is fine. We hit exactly this failure mode today.

Diagnostic detail

The CLI lists inspect alongside browse, search, install, audit, uninstall, update, check, publish, etc. — clearly a hub-management family. But list is also in that family and does show local skills. The inconsistency between list (local-aware) and inspect (hub-only) is what makes this surprising.

Affected versions

Hermes 0.13.0 confirmed. Likely older.

Severity

UX bug. Doesn't break functionality (local skills load and trigger correctly via the runtime resolver), but actively misleads anyone trying to verify a skill installation through the documented CLI surface. High-impact for agent-driven setup flows where verification output is taken at face value.

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…

FAQ

Expected behavior

Either:

A. Extend inspect to handle local skills. Look up the skill from local ~/.hermes/skills/ first, then fall back to hub registries. Print the same details (frontmatter, body, source, status) regardless of source.

B. Keep inspect hub-only but make the error explicit. Replace the current confusing "not found" message with something like:

'gbrain-operations' is installed locally but `inspect` only queries hub registries.
For local skill details, use `hermes skills view <name>` (or the agent-internal `skill_view` tool).

Better still, surface a hint in hermes skills inspect --help: "Searches hub registries only. For installed local skills, use [whatever]."

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 [Bug]: hermes skills inspect fails for installed local skills with misleading 'not found' error [2 pull requests, 1 participants]