{"record":{"id":"b1f19ab4d4e8aeec","repo":"paperclipai/paperclip","slug":"catalog-skill-not-found-catalogref","errorCode":null,"errorMessage":"Catalog skill not found: ${catalogRef}","messagePattern":"Catalog skill not found: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/src/commands/client/skills.ts","lineNumber":600,"sourceCode":"  ctx: ResolvedClientContext,\n  opts: CatalogBrowseOptions,\n): Promise<CatalogSkill[]> {\n  const params = new URLSearchParams();\n  appendQueryParam(params, \"kind\", opts.kind);\n  appendQueryParam(params, \"category\", opts.category);\n  appendQueryParam(params, \"q\", opts.query);\n  const query = params.toString();\n  return (await ctx.api.get<CatalogSkill[]>(`/api/skills/catalog${query ? `?${query}` : \"\"}`)) ?? [];\n}\n\nasync function getCatalogSkill(ctx: ResolvedClientContext, catalogRef: string): Promise<CatalogSkill> {\n  const ref = catalogRef.trim();\n  if (!ref) {\n    throw new Error(\"Catalog skill reference is required.\");\n  }\n  const detail = await ctx.api.get<CatalogSkill>(`/api/skills/catalog/ref?ref=${encodeURIComponent(ref)}`);\n  if (!detail) {\n    throw new Error(`Catalog skill not found: ${catalogRef}`);\n  }\n  return detail;\n}\n\nexport function resolveCompanySkillReference(\n  skills: CompanySkillReferenceTarget[],\n  reference: string,\n): CompanySkillReferenceTarget {\n  const trimmed = reference.trim();\n  if (!trimmed) {\n    throw new Error(\"Skill reference is required.\");\n  }\n\n  const byId = skills.find((skill) => skill.id === trimmed);\n  if (byId) return byId;\n\n  const byKey = skills.find((skill) => skill.key === trimmed);\n  if (byKey) return byKey;","sourceCodeStart":582,"sourceCodeEnd":618,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/cli/src/commands/client/skills.ts#L582-L618","documentation":"The catalog ref lookup GET /api/skills/catalog/ref returned null for the given reference, so no catalog skill matches it.","triggerScenarios":"Thrown at cli/src/commands/client/skills.ts:600 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the catalog reference; list catalog skills and use a valid slug or key."],"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-23T08:17:48.524Z"}