feat(api): raise skill description cap to 1536 + richer manual description#1190
Merged
Merged
Conversation
… Code) Claude Code truncates the combined `description` (+ optional `when_to_use`) at 1536 chars when deciding whether to auto-invoke a skill (the `skillListingMaxDescChars` default). Our schema capped `description` at 1024, so a description rich enough to use Claude Code's full routing budget could not validate — the only way to ship one was `skip_validation`, which also downgrades every other frontmatter check to best-effort. Raise the cap to 1536 in the api schema (new `SKILL_DESCRIPTION_MAX` constant), the ornn-web mirror schema, and the format-rules text, so a richer description validates normally. Add a boundary test (1536 passes, 1537 fails). Skillset `description` caps are intentionally left at 1024 — different field, different surface. Part of #1180.
With the cap raised to 1536 (prior commit), expand the description to use Claude Code's full routing budget: enumerate the skill triggers (search / pull / run / build / publish / visibility / audit / deprecate / diff / analytics / service-bind / GitHub sync / dist-tags / transfer) AND the skillset triggers (bundle / create / publish / closure / plugin-export / transfer / derived-visibility), plus natural-language phrases. 1472 chars, under the 1536 cap with margin. Double-quoted the YAML value so an embedded colon can never break the frontmatter parse again (the v1.4 regression, #1185). Verified with the API's yaml.parse + validateSkillFrontmatter. Bump 1.4 → 1.5. Part of #1180.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Raises the skill frontmatter
descriptioncap from 1024 → 1536 chars — aligning Ornn with Claude Code's skill-listing truncation limit (skillListingMaxDescChars, default 1536) — and uses that budget for a richer, trigger-orientedornn-agent-manual-clidescription (v1.5).Why
Claude Code routes to a skill by matching its
description, truncating the combineddescription+when_to_useat 1536. Our 1024 cap meant a description rich enough to use that full budget couldn't validate — you had to smuggle it past withskip_validation, which also downgrades all frontmatter checks to best-effort. Raising the cap lets a rich description validate normally.Changes
SKILL_DESCRIPTION_MAX = 1536in the api schema; matched in the ornn-web mirror schema + the format-rules text. Skillset description caps stay at 1024 (different field).ornn-agent-manual-clidescription → rich ~1500-char trigger list (1472 chars), double-quoted so an embedded colon can't re-break the YAML (the [Bug] ornn-agent-manual-cli v1.4 frontmatter fails YAML parse (colon in description) + over 1024 cap #1185 regression). Skill bumped 1.4 → 1.5.Verification
yaml.parse+validateSkillFrontmatteron the new SKILL.md:✓ parse,✓ validate (len 1472).Closes #1189. Follow-up to #1180; hardens against #1185.