Skip to content

feat(coderd/x): add plugin skill source and alias grammar - #29322

Closed
jscottmiller wants to merge 1 commit into
scott/agent-plugins/2-agentcontextfrom
scott/agent-plugins/3-skills
Closed

jscottmiller wants to merge 1 commit into
scott/agent-plugins/2-agentcontextfrom
scott/agent-plugins/3-skills

Conversation

@jscottmiller

@jscottmiller jscottmiller commented Sep 15, 2026 •

Copy link
Copy Markdown
Contributor

tl;dr: Adds a plugin skill source and extends skill aliases so plugin skills can coexist with personal and workspace skills.

skills.MergeSkills accepts 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>, or plugin/<plugin>/<name>) and a bare lookup reports the ambiguity. The fixed plugin/ token keeps a plugin named personal or workspace from colliding with the other sources. QualifiedAlias becomes a method on Skill so lookup and the prompt index agree. chatd passes no plugin source 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 (#29323).

PR map

scott/agent-plugins/2-agentcontext..1505241ff1

Category Files + -
prod (backend) 2 75 27
test (backend) 1 62 4
Total 3 137 31
  1. coderd/x/skills/skills.go (+74/-26, API): SourcePlugin, Skill.PluginName and Skill.QualifiedAlias() (plugin/<plugin>/<name>). MergeSkills takes plugin skills as a SourcePlugin entry, gives every holder of a shared name a qualified alias, and drops plugin skills with no plugin name.
  2. coderd/x/chatd/chattool/skill.go (+1/-1): uses Skill.QualifiedAlias().

This PR was generated by Coder Agents on behalf of @jscottmiller.

@linear-code

linear-code Bot commented Sep 22, 2026

Copy link
Copy Markdown

CODAGT-1101

@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from c675dab to 6e3d97b Compare September 24, 2026 22:10
@jscottmiller jscottmiller added the experimental Changes that might not necessarily be merged, until its approved to proceed with. label Sep 24, 2026
@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from 6e3d97b to cb11f4d Compare September 30, 2026 01:18
@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from cb11f4d to 6c6f268 Compare September 30, 2026 01:33
@jscottmiller jscottmiller removed the experimental Changes that might not necessarily be merged, until its approved to proceed with. label Sep 30, 2026
@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from 6c6f268 to 9ba5c8b Compare September 30, 2026 23:08
@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from b44574d to 1d22c4d Compare October 4, 2026 23:49
@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from 1d22c4d to 1c5c928 Compare October 5, 2026 01:46
@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from 1c5c928 to b8420d4 Compare October 6, 2026 18:47
@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from b8420d4 to 5e9f27c Compare October 6, 2026 19:22
@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from 9f5a92e to cf6efd9 Compare October 6, 2026 21:36
@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from cf6efd9 to 2022da9 Compare October 6, 2026 22:54
@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from 2022da9 to 45f94e4 Compare October 7, 2026 18:53
@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from 45f94e4 to 7cd1e84 Compare October 7, 2026 20:29
@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from 7cd1e84 to c51c7ae Compare October 7, 2026 21:34
@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from c51c7ae to 989ce84 Compare October 8, 2026 01:21
@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from 989ce84 to 5475cae Compare October 8, 2026 16:14
@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from 5475cae to b50a5c0 Compare October 8, 2026 18:52
@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from b50a5c0 to 9f905a5 Compare October 8, 2026 21:32
@jscottmiller
jscottmiller force-pushed the scott/agent-plugins/3-skills branch from 9f905a5 to 1d727b6 Compare October 12, 2026 23:00
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

stale This issue is like stale bread.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants