Repository navigation
Proposal: portable qualified names for plugin skills (<plugin>:<skill>) and ambiguity behavior #95
danielmeppiel
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Problem
Agent Plugins 1.1.0 standardizes how a plugin supplies skills, but not how a client names a plugin's skill once it is loaded. When two installed plugins each ship a skill with the same
name, each client resolves it differently. As a result, authors cannot write portable instructions such as "use thereviewskill from pluginalpha".Agent Skills requires
nameto match the skill's directory name. Package managers and installers therefore cannot safely disambiguate by renaming skills; that would break the Agent Skills contract and the author's own references. Namespacing has to come from the plugin layer.Current behavior varies
The following comparison was reported with the same two plugins in github/copilot-cli#5249 (2026-10-23):
alpha:uniquealpha:shared,beta:sharedalpha:uniquealpha:shared,beta:shared/alpha:uniquefor slash commandsalpha:shared,beta:shareduniqueSeveral clients already converge on
<plugin>:<skill>, but the behavior is not specified, so authors and installers cannot rely on it.Proposal (for discussion)
<plugin-name>:<skill-name>, where<plugin-name>is the manifestnameand<skill-name>is the Agent Skillsname. Clients MUST accept the qualified name everywhere they accept a skill name (user invocation and model-facing tools).<skill-name>when it is unambiguous. When it is ambiguous, they MUST NOT silently pick or drop a copy; they MUST require the qualified name.nameor directory to achieve uniqueness.Who hits this
APM will follow whatever qualified-name contract the specification adopts and will not invent its own prefixing.
Related: agentskills/agentskills#656, github/copilot-cli#5249, github/copilot-cli#1766.
All reactions