[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F64AA3GH2734SFJ3XFVC85":3,"skill-same:01M6F64AA3GH2734SFJ3XFVC85":78},{"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":23,"publishedAt":46,"linkOnly":47,"markdownContent":48,"markdownBody":49,"frontMatter":50,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":58,"repositoryHtmlUrl":59,"repositoryHomepageUrl":6,"ownerHtmlUrl":60,"ownerBlogUrl":61,"ownerDescription":62,"updatedAt":63,"install":64,"resources":77},"01M6F64AA3GH2734SFJ3XFVC85","customerio-local-dev-loop",null,"Configure Customer.io local development workflow.\nUse when setting up local testing, development environment,\nor offline development for Customer.io integrations.\nTrigger with phrases like \"customer.io local dev\", \"test customer.io locally\",\n\"customer.io development environment\", \"customer.io sandbox\".","Dicklesworthstone\u002Fpi_agent_rust","Dicklesworthstone","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F35050222?v=4","01M6CG26AR942CSVMN1M5E3DSE","Jeff Emanuel","01M6CG26EPP71PSHW1VDS71121",1986,"MIT","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fsaas-packs\u002Fcustomerio-pack\u002Fskills\u002Fcustomerio-local-dev-loop\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],"local dev","dev loop","customerio local dev loop","local","loop","dev","up","testing","when","workflow","local development","development environment","io","customer","development workflow","offline","edit","write","read","integrations","configure","Bash","2026-11-10 10:12:30",false,"---\nname: customerio-local-dev-loop\ndescription: |\n  Configure Customer.io local development workflow.\n  Use when setting up local testing, development environment,\n  or offline development for Customer.io integrations.\n  Trigger with phrases like \"customer.io local dev\", \"test customer.io locally\",\n  \"customer.io development environment\", \"customer.io sandbox\".\nallowed-tools: Read, Write, Edit, Bash(npm:*), Bash(pip:*), Grep\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\n---\n\n# Customer.io Local Dev Loop\n\n## Overview\nSet up an efficient local development workflow for Customer.io integrations with proper testing and isolation.\n\n## Prerequisites\n- Customer.io SDK installed\n- Separate development workspace in Customer.io (recommended)\n- Environment variable management tool (dotenv)\n\n## Instructions\n\n### Step 1: Create Environment Configuration\n```bash\n# .env.development\nCUSTOMERIO_SITE_ID=dev-site-id\nCUSTOMERIO_API_KEY=dev-api-key\nCUSTOMERIO_REGION=us\n\n# .env.production\nCUSTOMERIO_SITE_ID=prod-site-id\nCUSTOMERIO_API_KEY=prod-api-key\nCUSTOMERIO_REGION=us\n```\n\n### Step 2: Create Dev Client Wrapper\n```typescript\n\u002F\u002F lib\u002Fcustomerio.ts\nimport { TrackClient, RegionUS, RegionEU } from '@customerio\u002Ftrack';\n\nconst getRegion = () => {\n  return process.env.CUSTOMERIO_REGION === 'eu' ? RegionEU : RegionUS;\n};\n\nconst isDevelopment = process.env.NODE_ENV !== 'production';\n\nclass CustomerIOClient {\n  private client: TrackClient;\n  private dryRun: boolean;\n\n  constructor() {\n    this.client = new TrackClient(\n      process.env.CUSTOMERIO_SITE_ID!,\n      process.env.CUSTOMERIO_API_KEY!,\n      { region: getRegion() }\n    );\n    this.dryRun = process.env.CUSTOMERIO_DRY_RUN === 'true';\n  }\n\n  async identify(userId: string, attributes: Record\u003Cstring, any>) {\n    if (this.dryRun) {\n      console.log('[DRY RUN] Identify:', { userId, attributes });\n      return;\n    }\n    if (isDevelopment) {\n      attributes._dev = true;\n      attributes._dev_timestamp = new Date().toISOString();\n    }\n    return this.client.identify(userId, attributes);\n  }\n\n  async track(userId: string, eventName: string, data?: Record\u003Cstring, any>) {\n    if (this.dryRun) {\n      console.log('[DRY RUN] Track:', { userId, eventName, data });\n      return;\n    }\n    const eventData = {\n      name: isDevelopment ? `dev_${eventName}` : eventName,\n      data: { ...data, _dev: isDevelopment }\n    };\n    return this.client.track(userId, eventData);\n  }\n}\n\nexport const cio = new CustomerIOClient();\n```\n\n### Step 3: Set Up Test Helpers\n```typescript\n\u002F\u002F test\u002Fhelpers\u002Fcustomerio-mock.ts\nimport { vi } from 'vitest';\n\nexport const mockCustomerIO = () => {\n  const mocks = {\n    identify: vi.fn().mockResolvedValue(undefined),\n    track: vi.fn().mockResolvedValue(undefined),\n    trackAnonymous: vi.fn().mockResolvedValue(undefined),\n  };\n\n  vi.mock('@customerio\u002Ftrack', () => ({\n    TrackClient: vi.fn().mockImplementation(() => mocks),\n    RegionUS: 'us',\n    RegionEU: 'eu',\n  }));\n\n  return mocks;\n};\n\n\u002F\u002F Usage in tests\nimport { mockCustomerIO } from '.\u002Fhelpers\u002Fcustomerio-mock';\n\ndescribe('User Registration', () => {\n  const cioMocks = mockCustomerIO();\n\n  it('identifies user on signup', async () => {\n    await registerUser({ email: 'test@example.com' });\n    expect(cioMocks.identify).toHaveBeenCalledWith(\n      expect.any(String),\n      expect.objectContaining({ email: 'test@example.com' })\n    );\n  });\n});\n```\n\n### Step 4: Create Dev Scripts\n```json\n{\n  \"scripts\": {\n    \"dev:cio\": \"CUSTOMERIO_DRY_RUN=true ts-node scripts\u002Ftest-customerio.ts\",\n    \"dev:cio:live\": \"dotenv -e .env.development ts-node scripts\u002Ftest-customerio.ts\",\n    \"test:cio\": \"vitest run --reporter=verbose tests\u002Fcustomerio\u002F\"\n  }\n}\n```\n\n## Output\n- Environment-aware Customer.io client\n- Dry-run mode for safe testing\n- Test mocks for unit testing\n- Prefixed events for development isolation\n\n## Error Handling\n| Error | Cause | Solution |\n|-------|-------|----------|\n| Wrong environment | Env vars not loaded | Use dotenv or env-specific files |\n| Dev events in prod | Environment check failed | Verify NODE_ENV is set correctly |\n| Mock not working | Import order issue | Mock before importing client |\n\n## Resources\n- [Customer.io Workspaces](https:\u002F\u002Fcustomer.io\u002Fdocs\u002Fworkspaces\u002F)\n- [Test Mode Best Practices](https:\u002F\u002Fcustomer.io\u002Fdocs\u002Ftest-mode\u002F)\n\n## Next Steps\nAfter setting up local dev, proceed to `customerio-sdk-patterns` for production-ready patterns.\n","# Customer.io Local Dev Loop\n\n## Overview\nSet up an efficient local development workflow for Customer.io integrations with proper testing and isolation.\n\n## Prerequisites\n- Customer.io SDK installed\n- Separate development workspace in Customer.io (recommended)\n- Environment variable management tool (dotenv)\n\n## Instructions\n\n### Step 1: Create Environment Configuration\n```bash\n# .env.development\nCUSTOMERIO_SITE_ID=dev-site-id\nCUSTOMERIO_API_KEY=dev-api-key\nCUSTOMERIO_REGION=us\n\n# .env.production\nCUSTOMERIO_SITE_ID=prod-site-id\nCUSTOMERIO_API_KEY=prod-api-key\nCUSTOMERIO_REGION=us\n```\n\n### Step 2: Create Dev Client Wrapper\n```typescript\n\u002F\u002F lib\u002Fcustomerio.ts\nimport { TrackClient, RegionUS, RegionEU } from '@customerio\u002Ftrack';\n\nconst getRegion = () => {\n  return process.env.CUSTOMERIO_REGION === 'eu' ? RegionEU : RegionUS;\n};\n\nconst isDevelopment = process.env.NODE_ENV !== 'production';\n\nclass CustomerIOClient {\n  private client: TrackClient;\n  private dryRun: boolean;\n\n  constructor() {\n    this.client = new TrackClient(\n      process.env.CUSTOMERIO_SITE_ID!,\n      process.env.CUSTOMERIO_API_KEY!,\n      { region: getRegion() }\n    );\n    this.dryRun = process.env.CUSTOMERIO_DRY_RUN === 'true';\n  }\n\n  async identify(userId: string, attributes: Record\u003Cstring, any>) {\n    if (this.dryRun) {\n      console.log('[DRY RUN] Identify:', { userId, attributes });\n      return;\n    }\n    if (isDevelopment) {\n      attributes._dev = true;\n      attributes._dev_timestamp = new Date().toISOString();\n    }\n    return this.client.identify(userId, attributes);\n  }\n\n  async track(userId: string, eventName: string, data?: Record\u003Cstring, any>) {\n    if (this.dryRun) {\n      console.log('[DRY RUN] Track:', { userId, eventName, data });\n      return;\n    }\n    const eventData = {\n      name: isDevelopment ? `dev_${eventName}` : eventName,\n      data: { ...data, _dev: isDevelopment }\n    };\n    return this.client.track(userId, eventData);\n  }\n}\n\nexport const cio = new CustomerIOClient();\n```\n\n### Step 3: Set Up Test Helpers\n```typescript\n\u002F\u002F test\u002Fhelpers\u002Fcustomerio-mock.ts\nimport { vi } from 'vitest';\n\nexport const mockCustomerIO = () => {\n  const mocks = {\n    identify: vi.fn().mockResolvedValue(undefined),\n    track: vi.fn().mockResolvedValue(undefined),\n    trackAnonymous: vi.fn().mockResolvedValue(undefined),\n  };\n\n  vi.mock('@customerio\u002Ftrack', () => ({\n    TrackClient: vi.fn().mockImplementation(() => mocks),\n    RegionUS: 'us',\n    RegionEU: 'eu',\n  }));\n\n  return mocks;\n};\n\n\u002F\u002F Usage in tests\nimport { mockCustomerIO } from '.\u002Fhelpers\u002Fcustomerio-mock';\n\ndescribe('User Registration', () => {\n  const cioMocks = mockCustomerIO();\n\n  it('identifies user on signup', async () => {\n    await registerUser({ email: 'test@example.com' });\n    expect(cioMocks.identify).toHaveBeenCalledWith(\n      expect.any(String),\n      expect.objectContaining({ email: 'test@example.com' })\n    );\n  });\n});\n```\n\n### Step 4: Create Dev Scripts\n```json\n{\n  \"scripts\": {\n    \"dev:cio\": \"CUSTOMERIO_DRY_RUN=true ts-node scripts\u002Ftest-customerio.ts\",\n    \"dev:cio:live\": \"dotenv -e .env.development ts-node scripts\u002Ftest-customerio.ts\",\n    \"test:cio\": \"vitest run --reporter=verbose tests\u002Fcustomerio\u002F\"\n  }\n}\n```\n\n## Output\n- Environment-aware Customer.io client\n- Dry-run mode for safe testing\n- Test mocks for unit testing\n- Prefixed events for development isolation\n\n## Error Handling\n| Error | Cause | Solution |\n|-------|-------|----------|\n| Wrong environment | Env vars not loaded | Use dotenv or env-specific files |\n| Dev events in prod | Environment check failed | Verify NODE_ENV is set correctly |\n| Mock not working | Import order issue | Mock before importing client |\n\n## Resources\n- [Customer.io Workspaces](https:\u002F\u002Fcustomer.io\u002Fdocs\u002Fworkspaces\u002F)\n- [Test Mode Best Practices](https:\u002F\u002Fcustomer.io\u002Fdocs\u002Ftest-mode\u002F)\n\n## Next Steps\nAfter setting up local dev, proceed to `customerio-sdk-patterns` for production-ready patterns.\n",{"name":5,"author":51,"license":15,"version":52,"description":53,"allowed-tools":54},"Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Configure Customer.io local development workflow.\nUse when setting up local testing, development environment,\nor offline development for Customer.io integrations.\nTrigger with phrases like \"customer.io local dev\", \"test customer.io locally\",\n\"customer.io development environment\", \"customer.io sandbox\".\n","Read, Write, Edit, Bash(npm:*), Bash(pip:*), Grep","main","90b50ed0778745a80fd5bfb13b1843d45b9e82f7","tests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fsaas-packs\u002Fcustomerio-pack\u002Fskills\u002Fcustomerio-local-dev-loop",233,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust","https:\u002F\u002Fgithub.com\u002FDicklesworthstone","https:\u002F\u002Fwww.jeffreyemanuel.com\u002F","Building in NY","2026-11-13 03:33:43",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":76},[66,69,72],{"tool":67,"command":68},"npx","npx skills add Dicklesworthstone\u002Fpi_agent_rust --skill customerio-local-dev-loop",{"tool":70,"command":71},"bunx","bunx skills add Dicklesworthstone\u002Fpi_agent_rust --skill customerio-local-dev-loop",{"tool":73,"command":74},"pnpm","pnpm dlx skills add Dicklesworthstone\u002Fpi_agent_rust --skill customerio-local-dev-loop","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fsaas-packs\u002Fcustomerio-pack\u002Fskills\u002Fcustomerio-local-dev-loop\u002FSKILL.md",true,[],[79,118,139,165,191,213],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":83,"licenseFileUrl":84,"sourceHtmlUrl":85,"categories":86,"keywords":90,"publishedAt":46},"01M6FEGPPK0ZTKCCM0R3E3KS33","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","Apache-2.0","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Futilities\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Futilities\u002Fweb-artifacts-builder\u002FSKILL.md",[87],{"categoryNo":88,"categoryName":89,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117],"web artifacts builder","web","artifacts","artifacts builder","builder","frontend","css","components","react","component","routing","state management","state","shadcn","file","ui","Tools","Tailwind","use","html","single-file","simple","ui components","multi","for","jsx","suite",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":83,"licenseFileUrl":122,"sourceHtmlUrl":123,"categories":124,"keywords":127,"publishedAt":46},"01M6FEE9VTK1W4GY21AKREJXRG","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fsecurity\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fsecurity\u002Fwebapp-testing\u002FSKILL.md",[125,126],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":88,"categoryName":89,"taxonomyType":21,"taxonomyTypeDesc":22},[31,128,129,96,130,131,92,132,133,134,106,135,136,137,27,138,115],"webapp testing","webapp","screenshots","playwright","debugging","toolkit","browser","logs","applications","behavior","with",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":143,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":46},"01M6FE20F7ZTQBFWKF4MPJ2SBX","neuropixels-analysis","Neuropixels neural recording analysis. Load SpikeGLX\u002FOpenEphys data, preprocess, motion correction, Kilosort4 spike sorting, quality metrics, Allen\u002FIBL curation, AI-assisted visual analysis, for Neuropixels 1.0\u002F2.0 extracellular electrophysiology. Use when working with neural recordings, spike sorting, extracellular electrophysiology, or when the user mentions Neuropixels, SpikeGLX, Open Ephys, Kilosort, quality metrics, or unit curation.","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fscientific\u002Fneuropixels-analysis\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fscientific\u002Fneuropixels-analysis\u002FSKILL.md",[],[147,148,149,150,151,152,153,154,109,155,156,157,158,159,160,161,138,162,163,164,115,32],"analysis","neuropixels analysis","spike","metrics","data","open","quality","user","recordings","Neural","motion","visual","quality metrics","unit","sorting","curation","recording","load",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":83,"licenseFileUrl":169,"sourceHtmlUrl":170,"categories":171,"keywords":175,"publishedAt":46},"01M6FDP0PDK6F1GGX395C7625Z","skill-creator","Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fskill-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fskill-creator\u002FSKILL.md",[172],{"categoryNo":173,"categoryName":174,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[176,177,178,179,180,181,182,183,43,184,185,186,187,188,138,115,189,32,190],"skill creator","creator","workflows","create","update","capabilities","knowledge","tool","specialized","guide","new skill","existing skill","users","Existing","new",{"skillNo":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":195,"sourceHtmlUrl":196,"categories":197,"keywords":199,"publishedAt":46},"01M6FDM8Y7VK7NYG9SM7QPA3PW","notebooklm","Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-only responses.","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fnotebooklm\u002FLICENSE","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fnotebooklm\u002FSKILL.md",[198],{"categoryNo":173,"categoryName":174,"taxonomyType":21,"taxonomyTypeDesc":22},[193,200,201,202,203,204,205,134,206,207,109,208,209,210,211,115,212],"google","browser automation","gemini","automation","auth","code","library","management","only","document","query","Citation","source",{"skillNo":214,"name":215,"nameZh":6,"description":216,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":83,"licenseFileUrl":217,"sourceHtmlUrl":218,"categories":219,"keywords":226,"publishedAt":46},"01M6FDHPXE10J3XGTCH5HBHS1M","slack-gif-creator","Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like \"make me a GIF of X doing Y for Slack.\"","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Fslack-gif-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Fslack-gif-creator\u002FSKILL.md",[220,223],{"categoryNo":221,"categoryName":222,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000005","邮件与沟通",{"categoryNo":224,"categoryName":225,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[227,228,229,177,230,107,231,232,182,109,233,188,234,235,236,115,237,32],"slack gif creator","slack","gif","validation","constraints","Animation","me","make","Utilities","concepts","request"]