diff --git a/cli/internal/tui/capability_pages.go b/cli/internal/tui/capability_pages.go index 207c34f5..89c02c12 100644 --- a/cli/internal/tui/capability_pages.go +++ b/cli/internal/tui/capability_pages.go @@ -121,7 +121,7 @@ func mcpItems(home string) ([]capabilityItem, error) { // the daemon's prepared catalog remains authoritative after a reload. func discoverSkills(home, workspace string) ([]capabilityItem, error) { userHome, _ := os.UserHomeDir() - roots := []string{filepath.Join(workspace, ".albedo", "skills"), filepath.Join(workspace, ".agents", "skills"), filepath.Join(userHome, ".albedo", "skills"), filepath.Join(userHome, ".agents", "skills"), filepath.Join(userHome, ".prime", "agent", "skills")} + roots := []string{filepath.Join(workspace, ".albedo", "skills"), filepath.Join(workspace, ".agents", "skills"), filepath.Join(userHome, ".albedo", "skills"), filepath.Join(userHome, ".agents", "skills")} seen := map[string]bool{} var items []capabilityItem for _, root := range roots { diff --git a/robot-docs/skills.md b/robot-docs/skills.md index e4d9dc21..63e52be5 100644 --- a/robot-docs/skills.md +++ b/robot-docs/skills.md @@ -10,11 +10,10 @@ The extension scans immediate child directories in this order: 2. `/.agents/skills` 3. `~/.albedo/skills` 4. `~/.agents/skills` -5. `~/.prime/agent/skills` A valid workspace skill wins over a user skill with the same frontmatter `name`. Earlier roots win within the same scope. Entries and the final catalog are sorted deterministically. Invalid metadata and collisions appear as bounded catalog diagnostics rather than disappearing silently. -`.agents/skills` is the portable Agent Skills location. `.albedo/skills` is the Albedo-native location. `~/.prime/agent/skills` provides compatibility with skills already installed for Prime Agent. +`.agents/skills` is the portable Agent Skills location. `.albedo/skills` is the Albedo-native location. Each immediate child must contain a regular `SKILL.md`. Its parent directory and frontmatter `name` must match. Albedo requires the specification's `name` and `description` fields and accepts the optional `license`, `compatibility`, `metadata`, and `allowed-tools` fields. Optional fields are not advertised eagerly. YAML folded and multiline descriptions are supported through `yamerl`'s failsafe schema. diff --git a/src/albedo/harness/extensions/skills/albedo_skills.erl b/src/albedo/harness/extensions/skills/albedo_skills.erl index 0cc819ba..6db51bb6 100644 --- a/src/albedo/harness/extensions/skills/albedo_skills.erl +++ b/src/albedo/harness/extensions/skills/albedo_skills.erl @@ -150,8 +150,7 @@ roots(Workspace, Home) -> User = case Home of [] -> []; _ -> [filename:join([Home, ".albedo", "skills"]), - filename:join([Home, ".agents", "skills"]), - filename:join([Home, ".prime", "agent", "skills"])] + filename:join([Home, ".agents", "skills"])] end, Project ++ User.