Expose `disableModelInvocation` on `session.skills_loaded` skill entries
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- java, rust, typescript
- Ambito
- api, backend-api-design
Direzione di ricerca
Inizia dallo schema dell’evento session.skills_loaded e dai tipi di voce per skill, inclusi SkillsLoadedSkill di Rust e il tipo di dati session.skills_loaded di TypeScript. Poi esamina le strutture di discovery correlate di Skill e ServerSkill, nonché il flag esistente di invocazione del modello del producer. Il lavoro è completo quando ogni struttura elencata espone disableModelInvocation e il producer lo valorizza con il flag esistente, mentre i valori predefiniti dei producer precedenti rimangono false.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
The session.skills_loaded event reports each skill's enabled and userInvocable flags, but not its model-invocation flag (the disable-model-invocation frontmatter gate). Please add disableModelInvocation to each skill entry so consumers can tell whether the model may auto-invoke a skill — not just whether the user can invoke it as a slash command.
Why
userInvocable (user slash-command availability) and model-invocability are two independent axes:
userInvocable: true/false— can the user invoke it as a slash command.disableModelInvocation: true/false— may the model auto-invoke it.
A skill can be any combination (user-only, model-only, both). Consumers today only receive userInvocable, so they can't distinguish a model-auto-invoked skill from a user-only one. This matters for:
- Rendering an accurate command palette / skill list (which entries are slash commands vs. silently model-driven).
- Projecting skills into surfaces that have a native model-invocation concept (for example, AHP's
SkillCustomizationalready has adisableModelInvocationfield, which currently can't be populated from this event).
The flag is already part of the skill model — it's used internally to decide whether a skill is visible to the model — so this is a surfacing change, not new behavior.
Current shape
session.skills_loaded skill entries today (camelCase wire):
{
"name": "…",
"description": "…",
"source": "project | inherited | personal-copilot | personal-agents | plugin | custom | builtin",
"path": "…", // optional
"argumentHint": "…", // optional
"enabled": true,
"userInvocable": true
}
Proposed change
Add disableModelInvocation: boolean to each entry:
{
"name": "…",
"description": "…",
"source": "…",
"path": "…",
"argumentHint": "…",
"enabled": true,
"userInvocable": true,
"disableModelInvocation": false // NEW
}
Surfaces to touch:
- The
session.skills_loadedevent schema (the per-skill entry shape). - Generated types in every language target (e.g. the Rust
SkillsLoadedSkilland the TypeScriptsession.skills_loadeddata type). - For consistency, mirror the field onto the related skill API types that also omit it today (the
Skill/ServerSkilldiscovery shapes). - Populate it at the producer from the skill model's existing model-invocation flag.
Backwards compatibility
Additive boolean; existing consumers are unaffected. A sensible default for older producers is false (model invocation allowed), matching the default semantics of the disable-model-invocation frontmatter flag.
- Lingua principale
- Java
- Stelle
- 10.5k
- Fork
- 1.5k
- Merge medio
- 1g 9h
- PR unite (30g)
- 131
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di github/copilot-sdk
-
agentic-workflows
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
github/copilot-sdk#2709 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
github/copilot-sdk#2673 ·
-
bug testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
github/copilot-sdk#2628 ·
-
agentic-workflows
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
github/copilot-sdk#2627 · 1 commento ·
-
agentic-workflows
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
github/copilot-sdk#2493 ·
Tutte le issue di github/copilot-sdk
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
elastic/gradle-plugins#157 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
cryptomator/hub#497 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
johanhaleby/occurrent#1120 ·