multica-ai/multica · error
allocate skill dir for %q: %w
Error message
allocate skill dir for %q: %w
What it means
Error "allocate skill dir for %q: %w" thrown in multica-ai/multica.
Source
Thrown at server/internal/daemon/execenv/context.go:954
// skill entirely (which would silently drop a Multica skill the agent
// expects to see).
func writeSkillFiles(skillsDir string, skills []SkillContextForEnv, manifest *sidecarManifest) error {
if err := recordMkdirAll(skillsDir, 0o755, manifest); err != nil {
return fmt.Errorf("create skills dir: %w", err)
}
// resolveSkillSlugs deduplicates within the batch first, so two skills whose
// names sanitize alike ("A B" / "A-B") get distinct bases here instead of
// racing for the same directory. The listings derive from the same function,
// which is what keeps them naming the directories this loop creates.
// allocateCollisionFreeSkillDir still runs on top, for collisions against
// directories we did not write (user-installed skills).
batchSlugs := resolveSkillSlugs(skills)
for i, skill := range skills {
slug, dir, err := allocateCollisionFreeSkillDir(skillsDir, batchSlugs[i])
if err != nil {
return fmt.Errorf("allocate skill dir for %q: %w", skill.Name, err)
}
if err := recordMkdirAll(dir, 0o755, manifest); err != nil {
return err
}
// ensureSkillFrontmatter synthesises a `name:` value when the
// upstream skill is missing one. Use the chosen slug (which
// may differ from baseSlug on collision) so the YAML name
// matches the directory name; runtimes that key on either
// stay consistent.
body := ensureSkillFrontmatter(skill.Content, slug, skill.Description)
if err := recordWriteFile(filepath.Join(dir, "SKILL.md"), []byte(body), 0o644, manifest); err != nil {
return err
}
// Write supporting files. The skill directory is collision-
// free by construction, so a recordWriteFile collision under
// it would mean the skill's bundled files list two entriesView on GitHub (pinned to 2c0912b6ec)
Solutions
- Check disk space and permissions for allocating the skill directory.
When it happens
Trigger: Thrown at server/internal/daemon/execenv/context.go:954 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15).
Data as JSON: /api/errors/b9e275bc6d5b4828.
Report an issue: GitHub.