Tencent/WeKnora · error
skill not found: %s
Error message
skill not found: %s
What it means
Terminal failure of LoadSkillInstructions: after checking the cache and scanning every configured skill directory via loadSkillFromDirectory, no directory contained a SKILL.md whose parsed name matches the requested skillName. It means the skill was never discovered, was renamed, or lives outside the configured skillDirs.
Source
Thrown at internal/agent/skills/loader.go:125
// Returns the cached skill if already loaded
func (l *Loader) LoadSkillInstructions(skillName string) (*Skill, error) {
// Check cache first
if skill, ok := l.discoveredSkills[skillName]; ok {
if skill.Loaded {
return skill, nil
}
}
// Search for the skill in all directories
for _, dir := range l.skillDirs {
skill, err := l.loadSkillFromDirectory(dir, skillName)
if err == nil {
l.discoveredSkills[skillName] = skill
return skill, nil
}
}
return nil, fmt.Errorf("skill not found: %s", skillName)
}
// loadSkillFromDirectory attempts to load a skill from a specific directory
func (l *Loader) loadSkillFromDirectory(dir, skillName string) (*Skill, error) {
// First, check if we can find by directory name matching skill name
skillPath := filepath.Join(dir, skillName)
skillFile := filepath.Join(skillPath, SkillFileName)
if _, err := os.Stat(skillFile); err == nil {
return l.loadSkillFile(skillPath, skillFile)
}
// Otherwise, scan all subdirectories to find the skill by name
entries, err := os.ReadDir(dir)
if err != nil {
return nil, err
}
View on GitHub (pinned to 988cbb0330)
Solutions
- Verify the skill name spelling matches the SKILL.md frontmatter name exactly
- Check that the skill's directory is included in the loader's skillDirs configuration
- Run skill discovery/Initialize first so the cache is populated
- Confirm the SKILL.md parses successfully (parse failures inside directories are swallowed, making the skill invisible)
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at internal/agent/skills/loader.go:125 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/f5e6ddb3890ab3b7.
Report an issue: GitHub.