NousResearch/hermes-agent
External skills resolving incorrect skill_dir in _load_skill_payload
Cluster 10313. Data as of
Nothing open on GitHub. Fix merged in #10587 on 16 Apr 2026. Check it covers your case.
The short answer
0open issues
0open PRs
3items grouped
- Known?
- Yes. 3 related items grouped here, 1 issue already closed.
- Fix event
- A fix was merged to main in PR #10587. Check it covers your case. No release data is tracked.
- Tracker
- The maintainers' tracker marks this
resolved, deciding PR #10587. That is separate from the fix event. - Still open
- Nothing open on GitHub.
The three members share one theme: _load_skill_payload reportedly rebuilds the wrong skill_dir for skills from skills.external_dirs. One is a bug report and two are fix proposals, one of which uses an absolute skill_dir; titles alone do not show their status or outcome.
Open issues0
Open PRs0
Fixes on record
-
#10587 fix: use absolute skill_dir for external skills
files:
agent/skill_commands.py,tools/skills_tool.pyShow the diff
-
agent/skill_commands.py@@ -72,7 +72,14 @@ def _load_skill_payload(skill_identifier: str, task_id: str | None = None) -> tu skill_name = str(loaded_skill.get("name") or normalized) skill_path = str(loaded_skill.get("path") or "") skill_dir = None - if skill_path: + # Prefer the absolute skill_dir returned by skill_view() — this is + # correct for both local and external skills. Fall back to the old + # SKILLS_DIR-relative reconstruction only when skill_dir is absent + # (e.g. legacy skill_view responses). + abs_skill_dir = loaded_skill.get("skill_dir") + if abs_skill_dir: + skill_dir = Path(abs_skill_dir) + elif skill_path: try: skill_dir = SKILLS_DIR / Path(skill_path).parent except Exception: -
tools/skills_tool.py@@ -1263,6 +1263,7 @@ def skill_view(name: str, file_path: str = None, task_id: str = None) -> str: "related_skills": related_skills, "content": content, "path": rel_path, + "skill_dir": str(skill_dir) if skill_dir else None, "linked_files": linked_files if linked_files else None, "usage_hint": "To view linked files, call skill_view(name, file_path) where file_path is e.g. 'references/api.md' or 'assets/config.yaml'" if linked_files
-
1 PR closed without merging
From the close comments: done elsewhere 1
-
#10348 fix(skills): resolve correct skill_dir for external skills in _load_skill_payload · done elsewhere →
4fdcae6,#10313,#10587
Closed issues · 1
- Closed#10313Bug: _load_skill_payload rebuilds wrong skill_dir for external skills (from skills.external_dirs)
How this cluster was grouped
-
Link evidence (
structural links throughout): every member is connected by structural evidence: shared changed files, or a closing/superseded reference. -
Pairwise link density
0.67: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36.1.00means every pair is linked.
Pick up a Lab task
Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.
Open the LabAt a glance
- Merged PRs
- #10587
- Closed issues
- 1
- Attempts
- 1 PR closed without merging
- Fix link checked
- 16 Apr 2026. This confirmation is old and may be out of date (a revert or reopen would not have invalidated it here); re-verify.