github / github/copilot-cli

Feature request: config option to exclude skill scan locations and/or support namespaced skill names (e.g. `ck:name`)

Đang mở
#2,689 0 bình luận 3 reaction 0 người được giao Xem trên GitHub
area:configuration area:plugins
Ngôn ngữ chính
Shell
Star
11.2k
Fork
1.9k
Merge trung bình
14 giờ 16 phút
Pull request đã merge (30 ngày)
6

Mô tả

# Feature Request: Allow excluding skill scan locations and/or support namespaced skill names (e.g., `ck:name`)

## Summary

Two related quality-of-life improvements for skills loading in GitHub Copilot CLI:

1. **A config option to exclude specific skill scan directories** (e.g., `ignoredSkillsLocations`)
2. **Support for namespaced skill names containing `:` (colon)**, such as `ck:agent-browser`

---

## Problem

Copilot CLI auto-scans several hardcoded directories for skills, including `~/.claude/skills` and `~/.agents/skills`. These paths are also used by other AI tools (Claude Code, OpenCode, etc.) which have more permissive skill name validation — they accept names with colons, like `ck:agent-browser`.

When skills stored in `~/.claude/skills` use the `ck:` namespacing convention, Copilot CLI fails to load them with errors like:

```
✖ The following skills failed to load:
• ~/.claude/skills/agent-browser/SKILL.md: name: Skill name must contain only letters, numbers, hyphens, underscores, dots, and spaces
• ~/.claude/skills/code-review/SKILL.md: name: Skill name must contain only letters, numbers, hyphens, underscores, dots, and spaces
... (repeated for every skill in the directory)
```

This produces noisy errors on every Copilot CLI startup — even though the user has no intention of using those skills in Copilot CLI. The errors cannot currently be suppressed:

- `disabledSkills` in `config.json` works by skill *name*, but since these skills **fail to parse**, the name is never registered — so `disabledSkills` cannot silence the errors.
- There is no config key to exclude a directory from scanning.

---

## Proposed Solutions

### Option A — `ignoredSkillsLocations` config key (preferred)

Add a `config.json` key that lists directories to exclude from the auto-scan:

```jsonc
// ~/.copilot/config.json
{
"ignoredSkillsLocations": [
"~/.claude/skills",
"~/.agents/skills"
]
}
```

This gives users full control to opt out of auto-scanning shared directories they use for other tools.

---

### Option B — Allow `:` in skill names (namespace support)

Relax the skill name validation regex to accept colons, enabling namespaced names like `ck:agent-browser`:

**Current regex (inferred):** `^[a-zA-Z0-9\-_. ]+$`
**Proposed regex:** `^[a-zA-Z0-9\-_. :]+$`

This would allow skills shared across multiple AI tools to use a common namespacing convention without modification.

---

### Option C — Both (ideal)

Both options are complementary:
- Option A helps users who want clean separation between tool-specific skill directories.
- Option B helps users who want shared skill libraries with namespaced names to work uniformly across tools.

---

## Current Workaround

Users must either:
- Duplicate and rename skills into `~/.copilot/skills` with modified names (lossy, requires manual sync)
- Accept the noisy startup errors with no way to suppress them

---

## Environment

- Platform: macOS
- Tool: GitHub Copilot CLI
- Related auto-scanned paths: `~/.claude/skills`, `~/.agents/skills`, `~/.copilot/skills`

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu bằng cách lần theo cách config.json được đọc và cách các tệp SKILL.md được phát hiện trong ~/.claude/skills, ~/.agents/skills và ~/.copilot/skills. Kiểm tra việc xác thực tên skill liên quan đến các lỗi đã báo cáo. Được xem là hoàn tất khi có thể loại trừ các thư mục đã chọn và/hoặc các tên như ck:agent-browser không còn tạo ra lỗi tải khi khởi động.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
shell
Lĩnh vực
cli, tooling
Loại issue
Tính năng
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
48/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.