Skill name mismatch between frontmatter and directory name
Cluster 11777 · gateway. Data as of
2 open items. Fix merged in #11853 on 18 Apr 2026. Check it covers your case.
The short answer
- Known?
- Yes. 10 related items grouped here, 3 issues already closed.
- Fix event
- A fix was merged to main in PR #11853. Check it covers your case. No release data is tracked.
- Tracker
- The maintainers' tracker marks this
partially resolved, deciding PR #11853. That is separate from the fix event. - Still open
- 1 issue and 1 PR.
Next step: read #11853, then check whether your report is the one still open.
Read #11853Pick up a Lab taskMost members concern skills being listed or indexed by one name (frontmatter) but looked up or created by another (directory name), affecting skill_view, skills_list, and the system prompt index. One member, an automated '7 identified issues' fix, is not clearly tied to this theme.
Open issues1
- Issue#21782[Bug]: `_create_skill` / `_edit_skill` allow frontmatter `name` to diverge from directory name
Open PRs1
- PR#18337fix: resolve 7 identified issues [automated]
Fixes on record
-
#11853 fix(skills): use frontmatter name in skills index instead of directory name
files:
agent/prompt_builder.pyShow the diff
-
agent/prompt_builder.py@@ -654,7 +654,7 @@ def build_skills_system_prompt( ): continue skills_by_category.setdefault(category, []).append( - (skill_name, entry.get("description", "")) + (frontmatter_name, entry.get("description", "")) ) category_descriptions = { str(k): str(v) @@ -679,7 +679,7 @@ def build_skills_system_prompt( ): continue skills_by_category.setdefault(entry["category"], []).append( - (skill_name, entry["description"]) + (entry["frontmatter_name"], entry["description"]) ) # Read category-level DESCRIPTION.md files @@ -722,9 +722,10 @@ def build_skills_system_prompt( continue entry = _build_snapshot_entry(skill_file, ext_dir, frontmatter, desc) skill_name = entry["skill_name"] - if skill_name in seen_skill_names: + frontmatter_name = entry["frontmatter_name"] + if frontmatter_name in seen_skill_names: continue - if entry["frontmatter_name"] in disabled or skill_name in disabled: + if frontmatter_name in disabled or skill_name in disabled: continue if not _skill_should_show( extract_skill_conditions(frontmatter), @@ -732,9 +733,9 @@ def build_skills_system_prompt( available_toolsets, ): continue - seen_skill_names.add(skill_name) + seen_skill_names.add(frontmatter_name) skills_by_category.setdefault(entry["category"], []).append( - (skill_name, entry["description"]) + (frontmatter_name, entry["description"]) ) except Exception as e: logger.debug("Error reading external skill %s: %s", skill_file, e)
-
4 PRs closed without merging
From the close comments: done elsewhere 1 · duplicate 1 · superseded by another PR 1 · other 1
-
#17918 fix(skills): resolve skill_view by frontmatter name · other →
#18337,#17914 -
#18879 fix(skills): skill_view fallback to frontmatter name lookup (fixes #18872) · superseded by another PR →
#18901 -
#18901 fix(skills): add frontmatter-name fallback in skill_view to resolve name mismatch · done elsewhere →
9caa12f -
#21815 fix(skills): prevent frontmatter name from diverging from directory name · duplicate →
#21806,#21782
Closed issues · 3
- Closed#11777[Bug]: System prompt skills index uses directory names instead of frontmatter names, breaking skill routing
- Closed#17914skill_view resolves by directory name but skills_list displays frontmatter name — mismatch causes 'not found'
- Closed#18872[Bug]: skill_view/skills_list name mismatch breaks agent tool-calling loop — model can't load skills it discovers
How this cluster was grouped
-
Link evidence (
partly structural links): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text. - Members outside that structural core may belong to a different underlying problem.
-
Pairwise link density
0.18: 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
- Subsystem
- gateway
- Merged PRs
- #11853
- Closed issues
- 3
- Attempts
- 4 PRs closed without merging
- Fix link checked
- 18 Apr 2026. This confirmation is old and may be out of date (a revert or reopen would not have invalidated it here); re-verify.