-
Notifications
You must be signed in to change notification settings - Fork 181
docs: document .agents/skills/ paths for cross-tool compatibility #534
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
The
Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues. |
| When skills with the same name exist in multiple locations, this priority applies. The ordering evaluates project vs global first, then `.roo/` vs `.agents/` within each source, then mode-specific vs generic: | ||
|
|
||
| 1. **Project mode-specific** (`.roo/skills-code/my-skill/`) | ||
| 2. **Project generic** (`.roo/skills/my-skill/`) | ||
| 3. **Global mode-specific** (`~/.roo/skills-code/my-skill/`) | ||
| 4. **Global generic** (`~/.roo/skills/my-skill/`) | ||
| 1. **Project `.roo/` mode-specific** (`.roo/skills-code/my-skill/`) — highest priority | ||
| 2. **Project `.roo/` generic** (`.roo/skills/my-skill/`) | ||
| 3. **Project `.agents/` mode-specific** (`.agents/skills-code/my-skill/`) | ||
| 4. **Project `.agents/` generic** (`.agents/skills/my-skill/`) | ||
| 5. **Global `.roo/` mode-specific** (`~/.roo/skills-code/my-skill/`) | ||
| 6. **Global `.roo/` generic** (`~/.roo/skills/my-skill/`) | ||
| 7. **Global `.agents/` mode-specific** (`~/.agents/skills-code/my-skill/`) | ||
| 8. **Global `.agents/` generic** (`~/.agents/skills/my-skill/`) — lowest priority | ||
|
|
||
| This means a **project generic** skill overrides a **global mode-specific** skill—project location takes precedence over mode specificity. | ||
| This means: | ||
| - **Project** always overrides **global** at any prefix | ||
| - **`.roo/`** always overrides **`.agents/`** at the same level |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The 8-level priority list and the three bullet points below it don't match the actual shouldOverrideSkill() implementation in SkillsManager.ts. The resolution logic checks source level first (project > global), then mode-specificity within the same source -- it does not distinguish .roo/ from .agents/ during resolution at all. The .roo/ vs .agents/ replacement only happens during discovery when both exist at the same source + mode level (via scan-order in getSkillsDirectories). This means a project .agents/ mode-specific skill actually beats a project .roo/ generic skill, because shouldOverrideSkill sees them as same-source and mode-specific wins. The correct order should be:
| When skills with the same name exist in multiple locations, this priority applies. The ordering evaluates project vs global first, then `.roo/` vs `.agents/` within each source, then mode-specific vs generic: | |
| 1. **Project mode-specific** (`.roo/skills-code/my-skill/`) | |
| 2. **Project generic** (`.roo/skills/my-skill/`) | |
| 3. **Global mode-specific** (`~/.roo/skills-code/my-skill/`) | |
| 4. **Global generic** (`~/.roo/skills/my-skill/`) | |
| 1. **Project `.roo/` mode-specific** (`.roo/skills-code/my-skill/`) — highest priority | |
| 2. **Project `.roo/` generic** (`.roo/skills/my-skill/`) | |
| 3. **Project `.agents/` mode-specific** (`.agents/skills-code/my-skill/`) | |
| 4. **Project `.agents/` generic** (`.agents/skills/my-skill/`) | |
| 5. **Global `.roo/` mode-specific** (`~/.roo/skills-code/my-skill/`) | |
| 6. **Global `.roo/` generic** (`~/.roo/skills/my-skill/`) | |
| 7. **Global `.agents/` mode-specific** (`~/.agents/skills-code/my-skill/`) | |
| 8. **Global `.agents/` generic** (`~/.agents/skills/my-skill/`) — lowest priority | |
| This means a **project generic** skill overrides a **global mode-specific** skill—project location takes precedence over mode specificity. | |
| This means: | |
| - **Project** always overrides **global** at any prefix | |
| - **`.roo/`** always overrides **`.agents/`** at the same level | |
| When skills with the same name exist in multiple locations, this priority applies. The ordering evaluates project vs global first, then mode-specific vs generic within each source, then `.roo/` vs `.agents/` within each source and specificity: | |
| 1. **Project `.roo/` mode-specific** (`.roo/skills-code/my-skill/`) — highest priority | |
| 2. **Project `.agents/` mode-specific** (`.agents/skills-code/my-skill/`) | |
| 3. **Project `.roo/` generic** (`.roo/skills/my-skill/`) | |
| 4. **Project `.agents/` generic** (`.agents/skills/my-skill/`) | |
| 5. **Global `.roo/` mode-specific** (`~/.roo/skills-code/my-skill/`) | |
| 6. **Global `.agents/` mode-specific** (`~/.agents/skills-code/my-skill/`) | |
| 7. **Global `.roo/` generic** (`~/.roo/skills/my-skill/`) | |
| 8. **Global `.agents/` generic** (`~/.agents/skills/my-skill/`) — lowest priority | |
| This means: | |
| - **Project** always overrides **global** at any prefix | |
| - **Mode-specific** overrides **generic** within the same source level (regardless of prefix) | |
| - **`.roo/`** overrides **`.agents/`** at the same source level and same mode specificity |
Fix it with Roo Code or mention @roomote and request a fix.
This PR attempts to address RooCodeInc/Roo-Code#11368. Feedback and guidance are welcome.
Summary
The
.agents/skills/directory support was implemented in Roo Code v3.47.2 (via PR #11181) but the skills documentation only references.roo/skills/paths. This PR updates the docs to cover the.agents/skills/paths.Changes
Updates
docs/features/skills.mdxto document:.agents/skills/as an alternative project-level skill location (shared across AI tools)~/.agents/skills/as an alternative global skill location.agents/skills-{mode}/and~/.agents/skills-{mode}/for mode-specific variants.roo/takes precedence over.agents/at the same level).agents/vs.roo/Context
Multiple AI coding tools have adopted the
.agents/convention per the Agent Skills standard. Documenting this helps users who work across tools understand they can share skills without moving files or creating symlinks.Important
Updates
docs/features/skills.mdxto document.agents/skills/paths for cross-tool compatibility and explains their priority over.roo/skills/..agents/skills/and~/.agents/skills/paths todocs/features/skills.mdxfor cross-tool compatibility..roo/paths take precedence over.agents/paths..roo/and.agents/paths..agents/skills/paths as per the Agent Skills standard..agents/skills/vs.roo/skills/..roo/and.agents/paths.This description was created by
for 4576b48. You can customize this summary. It will automatically update as commits are pushed.