{"record":{"id":"125218789cf2c5bd","repo":"multica-ai/multica","slug":"resolve-skills-dir-w","errorCode":null,"errorMessage":"resolve skills dir: %w","messagePattern":"resolve skills dir: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/internal/daemon/execenv/context.go","lineNumber":182,"sourceCode":"\t\t// safely distinguish from intentional content. Refusing the\n\t\t// write is the correct call: the runtime brief (CLAUDE.md /\n\t\t// AGENTS.md) already carries every fact this file\n\t\t// would, so the agent runs fine without the sidecar copy.\n\t\t// Anything else is a real failure.\n\t\tif !errors.Is(err, errPathPreExists) {\n\t\t\treturn fmt.Errorf(\"write issue_context.md: %w\", err)\n\t\t}\n\t}\n\n\tif len(ctx.AgentSkills) > 0 {\n\t\t// Hermes materializes skills into its per-task HERMES_HOME/skills during\n\t\t// Prepare (Hermes has no workspace-relative discovery), so it needs no\n\t\t// workdir-local skills dir at all — skip the resolve too, to avoid\n\t\t// leaving an empty .agent_context/skills/ behind.\n\t\tif provider != \"hermes\" {\n\t\t\tskillsDir, err := resolveSkillsDir(workDir, provider, manifest)\n\t\t\tif err != nil {\n\t\t\t\treturn fmt.Errorf(\"resolve skills dir: %w\", err)\n\t\t\t}\n\t\t\t// Codex skills are written to codex-home in Prepare; skip here.\n\t\t\tif provider != \"codex\" {\n\t\t\t\tif err := writeSkillFiles(skillsDir, ctx.AgentSkills, manifest); err != nil {\n\t\t\t\t\treturn fmt.Errorf(\"write skill files: %w\", err)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Project resources are best-effort: a write failure logs but does not\n\t// block task startup. Missing resources surface as the agent simply not\n\t// seeing the file, which matches the \"scoped, not dumped\" design (the\n\t// meta skill content always lists what the agent should expect).\n\tif err := writeProjectResources(workDir, ctx, manifest); err != nil {\n\t\t// Caller logs warnings; avoid noisy returns for non-fatal context.\n\t\treturn fmt.Errorf(\"write project resources: %w\", err)\n\t}","sourceCodeStart":164,"sourceCodeEnd":200,"githubUrl":"https://github.com/multica-ai/multica/blob/2c0912b6ec764b373d44eeea1e80f0d9f11ab417/server/internal/daemon/execenv/context.go#L164-L200","documentation":"Error \"resolve skills dir: %w\" thrown in multica-ai/multica.","triggerScenarios":"Thrown at server/internal/daemon/execenv/context.go:182 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the skills directory path configuration."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2c0912b6ec764b373d44eeea1e80f0d9f11ab417","analyzedAt":"2026-08-15T13:25:18.241Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}