[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F7XT699PQPHPRBEKNQ2GR2":3,"skill-same:01M6F7XT699PQPHPRBEKNQ2GR2":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},"01M6F7XT699PQPHPRBEKNQ2GR2","linear-local-dev-loop",null,"Set up local Linear development environment and testing workflow.\nUse when configuring local development, testing integrations,\nor setting up a development workflow with Linear.\nTrigger with phrases like \"linear local development\", \"linear dev setup\",\n\"test linear locally\", \"linear development environment\".","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\u002Flinear-pack\u002Fskills\u002Flinear-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","linear local dev loop","local","loop","dev","linear","development workflow","testing","when","dev setup","local development","development environment","testing workflow","io","workflow","up","edit","write","read","Bash","SET","2026-11-10 10:12:30",false,"---\nname: linear-local-dev-loop\ndescription: |\n  Set up local Linear development environment and testing workflow.\n  Use when configuring local development, testing integrations,\n  or setting up a development workflow with Linear.\n  Trigger with phrases like \"linear local development\", \"linear dev setup\",\n  \"test linear locally\", \"linear development environment\".\nallowed-tools: Read, Write, Edit, Bash(npm:*), Bash(npx:*), Grep\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\n---\n\n# Linear Local Dev Loop\n\n## Overview\nSet up an efficient local development workflow for Linear integrations.\n\n## Prerequisites\n- Node.js 18+ with TypeScript\n- Linear SDK installed\n- Separate Linear workspace for development (recommended)\n- ngrok or similar for webhook testing\n\n## Instructions\n\n### Step 1: Project Setup\n```bash\n# Initialize project\nmkdir linear-integration && cd linear-integration\nnpm init -y\nnpm install @linear\u002Fsdk typescript ts-node dotenv\nnpm install -D @types\u002Fnode vitest\n\n# Create tsconfig.json\nnpx tsc --init --target ES2022 --module NodeNext --moduleResolution NodeNext\n```\n\n### Step 2: Environment Configuration\n```bash\n# Create .env for local development\ncat > .env \u003C\u003C 'EOF'\nLINEAR_API_KEY=lin_api_dev_xxxxxxxxxxxx\nLINEAR_WEBHOOK_SECRET=your_webhook_secret\nNODE_ENV=development\nEOF\n\n# Create .env.example (commit this)\ncat > .env.example \u003C\u003C 'EOF'\nLINEAR_API_KEY=lin_api_xxxxxxxxxxxx\nLINEAR_WEBHOOK_SECRET=\nNODE_ENV=development\nEOF\n\n# Add to .gitignore\necho \".env\" >> .gitignore\necho \".env.local\" >> .gitignore\n```\n\n### Step 3: Create Development Client\n```typescript\n\u002F\u002F src\u002Fclient.ts\nimport { LinearClient } from \"@linear\u002Fsdk\";\nimport dotenv from \"dotenv\";\n\ndotenv.config();\n\nexport const linearClient = new LinearClient({\n  apiKey: process.env.LINEAR_API_KEY!,\n});\n\nexport async function verifyClient(): Promise\u003Cboolean> {\n  try {\n    const viewer = await linearClient.viewer;\n    console.log(`[Linear] Connected as ${viewer.name}`);\n    return true;\n  } catch (error) {\n    console.error(\"[Linear] Connection failed:\", error);\n    return false;\n  }\n}\n```\n\n### Step 4: Create Test Utilities\n```typescript\n\u002F\u002F src\u002Ftest-utils.ts\nimport { linearClient } from \".\u002Fclient\";\n\nexport async function createTestIssue(teamKey: string) {\n  const teams = await linearClient.teams();\n  const team = teams.nodes.find(t => t.key === teamKey);\n\n  if (!team) throw new Error(`Team ${teamKey} not found`);\n\n  const result = await linearClient.createIssue({\n    teamId: team.id,\n    title: `[TEST] ${new Date().toISOString()}`,\n    description: \"Automated test issue - safe to delete\",\n  });\n\n  return result.issue;\n}\n\nexport async function cleanupTestIssues(teamKey: string) {\n  const issues = await linearClient.issues({\n    filter: {\n      team: { key: { eq: teamKey } },\n      title: { startsWith: \"[TEST]\" },\n    },\n  });\n\n  for (const issue of issues.nodes) {\n    await issue.delete();\n  }\n\n  console.log(`Cleaned up ${issues.nodes.length} test issues`);\n}\n```\n\n### Step 5: Set Up Watch Mode\n```json\n\u002F\u002F package.json scripts\n{\n  \"scripts\": {\n    \"dev\": \"ts-node --watch src\u002Findex.ts\",\n    \"test\": \"vitest\",\n    \"test:watch\": \"vitest --watch\",\n    \"verify\": \"ts-node src\u002Fverify.ts\"\n  }\n}\n```\n\n## Output\n- Local development environment ready\n- Environment variables configured\n- Test utilities for creating\u002Fcleaning test data\n- Watch mode for rapid iteration\n\n## Error Handling\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `API key not set` | Missing .env file | Copy .env.example to .env |\n| `Cannot find module` | TypeScript config issue | Check tsconfig.json paths |\n| `Connection refused` | Network issue | Verify internet connectivity |\n| `Webhook not received` | Tunnel not running | Start ngrok tunnel |\n\n## Examples\n\n### Webhook Development with ngrok\n```bash\n# Terminal 1: Start your webhook server\nnpm run dev\n\n# Terminal 2: Start ngrok tunnel\nngrok http 3000\n\n# Copy the https URL and add to Linear webhook settings\n```\n\n### Integration Test Example\n```typescript\n\u002F\u002F tests\u002Fintegration.test.ts\nimport { describe, it, expect, afterAll } from \"vitest\";\nimport { createTestIssue, cleanupTestIssues } from \"..\u002Fsrc\u002Ftest-utils\";\n\ndescribe(\"Linear Integration\", () => {\n  const teamKey = \"ENG\"; \u002F\u002F Your test team\n\n  afterAll(async () => {\n    await cleanupTestIssues(teamKey);\n  });\n\n  it(\"should create and fetch an issue\", async () => {\n    const issue = await createTestIssue(teamKey);\n    expect(issue).toBeDefined();\n    expect(issue?.title).toContain(\"[TEST]\");\n  });\n});\n```\n\n## Resources\n- [Linear SDK TypeScript](https:\u002F\u002Fdevelopers.linear.app\u002Fdocs\u002Fsdk\u002Fgetting-started)\n- [Webhook Development](https:\u002F\u002Fdevelopers.linear.app\u002Fdocs\u002Fgraphql\u002Fwebhooks)\n- [ngrok Documentation](https:\u002F\u002Fngrok.com\u002Fdocs)\n\n## Next Steps\nAfter setting up local dev, proceed to `linear-sdk-patterns` for best practices.\n","# Linear Local Dev Loop\n\n## Overview\nSet up an efficient local development workflow for Linear integrations.\n\n## Prerequisites\n- Node.js 18+ with TypeScript\n- Linear SDK installed\n- Separate Linear workspace for development (recommended)\n- ngrok or similar for webhook testing\n\n## Instructions\n\n### Step 1: Project Setup\n```bash\n# Initialize project\nmkdir linear-integration && cd linear-integration\nnpm init -y\nnpm install @linear\u002Fsdk typescript ts-node dotenv\nnpm install -D @types\u002Fnode vitest\n\n# Create tsconfig.json\nnpx tsc --init --target ES2022 --module NodeNext --moduleResolution NodeNext\n```\n\n### Step 2: Environment Configuration\n```bash\n# Create .env for local development\ncat > .env \u003C\u003C 'EOF'\nLINEAR_API_KEY=lin_api_dev_xxxxxxxxxxxx\nLINEAR_WEBHOOK_SECRET=your_webhook_secret\nNODE_ENV=development\nEOF\n\n# Create .env.example (commit this)\ncat > .env.example \u003C\u003C 'EOF'\nLINEAR_API_KEY=lin_api_xxxxxxxxxxxx\nLINEAR_WEBHOOK_SECRET=\nNODE_ENV=development\nEOF\n\n# Add to .gitignore\necho \".env\" >> .gitignore\necho \".env.local\" >> .gitignore\n```\n\n### Step 3: Create Development Client\n```typescript\n\u002F\u002F src\u002Fclient.ts\nimport { LinearClient } from \"@linear\u002Fsdk\";\nimport dotenv from \"dotenv\";\n\ndotenv.config();\n\nexport const linearClient = new LinearClient({\n  apiKey: process.env.LINEAR_API_KEY!,\n});\n\nexport async function verifyClient(): Promise\u003Cboolean> {\n  try {\n    const viewer = await linearClient.viewer;\n    console.log(`[Linear] Connected as ${viewer.name}`);\n    return true;\n  } catch (error) {\n    console.error(\"[Linear] Connection failed:\", error);\n    return false;\n  }\n}\n```\n\n### Step 4: Create Test Utilities\n```typescript\n\u002F\u002F src\u002Ftest-utils.ts\nimport { linearClient } from \".\u002Fclient\";\n\nexport async function createTestIssue(teamKey: string) {\n  const teams = await linearClient.teams();\n  const team = teams.nodes.find(t => t.key === teamKey);\n\n  if (!team) throw new Error(`Team ${teamKey} not found`);\n\n  const result = await linearClient.createIssue({\n    teamId: team.id,\n    title: `[TEST] ${new Date().toISOString()}`,\n    description: \"Automated test issue - safe to delete\",\n  });\n\n  return result.issue;\n}\n\nexport async function cleanupTestIssues(teamKey: string) {\n  const issues = await linearClient.issues({\n    filter: {\n      team: { key: { eq: teamKey } },\n      title: { startsWith: \"[TEST]\" },\n    },\n  });\n\n  for (const issue of issues.nodes) {\n    await issue.delete();\n  }\n\n  console.log(`Cleaned up ${issues.nodes.length} test issues`);\n}\n```\n\n### Step 5: Set Up Watch Mode\n```json\n\u002F\u002F package.json scripts\n{\n  \"scripts\": {\n    \"dev\": \"ts-node --watch src\u002Findex.ts\",\n    \"test\": \"vitest\",\n    \"test:watch\": \"vitest --watch\",\n    \"verify\": \"ts-node src\u002Fverify.ts\"\n  }\n}\n```\n\n## Output\n- Local development environment ready\n- Environment variables configured\n- Test utilities for creating\u002Fcleaning test data\n- Watch mode for rapid iteration\n\n## Error Handling\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `API key not set` | Missing .env file | Copy .env.example to .env |\n| `Cannot find module` | TypeScript config issue | Check tsconfig.json paths |\n| `Connection refused` | Network issue | Verify internet connectivity |\n| `Webhook not received` | Tunnel not running | Start ngrok tunnel |\n\n## Examples\n\n### Webhook Development with ngrok\n```bash\n# Terminal 1: Start your webhook server\nnpm run dev\n\n# Terminal 2: Start ngrok tunnel\nngrok http 3000\n\n# Copy the https URL and add to Linear webhook settings\n```\n\n### Integration Test Example\n```typescript\n\u002F\u002F tests\u002Fintegration.test.ts\nimport { describe, it, expect, afterAll } from \"vitest\";\nimport { createTestIssue, cleanupTestIssues } from \"..\u002Fsrc\u002Ftest-utils\";\n\ndescribe(\"Linear Integration\", () => {\n  const teamKey = \"ENG\"; \u002F\u002F Your test team\n\n  afterAll(async () => {\n    await cleanupTestIssues(teamKey);\n  });\n\n  it(\"should create and fetch an issue\", async () => {\n    const issue = await createTestIssue(teamKey);\n    expect(issue).toBeDefined();\n    expect(issue?.title).toContain(\"[TEST]\");\n  });\n});\n```\n\n## Resources\n- [Linear SDK TypeScript](https:\u002F\u002Fdevelopers.linear.app\u002Fdocs\u002Fsdk\u002Fgetting-started)\n- [Webhook Development](https:\u002F\u002Fdevelopers.linear.app\u002Fdocs\u002Fgraphql\u002Fwebhooks)\n- [ngrok Documentation](https:\u002F\u002Fngrok.com\u002Fdocs)\n\n## Next Steps\nAfter setting up local dev, proceed to `linear-sdk-patterns` for best practices.\n",{"name":5,"author":51,"license":15,"version":52,"description":53,"allowed-tools":54},"Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Set up local Linear development environment and testing workflow.\nUse when configuring local development, testing integrations,\nor setting up a development workflow with Linear.\nTrigger with phrases like \"linear local development\", \"linear dev setup\",\n\"test linear locally\", \"linear development environment\".\n","Read, Write, Edit, Bash(npm:*), Bash(npx:*), Grep","main","90b50ed0778745a80fd5bfb13b1843d45b9e82f7","tests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fsaas-packs\u002Flinear-pack\u002Fskills\u002Flinear-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 linear-local-dev-loop",{"tool":70,"command":71},"bunx","bunx skills add Dicklesworthstone\u002Fpi_agent_rust --skill linear-local-dev-loop",{"tool":73,"command":74},"pnpm","pnpm dlx skills add Dicklesworthstone\u002Fpi_agent_rust --skill linear-local-dev-loop","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fsaas-packs\u002Flinear-pack\u002Fskills\u002Flinear-local-dev-loop\u002FSKILL.md",true,[],[79,118,139,165,192,214],{"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},[32,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,33],"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,184,185,186,187,188,189,138,115,190,33,191],"skill creator","creator","workflows","create","update","capabilities","knowledge","tool","integrations","specialized","guide","new skill","existing skill","users","Existing","new",{"skillNo":193,"name":194,"nameZh":6,"description":195,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":196,"sourceHtmlUrl":197,"categories":198,"keywords":200,"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",[199],{"categoryNo":173,"categoryName":174,"taxonomyType":21,"taxonomyTypeDesc":22},[194,201,202,203,204,205,206,134,207,208,109,209,210,211,212,115,213],"google","browser automation","gemini","automation","auth","code","library","management","only","document","query","Citation","source",{"skillNo":215,"name":216,"nameZh":6,"description":217,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":83,"licenseFileUrl":218,"sourceHtmlUrl":219,"categories":220,"keywords":227,"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",[221,224],{"categoryNo":222,"categoryName":223,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000005","邮件与沟通",{"categoryNo":225,"categoryName":226,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[228,229,230,177,231,107,232,233,182,109,234,189,235,236,237,115,238,33],"slack gif creator","slack","gif","validation","constraints","Animation","me","make","Utilities","concepts","request"]