{"record":{"id":"8b89eeea10fe6e22","repo":"deepseek-ai/deepseek-harness","slug":"skill-list-failed-result-error-code-result","errorCode":null,"errorMessage":"skill.list failed: ${result.error.code}: ${result.error.message}","messagePattern":"skill\\.list failed: (.+?): (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/client/ui-skill/src/client/index.ts","lineNumber":98,"sourceCode":"      try {\n        listener()\n      } catch (error) {\n        // Contain listener failures: settlement notifies from an ignored\n        // promise chain (a throw would surface as an unhandled rejection)\n        // and one faulty consumer must not starve the others.\n        console.error('[ui-skill] lexicon listener failed:', error)\n      }\n    }\n  }\n\n  const fetchCatalog = (sessionId: SessionId): Promise<readonly SkillEntry[]> => {\n    if (sessions.subagentAddress(sessionId) !== undefined) return Promise.resolve([])\n    const existing = fetches.get(sessionId)\n    if (existing !== undefined) return existing.promise\n    const abort = new AbortController()\n    const promise = (async () => {\n      const { result } = await skills.list({ sessionId }, abort.signal)\n      if (!result.ok) throw new Error(`skill.list failed: ${result.error.code}: ${result.error.message}`)\n      return result.value.skills\n    })()\n    const entry: CatalogFetch = { promise, abort }\n    fetches.set(sessionId, entry)\n    promise.then(\n      // Settled snapshot backs the synchronous lexicon reads.\n      (skills) => {\n        entry.settled = skills\n        notifyLexicon(sessionId)\n      },\n      // A failed fetch must not poison the key: the next consumer retries.\n      () => {\n        if (fetches.get(sessionId) === entry) fetches.delete(sessionId)\n      },\n    )\n    return promise\n  }\n","sourceCodeStart":80,"sourceCodeEnd":116,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/client/ui-skill/src/client/index.ts#L80-L116","documentation":"Error \"skill.list failed: ${result.error.code}: ${result.error.message}\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/client/ui-skill/src/client/index.ts:98 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the skill service is available and read the reported code and message."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b150a551b8d465e31e418e1b2eaf5e79bbb7d28e","analyzedAt":"2026-08-24T18:12:29.105Z","schemaVersion":2},"datasetVersion":"2026-08-24T22:17:12.610Z"}