{"record":{"id":"b46036ebde0d200e","repo":"different-ai/openwork","slug":"skill-not-found-b46036","errorCode":null,"errorMessage":"Skill not found","messagePattern":"Skill not found","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"apps/desktop/electron/main.mjs","lineNumber":2092,"sourceCode":"      const destination = path.join(skillRoot, name);\n      if (await pathExists(destination)) {\n        if (!overwrite) {\n          return execResult(false, \"\", `Skill already exists at ${destination}`);\n        }\n        await rm(destination, { recursive: true, force: true });\n      }\n      await mkdir(destination, { recursive: true });\n      await writeFile(path.join(destination, \"SKILL.md\"), content, \"utf8\");\n      return execResult(true, `Installed skill to ${destination}`);\n  },\n  \"listLocalSkills\": async (event, ...args) => {\n      return listLocalSkills(String(args[0] ?? \"\").trim());\n  },\n  \"readLocalSkill\": async (event, ...args) => {\n      const projectDir = String(args[0] ?? \"\").trim();\n      const skillPath = await findSkillFile(projectDir, args[1]);\n      if (!skillPath) {\n        throw new Error(\"Skill not found\");\n      }\n      return { path: skillPath, content: await readFile(skillPath, \"utf8\") };\n  },\n  \"writeLocalSkill\": async (event, ...args) => {\n      const projectDir = String(args[0] ?? \"\").trim();\n      const skillPath = await findSkillFile(projectDir, args[1]);\n      if (!skillPath) {\n        return execResult(false, \"\", \"Skill not found\");\n      }\n      const content = String(args[2] ?? \"\");\n      const next = content.endsWith(\"\\n\") ? content : `${content}\\n`;\n      await writeFile(skillPath, next, \"utf8\");\n      return execResult(true, `Saved skill ${path.basename(path.dirname(skillPath))}`);\n  },\n  \"uninstallSkill\": async (event, ...args) => {\n      const projectDir = String(args[0] ?? \"\").trim();\n      const skillPath = await findSkillFile(projectDir, args[1]);\n      if (!skillPath) {","sourceCodeStart":2074,"sourceCodeEnd":2110,"githubUrl":"https://github.com/different-ai/openwork/blob/2b7df46e8ae1517d64c896c7793d2d52ec845669/apps/desktop/electron/main.mjs#L2074-L2110","documentation":"Error \"Skill not found\" thrown in different-ai/openwork.","triggerScenarios":"Thrown at apps/desktop/electron/main.mjs:2092 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2b7df46e8ae1517d64c896c7793d2d52ec845669","analyzedAt":"2026-09-01T07:59:23.713Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}