Tencent/WeKnora · error
skill description is %d characters; maximum is %d
Error message
skill description is %d characters; maximum is %d
What it means
Length guard in Skill.Validate: the skill's Description exceeds MaxDescriptionLength runes per the Claude skill spec. The description must be shortened; the message reports the actual and maximum rune counts.
Source
Thrown at internal/agent/skills/skill.go:107
}
if !namePattern.MatchString(s.Name) {
return errors.New("skill name must contain only letters, numbers, hyphens, and underscores")
}
for _, reserved := range reservedWords {
if strings.Contains(s.Name, reserved) {
return fmt.Errorf("skill name cannot contain reserved word: %s", reserved)
}
}
if xmlTagPattern.MatchString(s.Name) {
return errors.New("skill name cannot contain XML tags")
}
// Validate description
if s.Description == "" {
return errors.New("skill description is required")
}
if n := utf8.RuneCountInString(s.Description); n > MaxDescriptionLength {
return fmt.Errorf("skill description is %d characters; maximum is %d", n, MaxDescriptionLength)
}
if xmlTagPattern.MatchString(s.Description) {
return errors.New("skill description cannot contain XML tags")
}
return nil
}
// applyInstallName picks the directory / tool identity. Third-party SKILL.md
// files often put a display title in name ("Word / DOCX") and a kebab-case
// id in slug ("word-docx"). A title that is already a valid identity is
// left alone so Chinese names such as 律师助手 stay as-is.
func (s *Skill) applyInstallName() error {
if s == nil {
return errors.New("skill name is required")
}
if installableSkillName(s.Name) {
s.Name = strings.TrimSpace(s.Name)View on GitHub (pinned to 988cbb0330)
Solutions
- Shorten the frontmatter `description` to within MaxDescriptionLength characters
- Move long usage detail into the SKILL.md body instead of the description
- Validate the frontmatter locally before shipping the skill
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at internal/agent/skills/skill.go:107 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Tencent/WeKnora@988cbb0330 (2026-09-02).
Data as JSON: /api/errors/c311bc521685be35.
Report an issue: GitHub.