Add .agents/skills and ~/.config/agent/skills to skills discovery paths#6139
Add .agents/skills and ~/.config/agent/skills to skills discovery paths#6139alexhancock merged 3 commits intoblock:mainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds support for agent-agnostic skill discovery paths to improve cross-agent compatibility. It introduces two new locations where skills can be discovered: .agents/skills for project-specific skills and ~/.config/agent/skills for global user skills.
Key changes:
- Added
.agents/skillsas the highest-priority project skills directory - Added
~/.config/agent/skillsas a global skills directory - Updated extension description to reflect the new
.agents/skillspath
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| crates/goose/src/agents/skills_extension.rs | Adds two new skill discovery paths with priority ordering comments |
| crates/goose/src/agents/extension.rs | Updates the skills extension description to include the new .agents/skills path |
crates/goose/src/agents/extension.rs
Outdated
| PlatformExtensionDef { | ||
| name: skills_extension::EXTENSION_NAME, | ||
| description: "Load and use skills from .claude/skills or .goose/skills directories", | ||
| description: "Load and use skills from .agents/skills, .goose/skills, or .claude/skills directories", |
There was a problem hiding this comment.
The description lists only project directories but omits the global ~/.config/agent/skills path that was also added in this PR. Consider updating to mention both local and global skill directories.
| description: "Load and use skills from .agents/skills, .goose/skills, or .claude/skills directories", | |
| description: "Load and use skills from .agents/skills, .goose/skills, .claude/skills, or the global ~/.config/agent/skills directory", |
There was a problem hiding this comment.
I might make the description more general - like:
Load and use skills from relevant directories
| let mut dirs = Vec::new(); | ||
|
|
||
| if let Some(home) = dirs::home_dir() { | ||
| // Global skills directories (lowest priority first) |
There was a problem hiding this comment.
I don't get the comment here and the one below about priority. Perhaps remove these?
crates/goose/src/agents/extension.rs
Outdated
| PlatformExtensionDef { | ||
| name: skills_extension::EXTENSION_NAME, | ||
| description: "Load and use skills from .claude/skills or .goose/skills directories", | ||
| description: "Load and use skills from .agents/skills, .goose/skills, or .claude/skills directories", |
There was a problem hiding this comment.
I might make the description more general - like:
Load and use skills from relevant directories
Signed-off-by: Joah Gerstenberg <joah@squareup.com>
Removed comments indicating priority of skill directories. Signed-off-by: Joah Gerstenberg <joah@squareup.com>
…s-predefined-models * 'main' of github.com:block/goose: (81 commits) fix: display shell output as static text instead of spinner (#6041) fix : Custom providers with empty API keys show as configured in desktop (#6105) Add .agents/skills and ~/.config/agent/skills to skills discovery paths (#6139) fix: use instructions for system prompt and prompt for user message in subagents (#6121) Fix compaction loop for small models or large input (#5803) feat: Centralize theme management with ThemeContext (#6137) OpenRouter & Xai streaming (#5873) fix: resolve mcp-hermit cleanup path expansion issue (#5953) feat: add goose PR reviewer workflow (#6124) perf: Avoid repeated MCP queries during streaming responses (#6138) Fix YAML serialization for recipes with special characters (#5796) Add more posthog analytics (privacy aware) (#6122) docs: add Sugar MCP server to extensions registry (#6077) Fix tokenState loading on new sessions (#6129) bump bedrock dep versions (#6090) Don't persist ephemeral extensions when resuming sessions (#5974) chore(deps): bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /ui/desktop (#5939) chore(deps): bump node-forge from 1.3.1 to 1.3.2 in /documentation (#5898) Add Scorecard supply-chain security workflow (#5810) Don't show subagent tool when we're a subagent (#6125) ... # Conflicts: # crates/goose/src/providers/formats/databricks.rs
* main: fix: we don't need to warn about tool count when in code mode (#6149) deps: upgrade agent-client-protocol to 0.9.0 (#6109) fix(providers): fix for gemini-cli on windows to work around cmd's multiline prompt limitations #5911 (#5966) More slash commands (#5858) fix: MCP UI not rendering due to CallToolResult structure change (#6143) fix: display shell output as static text instead of spinner (#6041) fix : Custom providers with empty API keys show as configured in desktop (#6105) Add .agents/skills and ~/.config/agent/skills to skills discovery paths (#6139) fix: use instructions for system prompt and prompt for user message in subagents (#6121) Fix compaction loop for small models or large input (#5803) feat: Centralize theme management with ThemeContext (#6137) OpenRouter & Xai streaming (#5873) fix: resolve mcp-hermit cleanup path expansion issue (#5953) feat: add goose PR reviewer workflow (#6124) perf: Avoid repeated MCP queries during streaming responses (#6138) Fix YAML serialization for recipes with special characters (#5796) Add more posthog analytics (privacy aware) (#6122) docs: add Sugar MCP server to extensions registry (#6077)
* origin/main: (57 commits) docs: create/edit recipe button (#6145) fix(google): Fix 400 Bad Request error with Gemini 3 thought signatures (#6035) fix: we don't need to warn about tool count when in code mode (#6149) deps: upgrade agent-client-protocol to 0.9.0 (#6109) fix(providers): fix for gemini-cli on windows to work around cmd's multiline prompt limitations #5911 (#5966) More slash commands (#5858) fix: MCP UI not rendering due to CallToolResult structure change (#6143) fix: display shell output as static text instead of spinner (#6041) fix : Custom providers with empty API keys show as configured in desktop (#6105) Add .agents/skills and ~/.config/agent/skills to skills discovery paths (#6139) fix: use instructions for system prompt and prompt for user message in subagents (#6121) Fix compaction loop for small models or large input (#5803) feat: Centralize theme management with ThemeContext (#6137) OpenRouter & Xai streaming (#5873) fix: resolve mcp-hermit cleanup path expansion issue (#5953) feat: add goose PR reviewer workflow (#6124) perf: Avoid repeated MCP queries during streaming responses (#6138) Fix YAML serialization for recipes with special characters (#5796) Add more posthog analytics (privacy aware) (#6122) docs: add Sugar MCP server to extensions registry (#6077) ...
…icing * 'main' of github.com:block/goose: (35 commits) docs: skills (#6062) fix: add conditional configuration for GOOSE_BIN_DIR in PATH (#5940) Update dependencies to help in Fedora packaging (#5835) fix: make goose reviewer less bad (#6154) docs: create/edit recipe button (#6145) fix(google): Fix 400 Bad Request error with Gemini 3 thought signatures (#6035) fix: we don't need to warn about tool count when in code mode (#6149) deps: upgrade agent-client-protocol to 0.9.0 (#6109) fix(providers): fix for gemini-cli on windows to work around cmd's multiline prompt limitations #5911 (#5966) More slash commands (#5858) fix: MCP UI not rendering due to CallToolResult structure change (#6143) fix: display shell output as static text instead of spinner (#6041) fix : Custom providers with empty API keys show as configured in desktop (#6105) Add .agents/skills and ~/.config/agent/skills to skills discovery paths (#6139) fix: use instructions for system prompt and prompt for user message in subagents (#6121) Fix compaction loop for small models or large input (#5803) feat: Centralize theme management with ThemeContext (#6137) OpenRouter & Xai streaming (#5873) fix: resolve mcp-hermit cleanup path expansion issue (#5953) feat: add goose PR reviewer workflow (#6124) ...
|
|
||
| if let Some(home) = dirs::home_dir() { | ||
| dirs.push(home.join(".claude/skills")); | ||
| dirs.push(home.join(".config/agent/skills")); |
There was a problem hiding this comment.
docs say ~/.config/agents/skills/, plural
Adds support for pulling Agent skills from an agent-agnostic
.agents/skillsproject dir, or a~/.config/agent/skillsglobal dir.