Tencent/WeKnora · error
file not found in skill %s: %s
Error message
file not found in skill %s: %s
What it means
Lookup miss in TenantSkillSource.LoadSkillFile: the requested relativePath (after safeSkillRelPath normalization) is not present in the skill bundle archive's file index. The skill exists and loads; only the specific file is absent from its zip bundle.
Source
Thrown at internal/agent/skills/tenant_source.go:183
row, err := s.row(name)
if err != nil {
return nil, err
}
clean, err := safeSkillRelPath(relativePath)
if err != nil {
return nil, err
}
archive, err := s.bundleArchive(row)
if err != nil {
return nil, err
}
index, err := skillBundleFileIndex(archive)
if err != nil {
return nil, err
}
item, ok := index[clean]
if !ok {
return nil, fmt.Errorf("file not found in skill %s: %s", name, relativePath)
}
content, err := readLimitedSkillZipFile(item)
if err != nil {
return nil, err
}
basePath, err := sandbox.SkillDirFor(row.Name)
if err != nil {
return nil, err
}
return &SkillFile{
Name: relativePath,
// The path the model sees is the in-image one, because that is where
// it can act on the file.
Path: path.Join(basePath, clean),
Content: string(content),
IsScript: IsScript(clean),
}, nil
}View on GitHub (pinned to 988cbb0330)
Solutions
- List the skill's files first to see available paths
- Use the exact path as stored in the bundle (relative, no leading slash)
- Re-upload the skill bundle if the file should exist
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at internal/agent/skills/tenant_source.go:183 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/91ca6e4f38816086.
Report an issue: GitHub.