`skill` tool intermittently fails in headless `-p` mode: "No model-invocable skills available"
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Shell
- Sterne
- 11.2k
- Forks
- 1.9k
- Ø Merge
- 14 Std. 16 Min.
- Gemergte PRs (30 T.)
- 6
Beschreibung
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.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der Reproduktion anhand von ~/.copilot/skills//SKILL.md unter Verwendung des dokumentierten copilot -p-Befehls und --log-dir /tmp/debug. Vergleiche den <available_skills>-System-Prompt-Block mit den Tool-Call-Ergebnissen in /tmp/debug/process-*.log; abgeschlossen ist dies, wenn unterstützte, richtlinienunbeschränkte Skills bei wiederholten Headless-Aufrufen konsistent aufgelöst werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- shell
- Bereich
- cli
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Aktiv
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100