[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F6TT6JWZF03RBYKVMTSB4J":3,"skill-same:01M6F6TT6JWZF03RBYKVMTSB4J":93},{"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":70,"commitSha":71,"skillDirectory":72,"forksCount":73,"repositoryHtmlUrl":74,"repositoryHomepageUrl":75,"ownerHtmlUrl":76,"ownerBlogUrl":6,"ownerDescription":77,"updatedAt":78,"install":79,"resources":92},"01M6F6TT6JWZF03RBYKVMTSB4J","anima-deploy-integration",null,"Deploy Anima design-to-code service as a backend API endpoint.\nUse when building a design-to-code microservice, deploying Anima SDK\nas a serverless function, or creating an internal design tool API.\nTrigger: \"deploy anima\", \"anima service deploy\", \"anima serverless\".","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fanima-deploy-integration\u002FSKILL.md",[18,23,26,29,34],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"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],"anima deploy integration","deploy","anima","integration","Bash","io","as","backend api","api endpoint","edit","write","read","design","api","endpoint","microservice","figma","code","deployment","docker","2026-11-10 10:12:30",false,"---\nname: anima-deploy-integration\ndescription: |\n  Deploy Anima design-to-code service as a backend API endpoint.\n  Use when building a design-to-code microservice, deploying Anima SDK\n  as a serverless function, or creating an internal design tool API.\n  Trigger: \"deploy anima\", \"anima service deploy\", \"anima serverless\".\nallowed-tools: Read, Write, Edit, Bash(vercel:*), Bash(gcloud:*), Bash(docker:*)\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ntags: [saas, design, figma, anima, deployment]\ncompatible-with: claude-code\n---\n\n# Anima Deploy Integration\n\n## Overview\n\nDeploy the Anima SDK as a backend service. The SDK is server-side only, so deploy it behind an API endpoint that accepts Figma file\u002Fnode references and returns generated code.\n\n## Instructions\n\n### Step 1: Express API Wrapper\n\n```typescript\n\u002F\u002F src\u002Fserver.ts\nimport express from 'express';\nimport { Anima } from '@animaapp\u002Fanima-sdk';\n\nconst app = express();\napp.use(express.json());\n\nconst anima = new Anima({ auth: { token: process.env.ANIMA_TOKEN! } });\n\napp.post('\u002Fapi\u002Fgenerate', async (req, res) => {\n  const { fileKey, nodesId, settings } = req.body;\n\n  if (!fileKey || !nodesId?.length) {\n    return res.status(400).json({ error: 'fileKey and nodesId required' });\n  }\n\n  try {\n    const { files } = await anima.generateCode({\n      fileKey,\n      figmaToken: process.env.FIGMA_TOKEN!,\n      nodesId,\n      settings: settings || { language: 'typescript', framework: 'react', styling: 'tailwind' },\n    });\n    res.json({ files, count: files.length });\n  } catch (err: any) {\n    res.status(500).json({ error: err.message });\n  }\n});\n\napp.get('\u002Fhealth', (_req, res) => res.json({ status: 'ok' }));\napp.listen(3000, () => console.log('Anima service on :3000'));\n```\n\n### Step 2: Vercel Serverless Function\n\n```typescript\n\u002F\u002F api\u002Fgenerate.ts\nimport { Anima } from '@animaapp\u002Fanima-sdk';\n\nconst anima = new Anima({ auth: { token: process.env.ANIMA_TOKEN! } });\n\nexport default async function handler(req: any, res: any) {\n  if (req.method !== 'POST') return res.status(405).end();\n\n  const { fileKey, nodesId, settings } = req.body;\n  const { files } = await anima.generateCode({\n    fileKey, figmaToken: process.env.FIGMA_TOKEN!, nodesId,\n    settings: settings || { language: 'typescript', framework: 'react', styling: 'tailwind' },\n  });\n  res.json({ files });\n}\n```\n\n### Step 3: Deploy Commands\n\n```bash\n# Vercel\nvercel secrets add anima_token \"$ANIMA_TOKEN\"\nvercel secrets add figma_token \"$FIGMA_TOKEN\"\nvercel --prod\n\n# Cloud Run\ngcloud run deploy anima-service \\\n  --source . \\\n  --set-secrets=ANIMA_TOKEN=anima-token:latest,FIGMA_TOKEN=figma-token:latest \\\n  --region us-central1 --allow-unauthenticated\n```\n\n## Output\n\n- Express API wrapping Anima SDK for internal design tooling\n- Vercel serverless function for lightweight deployment\n- Cloud Run deployment with Secret Manager\n\n## Resources\n\n- [Anima API](https:\u002F\u002Fdocs.animaapp.com\u002Fdocs\u002Fanima-api)\n- [Anima SDK Example Server](https:\u002F\u002Fgithub.com\u002FAnimaApp\u002Fanima-sdk)\n\n## Next Steps\n\nFor webhook integration, see `anima-webhooks-events`.\n\n","# Anima Deploy Integration\n\n## Overview\n\nDeploy the Anima SDK as a backend service. The SDK is server-side only, so deploy it behind an API endpoint that accepts Figma file\u002Fnode references and returns generated code.\n\n## Instructions\n\n### Step 1: Express API Wrapper\n\n```typescript\n\u002F\u002F src\u002Fserver.ts\nimport express from 'express';\nimport { Anima } from '@animaapp\u002Fanima-sdk';\n\nconst app = express();\napp.use(express.json());\n\nconst anima = new Anima({ auth: { token: process.env.ANIMA_TOKEN! } });\n\napp.post('\u002Fapi\u002Fgenerate', async (req, res) => {\n  const { fileKey, nodesId, settings } = req.body;\n\n  if (!fileKey || !nodesId?.length) {\n    return res.status(400).json({ error: 'fileKey and nodesId required' });\n  }\n\n  try {\n    const { files } = await anima.generateCode({\n      fileKey,\n      figmaToken: process.env.FIGMA_TOKEN!,\n      nodesId,\n      settings: settings || { language: 'typescript', framework: 'react', styling: 'tailwind' },\n    });\n    res.json({ files, count: files.length });\n  } catch (err: any) {\n    res.status(500).json({ error: err.message });\n  }\n});\n\napp.get('\u002Fhealth', (_req, res) => res.json({ status: 'ok' }));\napp.listen(3000, () => console.log('Anima service on :3000'));\n```\n\n### Step 2: Vercel Serverless Function\n\n```typescript\n\u002F\u002F api\u002Fgenerate.ts\nimport { Anima } from '@animaapp\u002Fanima-sdk';\n\nconst anima = new Anima({ auth: { token: process.env.ANIMA_TOKEN! } });\n\nexport default async function handler(req: any, res: any) {\n  if (req.method !== 'POST') return res.status(405).end();\n\n  const { fileKey, nodesId, settings } = req.body;\n  const { files } = await anima.generateCode({\n    fileKey, figmaToken: process.env.FIGMA_TOKEN!, nodesId,\n    settings: settings || { language: 'typescript', framework: 'react', styling: 'tailwind' },\n  });\n  res.json({ files });\n}\n```\n\n### Step 3: Deploy Commands\n\n```bash\n# Vercel\nvercel secrets add anima_token \"$ANIMA_TOKEN\"\nvercel secrets add figma_token \"$FIGMA_TOKEN\"\nvercel --prod\n\n# Cloud Run\ngcloud run deploy anima-service \\\n  --source . \\\n  --set-secrets=ANIMA_TOKEN=anima-token:latest,FIGMA_TOKEN=figma-token:latest \\\n  --region us-central1 --allow-unauthenticated\n```\n\n## Output\n\n- Express API wrapping Anima SDK for internal design tooling\n- Vercel serverless function for lightweight deployment\n- Cloud Run deployment with Secret Manager\n\n## Resources\n\n- [Anima API](https:\u002F\u002Fdocs.animaapp.com\u002Fdocs\u002Fanima-api)\n- [Anima SDK Example Server](https:\u002F\u002Fgithub.com\u002FAnimaApp\u002Fanima-sdk)\n\n## Next Steps\n\nFor webhook integration, see `anima-webhooks-events`.\n\n",{"name":5,"tags":63,"author":65,"license":15,"version":66,"description":67,"allowed-tools":68,"compatible-with":69},[64,50,54,40,56],"saas","Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Deploy Anima design-to-code service as a backend API endpoint.\nUse when building a design-to-code microservice, deploying Anima SDK\nas a serverless function, or creating an internal design tool API.\nTrigger: \"deploy anima\", \"anima service deploy\", \"anima serverless\".\n","Read, Write, Edit, Bash(vercel:*), Bash(gcloud:*), Bash(docker:*)","claude-code","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fanima-deploy-integration",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":80,"prompt":90,"zipAvailable":91},[81,84,87],{"tool":82,"command":83},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill anima-deploy-integration",{"tool":85,"command":86},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill anima-deploy-integration",{"tool":88,"command":89},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill anima-deploy-integration","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fanima-deploy-integration\u002FSKILL.md",true,[],[94,106,116,125,131,138],{"skillNo":95,"name":96,"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":97,"categories":98,"keywords":102,"publishedAt":58},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[99],{"categoryNo":100,"categoryName":101,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[103,104,105],"model","model hierarchy","model hierarchy skill",{"skillNo":107,"name":108,"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":109,"categories":110,"keywords":112,"publishedAt":58},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[111],{"categoryNo":100,"categoryName":101,"taxonomyType":21,"taxonomyTypeDesc":22},[113,114,115],"MCP","zoom","zoom mcp",{"skillNo":117,"name":118,"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":119,"categories":120,"keywords":121,"publishedAt":58},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[122,123,124,114],"sdk","zoom apps sdk","apps",{"skillNo":126,"name":127,"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":128,"categories":129,"keywords":130,"publishedAt":58},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[127],{"skillNo":132,"name":133,"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":134,"categories":135,"keywords":137,"publishedAt":58},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[136],{"categoryNo":100,"categoryName":101,"taxonomyType":21,"taxonomyTypeDesc":22},[133],{"skillNo":139,"name":140,"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":141,"categories":142,"keywords":143,"publishedAt":58},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[140]]