Summary
plugins/playbooks/skills/boris/ contains two SKILL.md files that both resolve to the skill name boris, and the nested one carries by far the largest description in the entire marketplace.
Evidence
plugins/playbooks/skills/boris/SKILL.md <- no `name:` field; falls back to dir name "boris"
plugins/playbooks/skills/boris/vendor/SKILL.md <- frontmatter `name: boris`
boris/vendor/ contains nothing but SKILL.md — no scripts, no reference files. It reads as a vendored copy of the upstream skill that was committed alongside the adapted one.
Collision. Per Extend Claude with skills, a plugin skill's command name comes from the frontmatter name field, and a personal/project skill's from its directory. Both files here land on boris. Which definition wins follows directory-read order, so it can differ between machines.
Size. The vendored file's description is a YAML block scalar measuring 5,484 characters:
|
chars |
boris/vendor/SKILL.md description |
5,484 |
Claude Code listing cap per entry (skillListingMaxDescChars default) |
1,536 |
Agent Skills spec max for description |
1,024 |
| Marketplace mean |
752 |
It is the only skill in the fleet over the 1,536-char listing cap, and it is 3.6x over it. It is also 5.4x the 1,024-char maximum the Agent Skills spec states for the field ("description: Must be non-empty, Maximum 1,024 characters").
The description also contains PROACTIVE MODE / BROWSE MODE behavioral instructions. Those are body content — the description field is metadata used for selection, and it is truncated in the listing anyway, so instructions placed there may never reach the model intact.
Proposed fix
Delete plugins/playbooks/skills/boris/vendor/. The adapted boris/SKILL.md already has a proper description + when_to_use pair (a combined ~200 chars) and is the one intended to ship.
If the vendored copy must be retained for provenance, move it out of the skills/ tree entirely (for example plugins/playbooks/reference/boris-upstream.md) so it is not discovered as a skill.
Acceptance criteria
Related
Part of the fleet-wide listing-budget problem in #3505, but independently actionable and much smaller.
Sources
Summary
plugins/playbooks/skills/boris/contains two SKILL.md files that both resolve to the skill nameboris, and the nested one carries by far the largest description in the entire marketplace.Evidence
boris/vendor/contains nothing butSKILL.md— no scripts, no reference files. It reads as a vendored copy of the upstream skill that was committed alongside the adapted one.Collision. Per Extend Claude with skills, a plugin skill's command name comes from the frontmatter
namefield, and a personal/project skill's from its directory. Both files here land onboris. Which definition wins follows directory-read order, so it can differ between machines.Size. The vendored file's
descriptionis a YAML block scalar measuring 5,484 characters:boris/vendor/SKILL.mddescriptionskillListingMaxDescCharsdefault)descriptionIt is the only skill in the fleet over the 1,536-char listing cap, and it is 3.6x over it. It is also 5.4x the 1,024-char maximum the Agent Skills spec states for the field ("
description: Must be non-empty, Maximum 1,024 characters").The description also contains PROACTIVE MODE / BROWSE MODE behavioral instructions. Those are body content — the description field is metadata used for selection, and it is truncated in the listing anyway, so instructions placed there may never reach the model intact.
Proposed fix
Delete
plugins/playbooks/skills/boris/vendor/. The adaptedboris/SKILL.mdalready has a properdescription+when_to_usepair (a combined ~200 chars) and is the one intended to ship.If the vendored copy must be retained for provenance, move it out of the
skills/tree entirely (for exampleplugins/playbooks/reference/boris-upstream.md) so it is not discovered as a skill.Acceptance criteria
boriswithin theplaybooksplugin.skills/directory has adescriptionover 1,024 chars.claude plugin validate plugins/playbooksreports no name collisions.Related
Part of the fleet-wide listing-budget problem in #3505, but independently actionable and much smaller.
Sources
skillListingMaxDescChars, skill name resolution)