hermes - 💡(How to fix) Fix [Bug]: skill_view falsely reports collision when another skill has an asset file with the same name [3 pull requests]

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…

Error Message

"error": "Ambiguous skill name 'notion': 3 skills match across your local skills dir and external_dirs.

Fix Action

Fixed

Code Example

WARNING tools.skills_tool: Skill name collision for 'notion': 3 candidates —
/skills/productivity/notion/SKILL.md;
/skills/creative/popular-web-designs/templates/notion.md;
/skills/creative/baoyu-article-illustrator/references/styles/notion.md

{"success": false,
 "error": "Ambiguous skill name 'notion': 3 skills match across your local skills dir and external_dirs.
           Refusing to guess — load one explicitly by its categorized path."}

---

for found_md in search_dir.rglob(f"{name}.md"):
    if found_md.name != "SKILL.md":
        is_internal_asset = False
        for ancestor in found_md.parents:
            if ancestor == search_dir:
                break
            if (ancestor / "SKILL.md").exists():
                is_internal_asset = True
                break
        if is_internal_asset:
            continue
        _record(None, found_md)
RAW_BUFFERClick to expand / collapse

Bug Description

tools/skills_tool.py's skill_view Strategy 3 (search_dir.rglob(f"{name}.md")) doesn't distinguish between top-level flat-named skills and .md files that are internal assets of another skill (e.g. templates/, references/). When an asset filename happens to overlap with another skill's name, skill_view falsely reports an ambiguous collision.

Reproducible out-of-the-box with default bundled skills on v0.15.1: skill_view notion returns 3 candidates although only one (productivity/notion) is an actual skill — the other two are owned by popular-web-designs and baoyu-article-illustrator respectively.

Steps to Reproduce

  1. Fresh install with bundled skills (v0.15.1).
  2. In hermes chat, prompt the agent to use the Notion skill (or call skill_view directly with name="notion").
  3. Tool returns Ambiguous skill name 'notion': 3 skills match.

Expected Behavior

skill_view notion resolves to productivity/notion/SKILL.md. .md files inside another skill's tree are not considered standalone skill candidates.

Actual Behavior

WARNING tools.skills_tool: Skill name collision for 'notion': 3 candidates —
  …/skills/productivity/notion/SKILL.md;
  …/skills/creative/popular-web-designs/templates/notion.md;
  …/skills/creative/baoyu-article-illustrator/references/styles/notion.md

{"success": false,
 "error": "Ambiguous skill name 'notion': 3 skills match across your local skills dir and external_dirs.
           Refusing to guess — load one explicitly by its categorized path."}

Proposed Fix

In Strategy 3, skip any candidate whose ancestor (above search_dir) contains a SKILL.md — those are assets of another skill, not standalone skills:

for found_md in search_dir.rglob(f"{name}.md"):
    if found_md.name != "SKILL.md":
        is_internal_asset = False
        for ancestor in found_md.parents:
            if ancestor == search_dir:
                break
            if (ancestor / "SKILL.md").exists():
                is_internal_asset = True
                break
        if is_internal_asset:
            continue
        _record(None, found_md)

Verified locally on v0.15.1: notion resolves cleanly to productivity/notion; Strategies 1, 1b, 2 unaffected; top-level flat .md files directly under search_dir are still recorded.

Environment

Hermes Agent v0.15.1 · macOS · Python 3.11.15

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 - 💡(How to fix) Fix [Bug]: skill_view falsely reports collision when another skill has an asset file with the same name [3 pull requests]