@@ -156,12 +156,12 @@ func TestBuildAgentEntries(t *testing.T) {
156156 require .Contains (t , byName , "claude-code" )
157157 assert .True (t , byName ["claude-code" ].Managed )
158158 assert .Equal (t , "0.2.6" , byName ["claude-code" ].Installed [installer .ScopeGlobal ].Version )
159- assert .Equal (t , "plugin · v0.2.6 · up to date" , agentStatusLabel (byName ["claude-code" ], "0.2.6" ))
159+ assert .Equal (t , "databricks plugin · v0.2.6 · up to date" , agentStatusLabel (byName ["claude-code" ], "0.2.6" ))
160160
161161 require .Contains (t , byName , "codex" )
162162 assert .True (t , byName ["codex" ].Managed )
163163 assert .Equal (t , "0.2.5" , byName ["codex" ].Installed [installer .ScopeGlobal ].Version )
164- assert .Equal (t , "plugin · v0.2.5 · update available" , agentStatusLabel (byName ["codex" ], "0.2.6" ))
164+ assert .Equal (t , "databricks plugin · v0.2.5 · update available" , agentStatusLabel (byName ["codex" ], "0.2.6" ))
165165
166166 // Cursor has no plugin, so it never appears as a plugin agent entry.
167167 assert .NotContains (t , byName , "cursor" )
@@ -194,7 +194,7 @@ func TestBuildAgentEntriesRecordsPerScopeVersions(t *testing.T) {
194194
195195 // The renderer collapses the scopes and surfaces the stale one, rather than
196196 // hiding it behind the up-to-date scope.
197- assert .Equal (t , "plugin · v0.2.5 · update available" , agentStatusLabel (cc , "0.2.6" ))
197+ assert .Equal (t , "databricks plugin · v0.2.5 · update available" , agentStatusLabel (cc , "0.2.6" ))
198198}
199199
200200func TestRenderListJSONScopeFiltersSummary (t * testing.T ) {
@@ -282,7 +282,7 @@ func TestSummaryLinePreservesStatePresence(t *testing.T) {
282282 installer .ScopeProject : {Installed : 0 , Total : 1 , loaded : true },
283283 },
284284 },
285- want : "0/1 skills installed (global), 0/1 (project)" ,
285+ want : "0/1 raw skill directories installed (global), 0/1 (project)" ,
286286 },
287287 {
288288 name : "only project state loaded" ,
@@ -295,7 +295,7 @@ func TestSummaryLinePreservesStatePresence(t *testing.T) {
295295 installer .ScopeProject : {Installed : 0 , Total : 1 , loaded : true },
296296 },
297297 },
298- want : "0/1 skills installed (project)" ,
298+ want : "0/1 raw skill directories installed (project)" ,
299299 },
300300 {
301301 name : "only global state loaded" ,
@@ -308,7 +308,7 @@ func TestSummaryLinePreservesStatePresence(t *testing.T) {
308308 installer .ScopeProject : {Installed : 0 , Total : 1 },
309309 },
310310 },
311- want : "0/1 skills installed (global)" ,
311+ want : "0/1 raw skill directories installed (global)" ,
312312 },
313313 }
314314
@@ -342,7 +342,7 @@ func TestRenderListTextUsesLoadedStateForScopeLabels(t *testing.T) {
342342
343343 got := stderr .String ()
344344 assert .Contains (t , got , "v1.0.0 (up to date) (global)" )
345- assert .Contains (t , got , "1/1 skills installed (global), 0/1 (project)" )
345+ assert .Contains (t , got , "1/1 raw skill directories installed (global), 0/1 (project)" )
346346}
347347
348348func TestRenderListTextGroupsExperimental (t * testing.T ) {
@@ -361,7 +361,7 @@ func TestRenderListTextGroupsExperimental(t *testing.T) {
361361 renderListText (ctx , out , installer .ScopeGlobal )
362362
363363 got := stderr .String ()
364- availIdx := strings .Index (got , "Available skills " )
364+ availIdx := strings .Index (got , "Available raw skill directories " )
365365 expIdx := strings .Index (got , "Experimental skills:" )
366366 require .GreaterOrEqual (t , availIdx , 0 , "available group header present" )
367367 require .GreaterOrEqual (t , expIdx , 0 , "experimental group header present" )
@@ -373,6 +373,38 @@ func TestRenderListTextGroupsExperimental(t *testing.T) {
373373 assert .NotContains (t , got , "[experimental]" )
374374}
375375
376+ func TestRenderListTextShowsPluginInstallsBeforeRawSkills (t * testing.T ) {
377+ ctx , stderr := cmdio .NewTestContextWithStderr (t .Context ())
378+ out := listOutput {
379+ Release : "0.2.6" ,
380+ Skills : []skillEntry {
381+ {Name : "databricks-jobs" , LatestVersion : "1.0.0" , Installed : map [string ]string {}},
382+ },
383+ Summary : map [string ]scopeSummary {
384+ installer .ScopeGlobal : {Installed : 0 , Total : 1 , loaded : true },
385+ },
386+ Agents : []agentEntry {
387+ {
388+ Name : "claude-code" ,
389+ Managed : true ,
390+ Installed : map [string ]pluginInfo {installer .ScopeGlobal : {Version : "0.2.6" , NativeScope : "user" }},
391+ },
392+ },
393+ }
394+
395+ renderListText (ctx , out , installer .ScopeGlobal )
396+
397+ got := stderr .String ()
398+ pluginIdx := strings .Index (got , "Plugin installs:" )
399+ rawIdx := strings .Index (got , "Available raw skill directories" )
400+ require .GreaterOrEqual (t , pluginIdx , 0 )
401+ require .GreaterOrEqual (t , rawIdx , 0 )
402+ assert .Less (t , pluginIdx , rawIdx )
403+ assert .Contains (t , got , "Claude Code" )
404+ assert .Contains (t , got , "databricks plugin · v0.2.6 · up to date" )
405+ assert .Contains (t , got , "0/1 raw skill directories installed (global)" )
406+ }
407+
376408func TestListScopeFlag (t * testing.T ) {
377409 tests := []struct {
378410 name string
0 commit comments