Repository navigation
feat(coderd/x): add plugin skill source and alias grammar - #29322
Closed
jscottmiller wants to merge 1 commit into
Closed
jscottmiller wants to merge 1 commit into
jscottmiller wants to merge 1 commit into
Conversation
This was referenced Sep 15, 2026
This was referenced Sep 15, 2026
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
September 15, 2026 01:22
c282178 to
d61cd48
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
September 15, 2026 17:53
d61cd48 to
f911ee4
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
September 17, 2026 21:16
f911ee4 to
b905834
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
September 17, 2026 21:33
b905834 to
c675dab
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
September 24, 2026 22:10
c675dab to
6e3d97b
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
September 30, 2026 01:18
6e3d97b to
cb11f4d
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
September 30, 2026 01:33
cb11f4d to
6c6f268
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
September 30, 2026 23:08
6c6f268 to
9ba5c8b
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
October 4, 2026 23:49
b44574d to
1d22c4d
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
October 5, 2026 01:46
1d22c4d to
1c5c928
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
October 6, 2026 18:47
1c5c928 to
b8420d4
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
October 6, 2026 19:22
b8420d4 to
5e9f27c
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
October 6, 2026 21:36
9f5a92e to
cf6efd9
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
October 6, 2026 22:54
cf6efd9 to
2022da9
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
October 7, 2026 18:53
2022da9 to
45f94e4
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
October 7, 2026 20:29
45f94e4 to
7cd1e84
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
October 7, 2026 21:34
7cd1e84 to
c51c7ae
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
October 8, 2026 01:21
c51c7ae to
989ce84
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
October 8, 2026 16:14
989ce84 to
5475cae
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
October 8, 2026 18:52
5475cae to
b50a5c0
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
October 8, 2026 21:32
b50a5c0 to
9f905a5
Compare
jscottmiller
force-pushed
the
scott/agent-plugins/3-skills
branch
from
October 12, 2026 23:00
9f905a5 to
1d727b6
Compare
ibetitsmike
approved these changes
Oct 13, 2026
Adds skills.SourcePlugin and Skill.PluginName for skills shipped inside an Agent Plugin. MergeSkills accepts a SourcePlugin group whose identity is the (plugin, name) pair, so distinct plugins may each ship a skill of the same name. A name held by one skill keeps a bare alias; when several skills share a name every holder gets its qualified alias (personal/<name>, workspace/<name>, plugin/<plugin>/<name>) in a fixed order, and Lookup keeps reporting a bare match as ambiguous. The fixed plugin/ source token keeps plugin names such as "personal" or "workspace" from colliding with the other sources. A plugin skill with no plugin name is dropped. QualifiedAlias becomes a method on Skill so both Lookup and the prompt index derive the plugin form the same way. chatd passes no plugin group yet: with agent-plugins enabled, plugin skill rows reach MergeSkills as workspace skills, so same-named skills from different plugins collapse to one until chatd carries the plugin name.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
tl;dr: Adds a plugin skill source and extends skill aliases so plugin skills can coexist with personal and workspace skills.
skills.MergeSkillsaccepts plugin skills identified by(plugin, name), so two plugins may ship same-named skills. A unique name keeps its bare alias; on a collision every holder gets a qualified alias (personal/<name>,workspace/<name>, orplugin/<plugin>/<name>) and a bare lookup reports the ambiguity. The fixedplugin/token keeps a plugin namedpersonalorworkspacefrom colliding with the other sources.QualifiedAliasbecomes a method onSkillso lookup and the prompt index agree. chatd passes no plugin source yet: with agent-plugins enabled, plugin skill rows reachMergeSkillsas workspace skills, so same-named skills from different plugins collapse to one until chatd carries the plugin name (#29323).PR map
scott/agent-plugins/2-agentcontext..1505241ff1coderd/x/skills/skills.go(+74/-26, API):SourcePlugin,Skill.PluginNameandSkill.QualifiedAlias()(plugin/<plugin>/<name>).MergeSkillstakes plugin skills as aSourcePluginentry, gives every holder of a shared name a qualified alias, and drops plugin skills with no plugin name.coderd/x/chatd/chattool/skill.go(+1/-1): usesSkill.QualifiedAlias().This PR was generated by Coder Agents on behalf of @jscottmiller.