-
Notifications
You must be signed in to change notification settings - Fork 914
Open
Labels
Description
Describe the bug
The /skills list command:
- Only detects skills in real directories
- Ignores skills that are accessed via symlinks
- In the reproduction case above, test-skill is not listed
Real-World Example
Example directory structure:
$ ls -la ~/.copilot/skills/
total 0
drwxr-xr-x 6 user staff 192 19 Jan 01:57 .
drwx------@ 8 user staff 256 18 Jan 15:17 ..
lrwxr-xr-x 1 user staff 50 19 Jan 01:57 skill-a -> /path/to/external/skills/skill-a
lrwxr-xr-x 1 user staff 50 19 Jan 01:57 skill-b -> /path/to/external/skills/skill-b
lrwxr-xr-x 1 user staff 50 19 Jan 01:57 skill-c -> /path/to/external/skills/skill-c
drwxr-xr-x 6 user staff 192 19 Jan 01:26 skill-d
lrwxr-xr-x 1 user staff 50 19 Jan 01:57 skill-e -> /path/to/external/skills/skill-e
All symlinked skills are valid and contain SKILL.md files:
$ find -L ~/.copilot/skills -name "SKILL.md" -type f | sort
./skill-a/SKILL.md
./skill-b/SKILL.md
./skill-c/SKILL.md
./skill-d/SKILL.md
./skill-e/SKILL.md
However, /skills list only shows skill-d (the only real directory).
Affected version
No response
Steps to reproduce the behavior
The /skills list command:
- Only detects skills in real directories
- Ignores skills that are accessed via symlinks
- In the reproduction case above, test-skill is not listed
Real-World Example
Example directory structure:
$ ls -la ~/.copilot/skills/
total 0
drwxr-xr-x 6 user staff 192 19 Jan 01:57 .
drwx------@ 8 user staff 256 18 Jan 15:17 ..
lrwxr-xr-x 1 user staff 50 19 Jan 01:57 skill-a -> /path/to/external/skills/skill-a
lrwxr-xr-x 1 user staff 50 19 Jan 01:57 skill-b -> /path/to/external/skills/skill-b
lrwxr-xr-x 1 user staff 50 19 Jan 01:57 skill-c -> /path/to/external/skills/skill-c
drwxr-xr-x 6 user staff 192 19 Jan 01:26 skill-d
lrwxr-xr-x 1 user staff 50 19 Jan 01:57 skill-e -> /path/to/external/skills/skill-e
All symlinked skills are valid and contain SKILL.md files:
$ find -L ~/.copilot/skills -name "SKILL.md" -type f | sort
./skill-a/SKILL.md
./skill-b/SKILL.md
./skill-c/SKILL.md
./skill-d/SKILL.md
./skill-e/SKILL.md
However, /skills list only shows skill-d (the only real directory).
Expected behavior
/skills list should be able to read and use symlinked skills and not just physical files
Additional context
No response