Define portable component identities for multi-plugin loading #43
LangSensei
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 v1 defines how to discover skills and MCP servers within one plugin, but does not define how a client identifies those components when multiple plugins are loaded in the same session or installation scope.
For example, both plugins may validly provide:
skills/deploy/SKILL.mdgithubThe current specification does not define whether clients should allow both, how they should report the components, or how a client should avoid one silently shadowing the other.
This is a portability issue rather than only a UI issue: a plugin author cannot reliably identify a component across conforming clients once another plugin uses the same local component name.
Related: #6 proposes
{plugin-name}:{component-name}for component invocation.Proposed direction
Define a stable, portable component identity for clients that load more than one plugin in a common scope:
<plugin-name>:<component-name>Suggested component names:
skills/mcp.jsonmcpServersA client MAY provide an unqualified alias, fuzzy search, natural-language selection, or another native presentation. If an unqualified name is ambiguous, it must not silently select an unrelated component.
This proposal does not require every client to expose slash commands, mandate a particular UI, or change MCP protocol tool names. It only defines the portable identity and conflict boundary for discovered components.
Questions
plugin-name:component-namethe right canonical form?namefor this layer?All reactions