Files
hermes-agent/tools
yu-xin-c a24d7382d3 fix(skills): list and prompt index advertise only names skill_view loads
skills_list / `hermes skills list` kept the first copy of a duplicated name, the
prompt index listed every copy under the same bare name, and skill_view refused
that name — so the model was told to load identifiers that could never load.

Add agent/skill_utils.resolve_skill_catalog(): every scanned skill is matched
against the aliases skill_view accepts (declared name, directory name, path
relative to its root) and the shared pick_skill_candidate() rule, yielding a
status (unique / ambiguous / shadowed) and the exact load_name. The list
(tools/skills_tool._skill_catalog -> _find_all_skills, `hermes skills list`) and
the prompt index (project, local, create_dir and external roots resolved
together) both render load_name: a same-tier duplicate appears as `a/one`,
`b/two`; a shadowed lower-tier copy is hidden with a one-time warning; a copy
whose name AND path are both shared is omitted with a rename note. `hermes
skills list` also labels project / create_dir / external rows instead of
"local". Prompt snapshot version bumped to 4 (entries gain `rel`); ordering
stays deterministic.

Rebuilt from ef3d8ba385e (#64462) onto current main: the resolver keeps the
original alias-ownership design, adds tier precedence, and runs over the
refactored prompt_builder collection path.
2026-10-04 02:54:56 +05:30
..