Replies: 1 comment
-
|
Additional finding: SKILL.md body size also silently prevents activation We found that skill.invoked never fires for a skill whose SKILL.md body is 8,450 estimated tokens (57 KB), even with 15+ keyword overlaps in the prompt. After splitting the same content into two skills (~3,500 and ~5,270 tokens), both activate correctly. The agentskills.io spec says "< 5000 tokens recommended" under Progressive Disclosure but doesn't mention enforcement. The exact cutoff is somewhere between 5,270 and 8,450 tokens — we couldn't narrow it further. This is the same silent-rejection pattern as #3494 (description > 1024 chars silently dropped). Could the body-size threshold be documented, and ideally logged as a warning when a skill exceeds it? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Environment
1.0.36-0github_copilot_sdk==0.3.0Question
The SDK's
SessionEventTypeenum definesSESSION_SKILLS_LOADED = "session.skills_loaded"with payloadSessionSkillsLoadedData(skills: list[SkillsLoadedSkill]), matching the shape returned bysession.skills.list(). The schema has no docstring on the firing condition.In our environment the event never fires. We verified this across many sessions and by
grep -r '"type":\s*"session.skills_loaded"' ~/.copilot/session-state/**/events.jsonl(zero hits).When is this event intended to fire?
skills.list()is internally populated?session.skills.enable(...)/disable(...)/reload()?skill_directories?Why it matters
We're a host integration that needs to keep a UI "active skills" indicator in sync with the SDK's view of the world. We've worked around the absence of this event by combining:
SKILL_INVOKED(fires only on explicit/skillinvocation, well-documented)EXTERNAL_TOOL_REQUESTEDvia our own tool→domain map…but a confirmed authoritative event would let us replace the inference path with a pull from
skills.list()triggered bysession.skills_loaded.If the event is intended to fire and isn't, we're happy to file a follow-up bug with this discussion linked. If it's by design (e.g. only fires in a CLI mode we haven't enabled), a docstring or docs note clarifying that would be very helpful.
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions