diff --git a/internal/skills/registry/registry.go b/internal/skills/registry/registry.go index ae98570fe56..6f27fc15601 100644 --- a/internal/skills/registry/registry.go +++ b/internal/skills/registry/registry.go @@ -299,7 +299,7 @@ var Agents = []AgentHost{ ID: "universal", Name: "Universal", ProjectDir: sharedProjectSkillsDir, - UserDir: ".config/agents/skills", + UserDir: sharedProjectSkillsDir, }, { ID: "warp", diff --git a/internal/skills/registry/registry_test.go b/internal/skills/registry/registry_test.go index b7a8e9a64f5..f3bc0b59596 100644 --- a/internal/skills/registry/registry_test.go +++ b/internal/skills/registry/registry_test.go @@ -125,6 +125,25 @@ func TestInstallDir(t *testing.T) { homeDir: "/home/monalisa", wantDir: filepath.Join("/tmp/monalisa-repo", ".agents", "skills"), }, + { + // Issue #13494: Universal must use the shared .agents/skills dir + // at user scope so compliant clients (Copilot, Pi, OpenCode) pick up + // skills per the agentskills.io cross-client convention. + name: "universal project scope", + hostID: "universal", + scope: ScopeProject, + gitRoot: "/tmp/monalisa-repo", + homeDir: "/home/monalisa", + wantDir: filepath.Join("/tmp/monalisa-repo", ".agents", "skills"), + }, + { + name: "universal user scope", + hostID: "universal", + scope: ScopeUser, + gitRoot: "/tmp/monalisa-repo", + homeDir: "/home/monalisa", + wantDir: filepath.Join("/home/monalisa", ".agents", "skills"), + }, { name: "project scope without git root", hostID: "github-copilot",