[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F6TA19VT43WDKX2F5SDV3X":3,"skill-same:01M6F6TA19VT43WDKX2F5SDV3X":94},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":37,"publishedAt":58,"linkOnly":59,"markdownContent":60,"markdownBody":61,"frontMatter":62,"refName":71,"commitSha":72,"skillDirectory":73,"forksCount":74,"repositoryHtmlUrl":75,"repositoryHomepageUrl":76,"ownerHtmlUrl":77,"ownerBlogUrl":6,"ownerDescription":78,"updatedAt":79,"install":80,"resources":93},"01M6F6TA19VT43WDKX2F5SDV3X","anima-core-workflow-a",null,"Build automated Figma-to-React pipeline with the Anima SDK.\nUse when automating design handoff, building CI\u002FCD design-to-code workflows,\nor creating a design system code generator from Figma components.\nTrigger: \"anima design pipeline\", \"figma to react pipeline\",\n\"automated design handoff\", \"anima component generator\".","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fanima-core-workflow-a\u002FSKILL.md",[18,23,26,29,34],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":30,"categoryName":31,"taxonomyType":32,"taxonomyTypeDesc":33},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":35,"categoryName":36,"taxonomyType":32,"taxonomyTypeDesc":33},"01JBSEEDCAT000000000000032","设计师",[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57],"workflow","anima core workflow a","anima","core","react","component","design system","components","code","figma","ci","pipeline","Bash","read","write","edit","io","CI\u002FCD","workflows","design","2026-11-10 10:12:30",false,"---\nname: anima-core-workflow-a\ndescription: |\n  Build automated Figma-to-React pipeline with the Anima SDK.\n  Use when automating design handoff, building CI\u002FCD design-to-code workflows,\n  or creating a design system code generator from Figma components.\n  Trigger: \"anima design pipeline\", \"figma to react pipeline\",\n  \"automated design handoff\", \"anima component generator\".\nallowed-tools: Read, Write, Edit, Bash(npm:*), Grep\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ntags: [saas, design, figma, anima, react, automation]\ncompatible-with: claude-code\n---\n\n# Anima Core Workflow A — Figma-to-React Pipeline\n\n## Overview\n\nPrimary workflow: automated pipeline that watches a Figma file, generates React components whenever the design changes, and integrates them into your codebase. This replaces manual design handoff with continuous design-to-code automation.\n\n## Prerequisites\n\n- Completed `anima-install-auth` setup\n- Figma file with organized components (auto-layout recommended)\n- React project (Next.js, Vite, or CRA)\n\n## Instructions\n\n### Step 1: Design System Scanner\n\n```typescript\n\u002F\u002F src\u002Fpipeline\u002Ffigma-scanner.ts\nimport { Anima } from '@animaapp\u002Fanima-sdk';\n\ninterface FigmaComponent {\n  nodeId: string;\n  name: string;\n  type: 'COMPONENT' | 'FRAME' | 'COMPONENT_SET';\n}\n\nconst anima = new Anima({\n  auth: { token: process.env.ANIMA_TOKEN! },\n});\n\n\u002F\u002F Fetch all top-level components from a Figma page\nasync function scanFigmaComponents(fileKey: string): Promise\u003CFigmaComponent[]> {\n  const response = await fetch(\n    `https:\u002F\u002Fapi.figma.com\u002Fv1\u002Ffiles\u002F${fileKey}\u002Fcomponents`,\n    { headers: { 'X-Figma-Token': process.env.FIGMA_TOKEN! } }\n  );\n  const data = await response.json();\n\n  return data.meta.components.map((comp: any) => ({\n    nodeId: comp.node_id,\n    name: comp.name,\n    type: comp.containing_frame?.type || 'COMPONENT',\n  }));\n}\n```\n\n### Step 2: Batch Code Generator\n\n```typescript\n\u002F\u002F src\u002Fpipeline\u002Fbatch-generator.ts\nimport { Anima } from '@animaapp\u002Fanima-sdk';\nimport fs from 'fs';\nimport path from 'path';\n\nconst anima = new Anima({\n  auth: { token: process.env.ANIMA_TOKEN! },\n});\n\ninterface GenerationConfig {\n  fileKey: string;\n  outputDir: string;\n  settings: {\n    language: 'typescript' | 'javascript';\n    framework: 'react' | 'vue' | 'html';\n    styling: 'tailwind' | 'css' | 'styled-components';\n    uiLibrary?: 'none' | 'mui' | 'antd' | 'shadcn';\n  };\n}\n\nasync function generateComponentBatch(\n  config: GenerationConfig,\n  nodeIds: string[],\n): Promise\u003C{ generated: number; failed: string[] }> {\n  const failed: string[] = [];\n  let generated = 0;\n\n  fs.mkdirSync(config.outputDir, { recursive: true });\n\n  \u002F\u002F Generate each component (Anima processes one node at a time)\n  for (const nodeId of nodeIds) {\n    try {\n      const { files } = await anima.generateCode({\n        fileKey: config.fileKey,\n        figmaToken: process.env.FIGMA_TOKEN!,\n        nodesId: [nodeId],\n        settings: config.settings,\n      });\n\n      for (const file of files) {\n        const filePath = path.join(config.outputDir, file.fileName);\n        fs.writeFileSync(filePath, file.content);\n        console.log(`Generated: ${file.fileName}`);\n      }\n      generated++;\n    } catch (err) {\n      console.error(`Failed to generate node ${nodeId}:`, err);\n      failed.push(nodeId);\n    }\n\n    \u002F\u002F Rate limit: Anima API has per-minute limits\n    await new Promise(r => setTimeout(r, 2000));\n  }\n\n  return { generated, failed };\n}\n\nexport { generateComponentBatch, GenerationConfig };\n```\n\n### Step 3: Figma Change Detection\n\n```typescript\n\u002F\u002F src\u002Fpipeline\u002Fchange-detector.ts\ninterface FileVersion {\n  id: string;\n  created_at: string;\n  label: string;\n}\n\nasync function getLatestVersion(fileKey: string): Promise\u003CFileVersion> {\n  const response = await fetch(\n    `https:\u002F\u002Fapi.figma.com\u002Fv1\u002Ffiles\u002F${fileKey}\u002Fversions`,\n    { headers: { 'X-Figma-Token': process.env.FIGMA_TOKEN! } }\n  );\n  const data = await response.json();\n  return data.versions[0];\n}\n\n\u002F\u002F Check if file changed since last generation\nlet lastVersionId = '';\n\nasync function hasDesignChanged(fileKey: string): Promise\u003Cboolean> {\n  const latest = await getLatestVersion(fileKey);\n  if (latest.id !== lastVersionId) {\n    lastVersionId = latest.id;\n    return true;\n  }\n  return false;\n}\n\nexport { hasDesignChanged, getLatestVersion };\n```\n\n### Step 4: Full Pipeline Runner\n\n```typescript\n\u002F\u002F src\u002Fpipeline\u002Frun.ts\nimport { scanFigmaComponents } from '.\u002Ffigma-scanner';\nimport { generateComponentBatch, GenerationConfig } from '.\u002Fbatch-generator';\nimport { hasDesignChanged } from '.\u002Fchange-detector';\n\nconst config: GenerationConfig = {\n  fileKey: process.env.FIGMA_FILE_KEY!,\n  outputDir: '.\u002Fsrc\u002Fcomponents\u002Fgenerated',\n  settings: {\n    language: 'typescript',\n    framework: 'react',\n    styling: 'tailwind',\n    uiLibrary: 'shadcn',\n  },\n};\n\nasync function runPipeline() {\n  console.log('Scanning Figma file for components...');\n  const components = await scanFigmaComponents(config.fileKey);\n  console.log(`Found ${components.length} components`);\n\n  console.log('Generating code...');\n  const result = await generateComponentBatch(\n    config,\n    components.map(c => c.nodeId)\n  );\n\n  console.log(`\\nPipeline complete: ${result.generated} generated, ${result.failed.length} failed`);\n}\n\n\u002F\u002F Watch mode: re-generate on design changes\nasync function watchMode() {\n  console.log('Watching for Figma design changes...');\n  setInterval(async () => {\n    if (await hasDesignChanged(config.fileKey)) {\n      console.log('Design changed — regenerating...');\n      await runPipeline();\n    }\n  }, 60000); \u002F\u002F Check every minute\n}\n\nrunPipeline().catch(console.error);\n```\n\n## Output\n\n- Automated Figma component scanning and enumeration\n- Batch code generation for entire design systems\n- Change detection for continuous design-to-code sync\n- Watch mode for iterative design development\n\n## Error Handling\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| Rate limited | Too many API calls | Add 2s delay between component generations |\n| Component not renderable | Figma node is group, not frame | Ensure components use auto-layout |\n| Inconsistent output | Complex nested structures | Flatten deep nesting in Figma |\n| Missing styles | Custom fonts not available | Map fonts in Anima settings |\n\n## Resources\n\n- [Anima API](https:\u002F\u002Fdocs.animaapp.com\u002Fdocs\u002Fanima-api)\n- [Figma API Components](https:\u002F\u002Fwww.figma.com\u002Fdevelopers\u002Fapi#components)\n- [Anima Blog](https:\u002F\u002Fwww.animaapp.com\u002Fblog\u002Fdesign-to-code\u002F)\n\n## Next Steps\n\nFor website-to-code cloning, see `anima-core-workflow-b`.\n\n","# Anima Core Workflow A — Figma-to-React Pipeline\n\n## Overview\n\nPrimary workflow: automated pipeline that watches a Figma file, generates React components whenever the design changes, and integrates them into your codebase. This replaces manual design handoff with continuous design-to-code automation.\n\n## Prerequisites\n\n- Completed `anima-install-auth` setup\n- Figma file with organized components (auto-layout recommended)\n- React project (Next.js, Vite, or CRA)\n\n## Instructions\n\n### Step 1: Design System Scanner\n\n```typescript\n\u002F\u002F src\u002Fpipeline\u002Ffigma-scanner.ts\nimport { Anima } from '@animaapp\u002Fanima-sdk';\n\ninterface FigmaComponent {\n  nodeId: string;\n  name: string;\n  type: 'COMPONENT' | 'FRAME' | 'COMPONENT_SET';\n}\n\nconst anima = new Anima({\n  auth: { token: process.env.ANIMA_TOKEN! },\n});\n\n\u002F\u002F Fetch all top-level components from a Figma page\nasync function scanFigmaComponents(fileKey: string): Promise\u003CFigmaComponent[]> {\n  const response = await fetch(\n    `https:\u002F\u002Fapi.figma.com\u002Fv1\u002Ffiles\u002F${fileKey}\u002Fcomponents`,\n    { headers: { 'X-Figma-Token': process.env.FIGMA_TOKEN! } }\n  );\n  const data = await response.json();\n\n  return data.meta.components.map((comp: any) => ({\n    nodeId: comp.node_id,\n    name: comp.name,\n    type: comp.containing_frame?.type || 'COMPONENT',\n  }));\n}\n```\n\n### Step 2: Batch Code Generator\n\n```typescript\n\u002F\u002F src\u002Fpipeline\u002Fbatch-generator.ts\nimport { Anima } from '@animaapp\u002Fanima-sdk';\nimport fs from 'fs';\nimport path from 'path';\n\nconst anima = new Anima({\n  auth: { token: process.env.ANIMA_TOKEN! },\n});\n\ninterface GenerationConfig {\n  fileKey: string;\n  outputDir: string;\n  settings: {\n    language: 'typescript' | 'javascript';\n    framework: 'react' | 'vue' | 'html';\n    styling: 'tailwind' | 'css' | 'styled-components';\n    uiLibrary?: 'none' | 'mui' | 'antd' | 'shadcn';\n  };\n}\n\nasync function generateComponentBatch(\n  config: GenerationConfig,\n  nodeIds: string[],\n): Promise\u003C{ generated: number; failed: string[] }> {\n  const failed: string[] = [];\n  let generated = 0;\n\n  fs.mkdirSync(config.outputDir, { recursive: true });\n\n  \u002F\u002F Generate each component (Anima processes one node at a time)\n  for (const nodeId of nodeIds) {\n    try {\n      const { files } = await anima.generateCode({\n        fileKey: config.fileKey,\n        figmaToken: process.env.FIGMA_TOKEN!,\n        nodesId: [nodeId],\n        settings: config.settings,\n      });\n\n      for (const file of files) {\n        const filePath = path.join(config.outputDir, file.fileName);\n        fs.writeFileSync(filePath, file.content);\n        console.log(`Generated: ${file.fileName}`);\n      }\n      generated++;\n    } catch (err) {\n      console.error(`Failed to generate node ${nodeId}:`, err);\n      failed.push(nodeId);\n    }\n\n    \u002F\u002F Rate limit: Anima API has per-minute limits\n    await new Promise(r => setTimeout(r, 2000));\n  }\n\n  return { generated, failed };\n}\n\nexport { generateComponentBatch, GenerationConfig };\n```\n\n### Step 3: Figma Change Detection\n\n```typescript\n\u002F\u002F src\u002Fpipeline\u002Fchange-detector.ts\ninterface FileVersion {\n  id: string;\n  created_at: string;\n  label: string;\n}\n\nasync function getLatestVersion(fileKey: string): Promise\u003CFileVersion> {\n  const response = await fetch(\n    `https:\u002F\u002Fapi.figma.com\u002Fv1\u002Ffiles\u002F${fileKey}\u002Fversions`,\n    { headers: { 'X-Figma-Token': process.env.FIGMA_TOKEN! } }\n  );\n  const data = await response.json();\n  return data.versions[0];\n}\n\n\u002F\u002F Check if file changed since last generation\nlet lastVersionId = '';\n\nasync function hasDesignChanged(fileKey: string): Promise\u003Cboolean> {\n  const latest = await getLatestVersion(fileKey);\n  if (latest.id !== lastVersionId) {\n    lastVersionId = latest.id;\n    return true;\n  }\n  return false;\n}\n\nexport { hasDesignChanged, getLatestVersion };\n```\n\n### Step 4: Full Pipeline Runner\n\n```typescript\n\u002F\u002F src\u002Fpipeline\u002Frun.ts\nimport { scanFigmaComponents } from '.\u002Ffigma-scanner';\nimport { generateComponentBatch, GenerationConfig } from '.\u002Fbatch-generator';\nimport { hasDesignChanged } from '.\u002Fchange-detector';\n\nconst config: GenerationConfig = {\n  fileKey: process.env.FIGMA_FILE_KEY!,\n  outputDir: '.\u002Fsrc\u002Fcomponents\u002Fgenerated',\n  settings: {\n    language: 'typescript',\n    framework: 'react',\n    styling: 'tailwind',\n    uiLibrary: 'shadcn',\n  },\n};\n\nasync function runPipeline() {\n  console.log('Scanning Figma file for components...');\n  const components = await scanFigmaComponents(config.fileKey);\n  console.log(`Found ${components.length} components`);\n\n  console.log('Generating code...');\n  const result = await generateComponentBatch(\n    config,\n    components.map(c => c.nodeId)\n  );\n\n  console.log(`\\nPipeline complete: ${result.generated} generated, ${result.failed.length} failed`);\n}\n\n\u002F\u002F Watch mode: re-generate on design changes\nasync function watchMode() {\n  console.log('Watching for Figma design changes...');\n  setInterval(async () => {\n    if (await hasDesignChanged(config.fileKey)) {\n      console.log('Design changed — regenerating...');\n      await runPipeline();\n    }\n  }, 60000); \u002F\u002F Check every minute\n}\n\nrunPipeline().catch(console.error);\n```\n\n## Output\n\n- Automated Figma component scanning and enumeration\n- Batch code generation for entire design systems\n- Change detection for continuous design-to-code sync\n- Watch mode for iterative design development\n\n## Error Handling\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| Rate limited | Too many API calls | Add 2s delay between component generations |\n| Component not renderable | Figma node is group, not frame | Ensure components use auto-layout |\n| Inconsistent output | Complex nested structures | Flatten deep nesting in Figma |\n| Missing styles | Custom fonts not available | Map fonts in Anima settings |\n\n## Resources\n\n- [Anima API](https:\u002F\u002Fdocs.animaapp.com\u002Fdocs\u002Fanima-api)\n- [Figma API Components](https:\u002F\u002Fwww.figma.com\u002Fdevelopers\u002Fapi#components)\n- [Anima Blog](https:\u002F\u002Fwww.animaapp.com\u002Fblog\u002Fdesign-to-code\u002F)\n\n## Next Steps\n\nFor website-to-code cloning, see `anima-core-workflow-b`.\n\n",{"name":5,"tags":63,"author":66,"license":15,"version":67,"description":68,"allowed-tools":69,"compatible-with":70},[64,57,47,40,42,65],"saas","automation","Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Build automated Figma-to-React pipeline with the Anima SDK.\nUse when automating design handoff, building CI\u002FCD design-to-code workflows,\nor creating a design system code generator from Figma components.\nTrigger: \"anima design pipeline\", \"figma to react pipeline\",\n\"automated design handoff\", \"anima component generator\".\n","Read, Write, Edit, Bash(npm:*), Grep","claude-code","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fanima-core-workflow-a",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":81,"prompt":91,"zipAvailable":92},[82,85,88],{"tool":83,"command":84},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill anima-core-workflow-a",{"tool":86,"command":87},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill anima-core-workflow-a",{"tool":89,"command":90},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill anima-core-workflow-a","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fanima-core-workflow-a\u002FSKILL.md",true,[],[95,105,115,124,130,137],{"skillNo":96,"name":97,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":101,"publishedAt":58},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[100],{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},[102,103,104],"model","model hierarchy","model hierarchy skill",{"skillNo":106,"name":107,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":111,"publishedAt":58},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[110],{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},[112,113,114],"MCP","zoom","zoom mcp",{"skillNo":116,"name":117,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":58},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[121,122,123,113],"sdk","zoom apps sdk","apps",{"skillNo":125,"name":126,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":58},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[126],{"skillNo":131,"name":132,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":136,"publishedAt":58},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[135],{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},[132],{"skillNo":138,"name":139,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":142,"publishedAt":58},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[139]]