Plugin skill with a namespaced frontmatter `name` gets the plugin prefix applied twice (2.1.216)

Status Open
Reported on v2.1.94
Maintainer reply None cached
Activity 1 comment · opened Jul 23, 2026

What happens

A plugin skill whose frontmatter name already begins with <plugin>: gets the plugin prefix applied a second time, so the slash menu renders a doubled id:

/cadence:cadence:tend
/cadence:cadence:lore

instead of /cadence:tend and /cadence:lore.

Repro

  1. A plugin cadence declaring its skills via "skills": ["./"].
  2. A skill at skills/tend/SKILL.md with frontmatter name: cadence:tend.
  3. Type /cad at the prompt.

Expected: /cadence:tend
Actual: /cadence:cadence:tend

Why this convention existed

This is a regression only against a convention a previous release actively created, which is why it caught a whole plugin ecosystem at once:

  • 2.1.94 — "Plugin skills declared via "skills": ["./"] now use the skill's frontmatter name for the invocation name instead of the directory basename." This made name: cadence:tend render as /cadence:tend, so declaring the fully-qualified id became the natural way to make a skill's source self-documenting and greppable — the file states the id you actually type.
  • 2.1.216 — "Fixed plugin skills with a name frontmatter field losing their plugin prefix in slash-command autocomplete." The prefix is now prepended unconditionally, so an already-prefixed name doubles.

Both changes are individually reasonable. The gap is that 2.1.216 doesn't account for names written against 2.1.94's behavior.

Request

When a plugin skill's frontmatter name already begins with <plugin>:, don't prepend the prefix a second time — treat the declared name as already qualified.

That single check makes both conventions render correctly and costs nothing for the bare-name case. As it stands, every plugin author who adopted the 2.1.94 behavior has a broken slash menu with no in-product signal about why.

Notes

  • Model-side invocation is unaffected — the skill id resolves as plugin:directory either way. This is autocomplete/display only.
  • I've swept my own ecosystem (142 skills across three repos) to bare names, so this isn't blocking me. Filing because other plugin authors on the 2.1.94 convention are stranded the same way and the failure mode is silent.
  • Related: 2.1.218 made agent markdown reject names containing :. If skills are headed for the same restriction, saying so explicitly would help — de-duplication and rejection are both fine outcomes, but the current state (silently accepted, doubled at render) is the worst of the three.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗