From 517dae6a938d4efe73f1219873ebcc74cf4febe1 Mon Sep 17 00:00:00 2001 From: Tony <125938283+toller892@users.noreply.github.com> Date: Thu, 18 Jun 2026 16:31:12 +0000 Subject: [PATCH] fix(skills): install universal agent to ~/.agents/skills The Universal agent host installed user-scoped skills to ~/.config/agents/skills, which is not the location scanned by the majority of compliant clients (Copilot CLI, Pi, OpenCode). Per the agentskills.io cross-client convention, user-level skills for compliant clients live under ~/.agents/skills. Switch UserDir for the universal agent to the shared project skills directory constant, matching the convention used by Warp and Cline. Add regression tests for both project and user scope. Fixes #13494 --- internal/skills/registry/registry.go | 2 +- internal/skills/registry/registry_test.go | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) 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",