{"record":{"id":"1c566de50e226f96","repo":"paperclipai/paperclip","slug":"skills-catalog-manifest-not-found-at-manifestpat","errorCode":null,"errorMessage":"Skills catalog manifest not found at ${manifestPath}. Run pnpm --filter @paperclipai/skills-catalog build:manifest.","messagePattern":"Skills catalog manifest not found at (.+?)\\. Run pnpm --filter @paperclipai/skills-catalog build:manifest\\.","errorType":"exception","errorClass":"CatalogManifestUnavailableError","httpStatus":500,"severity":"error","filePath":"server/src/services/skills-catalog.ts","lineNumber":122,"sourceCode":"  } catch (publishedError) {\n    const devPaths = resolveDevCatalogPaths();\n    if (devPaths) {\n      cachedCatalogPaths = devPaths;\n      cachedCatalogPathsError = null;\n      return cachedCatalogPaths;\n    }\n    cachedCatalogPathsError = new CatalogManifestUnavailableError(packageResolutionFailureMessage(), { cause: publishedError });\n    cachedCatalogPaths = false;\n    throw cachedCatalogPathsError;\n  }\n}\n\nfunction loadCatalogManifest(manifestPath: string): CatalogManifestFile {\n  try {\n    return JSON.parse(readFileSync(manifestPath, \"utf8\")) as CatalogManifestFile;\n  } catch (error) {\n    if (isMissingFileError(error)) {\n      throw new CatalogManifestUnavailableError(manifestUnavailableMessage(manifestPath), { cause: error });\n    }\n    throw error;\n  }\n}\n\nfunction getCatalogManifest() {\n  const { manifestPath } = resolveCatalogPaths();\n  if (!existsSync(manifestPath)) {\n    throw new CatalogManifestUnavailableError(manifestUnavailableMessage(manifestPath));\n  }\n  let stats: ReturnType<typeof statSync>;\n  try {\n    stats = statSync(manifestPath);\n  } catch (error) {\n    if (isMissingFileError(error)) {\n      throw new CatalogManifestUnavailableError(manifestUnavailableMessage(manifestPath), { cause: error });\n    }\n    throw error;","sourceCodeStart":104,"sourceCodeEnd":140,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/server/src/services/skills-catalog.ts#L104-L140","documentation":"Bootstrap guard in the skills-catalog service: neither the published catalog package nor dev catalog paths resolve, so the generated manifest JSON is absent. The manifest must be built (pnpm --filter @paperclipai/skills-catalog build:manifest) before any catalog reads; the unbuilt catalog package is at fault.","triggerScenarios":"Thrown at server/src/services/skills-catalog.ts:122 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Run 'pnpm --filter @paperclipai/skills-catalog build:manifest' from the repo root to generate the catalog manifest, then restart the server."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"120ae5428fa29bee300bcf806491cd4d965fbb7c","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}