`skill` tool intermittently fails in headless `-p` mode: "No model-invocable skills available"
Chưa có ai nhận issue này.
- 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ả
Describe the bug
In headless ( copilot -p ... ) mode, the skill tool intermittently fails to resolve a skill that is simultaneously listed — with full name and description — in that same request's <available_skills> system-prompt block. The error is not "skill X not found among Y available skills" but the more absolute:
Skill "" not found. No model-invocable skills available.
This indicates the tool-call-time invocable-skill registry is empty even though prompt-construction-time skill discovery succeeded moments earlier in the same process. Failures are intermittent — the same skill succeeds on some invocations and fails on others — and once a failure occurs, subsequent headless invocations (different skills, 6–90s spacing, with/without --available-tools=skill ) keep failing for an extended window (minutes to, in one earlier observation, ~2 days) before recovering. Interactive-mode invocations of the same skills, same environment, succeeded reliably throughout.
Not explained by skill symlink type (tested both relative and absolute symlink targets under ~/.copilot/skills — both fail identically once in a bad window), and the skill has no disable-model-invocation / allow_implicit_invocation: false policy set.
Prior art checked, not duplicates: #4438 and #4451 (skills excluded via disable-model-invocation policy — not applicable here), #4401 ( ~/.agents/skills unsupported discovery path — our skills are under the supported ~/.copilot/skills ).
Affected version
1.0.83
Steps to reproduce the behavior
- Install a user-level skill at ~/.copilot/skills//SKILL.md (supported path, no disable-model-invocation policy).
- Run:
copilot -p "Use the skill tool to load the skill named and report the first 6 words of its description." --no-ask-user --log-level debug --log-dir /tmp/debug - Repeat several times in quick succession (some spaced 6–90s apart).
- Inspect /tmp/debug/process-*.log : the system prompt sent to the model correctly contains the skill under <available_skills> , but the tool-call response for that same skill name is:
Skill "" not found. No model-invocable skills available.
Expected behavior
The invocable-skill registry checked at tool-call time should stay consistent with the skill listing rendered into the system prompt for the same request — a correctly installed, policy-unrestricted, supported-path skill should not intermittently disappear from resolution.
Additional context
• OS: macOS (darwin-arm64)
• Only reproduces in headless -p mode; interactive mode is unaffected
• Impact: automation/headless workflows depending on the skill tool cannot assume it will resolve, even for a correctly installed skill
Reproduced in a fully isolated COPILOT_HOME profile (no custom hooks, no pre-existing skills/config/logs) with a single freshly created test skill — ruling out any local configuration, hook, or skill-content cause.
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện với ~/.copilot/skills//SKILL.md bằng lệnh copilot -p đã được ghi lại và --log-dir /tmp/debug. So sánh khối system-prompt <available_skills> với kết quả gọi công cụ trong /tmp/debug/process-*.log; được xem là hoàn tất khi các Skills được hỗ trợ và không bị policy hạn chế được phân giải nhất quán qua các lần gọi headless lặp lại.
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
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 48/100