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

  1. List the skill's files first to see available paths
  2. Use the exact path as stored in the bundle (relative, no leading slash)
  3. 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.