Expose `disableModelInvocation` on `session.skills_loaded` skill entries
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 55/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- java, rust, typescript
- Lĩnh vực
- api, backend-api-design
Hướng nghiên cứu
Bắt đầu với schema sự kiện session.skills_loaded và các kiểu mục nhập theo từng skill, bao gồm SkillsLoadedSkill của Rust và kiểu dữ liệu session.skills_loaded của TypeScript. Sau đó, kiểm tra các cấu trúc discovery liên quan của Skill và ServerSkill, cùng với flag gọi model hiện có của producer. Được xem là hoàn tất khi mọi cấu trúc được liệt kê đều cung cấp disableModelInvocation và producer điền giá trị này bằng flag hiện có, trong khi các giá trị mặc định của producer cũ vẫn là false.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Java
- Star
- 10.5k
- Fork
- 1.5k
- Merge trung bình
- 1 ngày 9 giờ
- Pull request đã merge (30 ngày)
- 131
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.
Issue khác của github/copilot-sdk
-
agentic-workflows
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
github/copilot-sdk#2709 · 1 bình luận ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
github/copilot-sdk#2673 ·
-
bug testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
github/copilot-sdk#2628 ·
-
agentic-workflows
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
github/copilot-sdk#2627 · 1 bình luận ·
-
agentic-workflows
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
github/copilot-sdk#2493 ·
Tất cả issue của github/copilot-sdk
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
elastic/gradle-plugins#157 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
cryptomator/hub#497 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
johanhaleby/occurrent#1120 ·