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

  1. Shorten the frontmatter `description` to within MaxDescriptionLength characters
  2. Move long usage detail into the SKILL.md body instead of the description
  3. 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.