[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C6KSCW8BSNNMCGWGDC2YV9":3,"skill-same:01M6C6KSCW8BSNNMCGWGDC2YV9":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":18,"publishedAt":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":6,"ownerDescription":56,"updatedAt":57,"install":58,"resources":71},"01M6C6KSCW8BSNNMCGWGDC2YV9","typescript-strict",null,"TypeScript strict mode: tsconfig.json, strict flags, Bundler\u002FNodeNext moduleResolution, verbatimModuleSyntax. Use when setting up TS or migrating to stricter type safety.","laurigates\u002Fclaude-plugins","laurigates","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F13014001?v=4","01M6C59YHWS9C7KMXKSRX1YXNP","Lauri Gates","01M6C59YP2APG9YAM4DWYQYGFJ",60,"MIT","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Ftypescript-plugin\u002Fskills\u002Ftypescript-strict\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"typescript","typescript strict","up","2026","when","bundler","mode","websearch","2025","sep","false","type","flags","use","webfetch","edit","write","read","grep","json","Bash","Safety","Type Safety","2026-11-10 10:12:30",false,"---\ncreated: 2025-12-16\nmodified: 2026-09-29\nreviewed: 2025-12-16\nname: typescript-strict\ndescription: \"TypeScript strict mode: tsconfig.json, strict flags, Bundler\u002FNodeNext moduleResolution, verbatimModuleSyntax. Use when setting up TS or migrating to stricter type safety.\"\nuser-invocable: false\nallowed-tools: Glob, Grep, Read, Bash, Edit, Write, TodoWrite, WebFetch, WebSearch\n---\n\n# TypeScript Strict Mode\n\nModern TypeScript configuration with strict type checking for maximum safety and developer experience. This guide focuses on TypeScript 5.x best practices for 2025.\n\n## Core Expertise\n\n**What is Strict Mode?**\n- **Type safety**: Catch more bugs at compile time\n- **Better IDE experience**: Improved autocomplete and refactoring\n- **Maintainability**: Self-documenting code with explicit types\n- **Modern defaults**: Align with current TypeScript best practices\n\n**Key Capabilities**\n- Strict null checking\n- Strict function types\n- No implicit any\n- No unchecked indexed access\n- Proper module resolution\n- Modern import\u002Fexport syntax enforcement\n\n## Recommended tsconfig.json (2025)\n\n### Minimal Production Setup\n\n```json\n{\n  \"compilerOptions\": {\n    \u002F\u002F Type Checking\n    \"strict\": true,\n    \"noUncheckedIndexedAccess\": true,\n    \"noImplicitOverride\": true,\n    \"noPropertyAccessFromIndexSignature\": true,\n    \"noFallthroughCasesInSwitch\": true,\n    \"noUnusedLocals\": true,\n    \"noUnusedParameters\": true,\n\n    \u002F\u002F Modules\n    \"module\": \"ESNext\",\n    \"moduleResolution\": \"Bundler\",\n    \"resolveJsonModule\": true,\n    \"allowSyntheticDefaultImports\": true,\n    \"esModuleInterop\": false,\n    \"verbatimModuleSyntax\": true,\n\n    \u002F\u002F Emit\n    \"target\": \"ES2022\",\n    \"lib\": [\"ES2023\", \"DOM\", \"DOM.Iterable\"],\n    \"outDir\": \"dist\",\n    \"declaration\": true,\n    \"declarationMap\": true,\n    \"sourceMap\": true,\n    \"removeComments\": false,\n    \"noEmit\": false,\n\n    \u002F\u002F Interop\n    \"isolatedModules\": true,\n    \"allowJs\": false,\n    \"checkJs\": false,\n    \"skipLibCheck\": true,\n    \"forceConsistentCasingInFileNames\": true\n  },\n  \"include\": [\"src\u002F**\u002F*\"],\n  \"exclude\": [\"node_modules\", \"dist\", \"build\"]\n}\n```\n\n## Strict Flags Explained\n\n### `strict: true` (Umbrella Flag)\n\nEnables all strict type-checking options:\n\n```json\n{\n  \"strict\": true\n  \u002F\u002F Equivalent to:\n  \u002F\u002F \"noImplicitAny\": true,\n  \u002F\u002F \"strictNullChecks\": true,\n  \u002F\u002F \"strictFunctionTypes\": true,\n  \u002F\u002F \"strictBindCallApply\": true,\n  \u002F\u002F \"strictPropertyInitialization\": true,\n  \u002F\u002F \"noImplicitThis\": true,\n  \u002F\u002F \"alwaysStrict\": true\n}\n```\n\n**Always enable `strict: true` for new projects.**\n\n### Additional Strict Flags (Recommended for 2025)\n\n| Flag | Purpose |\n|------|---------|\n| `noUncheckedIndexedAccess` | Index signatures return `T \\| undefined` instead of `T` |\n| `noImplicitOverride` | Require `override` keyword for overridden methods |\n| `noPropertyAccessFromIndexSignature` | Force bracket notation for index signatures |\n| `noFallthroughCasesInSwitch` | Prevent fallthrough in switch statements |\n| `exactOptionalPropertyTypes` | Optional properties cannot be set to `undefined` explicitly |\n\n### `noUncheckedIndexedAccess` (Essential)\n\n```typescript\n\u002F\u002F With noUncheckedIndexedAccess\nconst users: Record\u003Cstring, User> = {};\nconst user = users['john'];\n\u002F\u002F Type: User | undefined (correct - must check before use)\n\nif (user) {\n  console.log(user.name); \u002F\u002F Type narrowed to User\n}\n```\n\n**Always enable this flag to prevent runtime errors.**\n\n## Module Resolution\n\n### Choosing a Strategy\n\n| Strategy | Use For | Extensions Required |\n|----------|---------|---------------------|\n| `Bundler` | Vite, Webpack, Bun projects | No |\n| `NodeNext` | Node.js libraries and servers | Yes (`.js`) |\n\n### `moduleResolution: \"Bundler\"` (Vite\u002FBun)\n\n```json\n{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\",\n    \"moduleResolution\": \"Bundler\"\n  }\n}\n```\n\n- No file extensions required in imports\n- JSON imports without assertions\n- Package.json `exports` field support\n\n### `moduleResolution: \"NodeNext\"` (Node.js)\n\n```json\n{\n  \"compilerOptions\": {\n    \"module\": \"NodeNext\",\n    \"moduleResolution\": \"NodeNext\"\n  }\n}\n```\n\n- Respects package.json `type: \"module\"`\n- Requires explicit `.js` extensions (even for `.ts` files)\n- Supports conditional exports\n\n## verbatimModuleSyntax (Recommended for 2025)\n\nPrevents TypeScript from rewriting imports\u002Fexports.\n\n```json\n{\n  \"compilerOptions\": {\n    \"verbatimModuleSyntax\": true\n  }\n}\n```\n\n```typescript\n\u002F\u002F Error: 'User' is a type and must be imported with 'import type'\nimport { User } from '.\u002Ftypes';\n\n\u002F\u002F Correct\nimport type { User } from '.\u002Ftypes';\n\n\u002F\u002F Correct (mixed import)\nimport { fetchUser, type User } from '.\u002Fapi';\n```\n\n**Replaces** deprecated `importsNotUsedAsValues` and `preserveValueImports`.\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| Check errors | `bunx tsc --noEmit` |\n| Check single file | `bunx tsc --noEmit src\u002Futils.ts` |\n| Show config | `bunx tsc --showConfig` |\n| Check module resolution | `bunx tsc --showConfig \\| grep moduleResolution` |\n\n## Quick Reference\n\n### Recommended Flags\n\n| Flag | Value | Category |\n|------|-------|----------|\n| `strict` | `true` | Type Checking |\n| `noUncheckedIndexedAccess` | `true` | Type Checking |\n| `noImplicitOverride` | `true` | Type Checking |\n| `noPropertyAccessFromIndexSignature` | `true` | Type Checking |\n| `noFallthroughCasesInSwitch` | `true` | Type Checking |\n| `module` | `ESNext` \u002F `NodeNext` | Modules |\n| `moduleResolution` | `Bundler` \u002F `NodeNext` | Modules |\n| `verbatimModuleSyntax` | `true` | Modules |\n| `target` | `ES2022` | Emit |\n| `lib` | add `\"ESNext\"` (TS 6.0+) for `Temporal` types; see `typescript-temporal` | Type Checking |\n| `isolatedModules` | `true` | Interop |\n| `skipLibCheck` | `true` | Interop |\n\nFor detailed examples, advanced patterns, and best practices, see [REFERENCE.md](REFERENCE.md).\n\n## References\n\n- TypeScript Handbook: https:\u002F\u002Fwww.typescriptlang.org\u002Fdocs\u002Fhandbook\u002Fintro.html\n- TSConfig Reference: https:\u002F\u002Fwww.typescriptlang.org\u002Ftsconfig\n- Strict Mode Guide: https:\u002F\u002Fwww.typescriptlang.org\u002Ftsconfig#strict\n- Module Resolution: https:\u002F\u002Fwww.typescriptlang.org\u002Fdocs\u002Fhandbook\u002Fmodule-resolution.html\n- Best Practices: https:\u002F\u002Fwww.typescriptlang.org\u002Fdocs\u002Fhandbook\u002Fdeclaration-files\u002Fdo-s-and-don-ts.html\n","# TypeScript Strict Mode\n\nModern TypeScript configuration with strict type checking for maximum safety and developer experience. This guide focuses on TypeScript 5.x best practices for 2025.\n\n## Core Expertise\n\n**What is Strict Mode?**\n- **Type safety**: Catch more bugs at compile time\n- **Better IDE experience**: Improved autocomplete and refactoring\n- **Maintainability**: Self-documenting code with explicit types\n- **Modern defaults**: Align with current TypeScript best practices\n\n**Key Capabilities**\n- Strict null checking\n- Strict function types\n- No implicit any\n- No unchecked indexed access\n- Proper module resolution\n- Modern import\u002Fexport syntax enforcement\n\n## Recommended tsconfig.json (2025)\n\n### Minimal Production Setup\n\n```json\n{\n  \"compilerOptions\": {\n    \u002F\u002F Type Checking\n    \"strict\": true,\n    \"noUncheckedIndexedAccess\": true,\n    \"noImplicitOverride\": true,\n    \"noPropertyAccessFromIndexSignature\": true,\n    \"noFallthroughCasesInSwitch\": true,\n    \"noUnusedLocals\": true,\n    \"noUnusedParameters\": true,\n\n    \u002F\u002F Modules\n    \"module\": \"ESNext\",\n    \"moduleResolution\": \"Bundler\",\n    \"resolveJsonModule\": true,\n    \"allowSyntheticDefaultImports\": true,\n    \"esModuleInterop\": false,\n    \"verbatimModuleSyntax\": true,\n\n    \u002F\u002F Emit\n    \"target\": \"ES2022\",\n    \"lib\": [\"ES2023\", \"DOM\", \"DOM.Iterable\"],\n    \"outDir\": \"dist\",\n    \"declaration\": true,\n    \"declarationMap\": true,\n    \"sourceMap\": true,\n    \"removeComments\": false,\n    \"noEmit\": false,\n\n    \u002F\u002F Interop\n    \"isolatedModules\": true,\n    \"allowJs\": false,\n    \"checkJs\": false,\n    \"skipLibCheck\": true,\n    \"forceConsistentCasingInFileNames\": true\n  },\n  \"include\": [\"src\u002F**\u002F*\"],\n  \"exclude\": [\"node_modules\", \"dist\", \"build\"]\n}\n```\n\n## Strict Flags Explained\n\n### `strict: true` (Umbrella Flag)\n\nEnables all strict type-checking options:\n\n```json\n{\n  \"strict\": true\n  \u002F\u002F Equivalent to:\n  \u002F\u002F \"noImplicitAny\": true,\n  \u002F\u002F \"strictNullChecks\": true,\n  \u002F\u002F \"strictFunctionTypes\": true,\n  \u002F\u002F \"strictBindCallApply\": true,\n  \u002F\u002F \"strictPropertyInitialization\": true,\n  \u002F\u002F \"noImplicitThis\": true,\n  \u002F\u002F \"alwaysStrict\": true\n}\n```\n\n**Always enable `strict: true` for new projects.**\n\n### Additional Strict Flags (Recommended for 2025)\n\n| Flag | Purpose |\n|------|---------|\n| `noUncheckedIndexedAccess` | Index signatures return `T \\| undefined` instead of `T` |\n| `noImplicitOverride` | Require `override` keyword for overridden methods |\n| `noPropertyAccessFromIndexSignature` | Force bracket notation for index signatures |\n| `noFallthroughCasesInSwitch` | Prevent fallthrough in switch statements |\n| `exactOptionalPropertyTypes` | Optional properties cannot be set to `undefined` explicitly |\n\n### `noUncheckedIndexedAccess` (Essential)\n\n```typescript\n\u002F\u002F With noUncheckedIndexedAccess\nconst users: Record\u003Cstring, User> = {};\nconst user = users['john'];\n\u002F\u002F Type: User | undefined (correct - must check before use)\n\nif (user) {\n  console.log(user.name); \u002F\u002F Type narrowed to User\n}\n```\n\n**Always enable this flag to prevent runtime errors.**\n\n## Module Resolution\n\n### Choosing a Strategy\n\n| Strategy | Use For | Extensions Required |\n|----------|---------|---------------------|\n| `Bundler` | Vite, Webpack, Bun projects | No |\n| `NodeNext` | Node.js libraries and servers | Yes (`.js`) |\n\n### `moduleResolution: \"Bundler\"` (Vite\u002FBun)\n\n```json\n{\n  \"compilerOptions\": {\n    \"module\": \"ESNext\",\n    \"moduleResolution\": \"Bundler\"\n  }\n}\n```\n\n- No file extensions required in imports\n- JSON imports without assertions\n- Package.json `exports` field support\n\n### `moduleResolution: \"NodeNext\"` (Node.js)\n\n```json\n{\n  \"compilerOptions\": {\n    \"module\": \"NodeNext\",\n    \"moduleResolution\": \"NodeNext\"\n  }\n}\n```\n\n- Respects package.json `type: \"module\"`\n- Requires explicit `.js` extensions (even for `.ts` files)\n- Supports conditional exports\n\n## verbatimModuleSyntax (Recommended for 2025)\n\nPrevents TypeScript from rewriting imports\u002Fexports.\n\n```json\n{\n  \"compilerOptions\": {\n    \"verbatimModuleSyntax\": true\n  }\n}\n```\n\n```typescript\n\u002F\u002F Error: 'User' is a type and must be imported with 'import type'\nimport { User } from '.\u002Ftypes';\n\n\u002F\u002F Correct\nimport type { User } from '.\u002Ftypes';\n\n\u002F\u002F Correct (mixed import)\nimport { fetchUser, type User } from '.\u002Fapi';\n```\n\n**Replaces** deprecated `importsNotUsedAsValues` and `preserveValueImports`.\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| Check errors | `bunx tsc --noEmit` |\n| Check single file | `bunx tsc --noEmit src\u002Futils.ts` |\n| Show config | `bunx tsc --showConfig` |\n| Check module resolution | `bunx tsc --showConfig \\| grep moduleResolution` |\n\n## Quick Reference\n\n### Recommended Flags\n\n| Flag | Value | Category |\n|------|-------|----------|\n| `strict` | `true` | Type Checking |\n| `noUncheckedIndexedAccess` | `true` | Type Checking |\n| `noImplicitOverride` | `true` | Type Checking |\n| `noPropertyAccessFromIndexSignature` | `true` | Type Checking |\n| `noFallthroughCasesInSwitch` | `true` | Type Checking |\n| `module` | `ESNext` \u002F `NodeNext` | Modules |\n| `moduleResolution` | `Bundler` \u002F `NodeNext` | Modules |\n| `verbatimModuleSyntax` | `true` | Modules |\n| `target` | `ES2022` | Emit |\n| `lib` | add `\"ESNext\"` (TS 6.0+) for `Temporal` types; see `typescript-temporal` | Type Checking |\n| `isolatedModules` | `true` | Interop |\n| `skipLibCheck` | `true` | Interop |\n\nFor detailed examples, advanced patterns, and best practices, see [REFERENCE.md](REFERENCE.md).\n\n## References\n\n- TypeScript Handbook: https:\u002F\u002Fwww.typescriptlang.org\u002Fdocs\u002Fhandbook\u002Fintro.html\n- TSConfig Reference: https:\u002F\u002Fwww.typescriptlang.org\u002Ftsconfig\n- Strict Mode Guide: https:\u002F\u002Fwww.typescriptlang.org\u002Ftsconfig#strict\n- Module Resolution: https:\u002F\u002Fwww.typescriptlang.org\u002Fdocs\u002Fhandbook\u002Fmodule-resolution.html\n- Best Practices: https:\u002F\u002Fwww.typescriptlang.org\u002Fdocs\u002Fhandbook\u002Fdeclaration-files\u002Fdo-s-and-don-ts.html\n",{"name":5,"created":47,"modified":48,"reviewed":47,"description":7,"allowed-tools":49,"user-invocable":43},1765843200000,1790640000000,"Glob, Grep, Read, Bash, Edit, Write, TodoWrite, WebFetch, WebSearch","main","bdd0582f1a2ba53d21061835bfd72d45f2f954f4","typescript-plugin\u002Fskills\u002Ftypescript-strict",6,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins","https:\u002F\u002Fgithub.com\u002Flaurigates","Linux enthusiast, cloud engineer, neovim addict, electronics hobbyist.","2026-11-13 20:24:11",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add laurigates\u002Fclaude-plugins --skill typescript-strict",{"tool":64,"command":65},"bunx","bunx skills add laurigates\u002Fclaude-plugins --skill typescript-strict",{"tool":67,"command":68},"pnpm","pnpm dlx skills add laurigates\u002Fclaude-plugins --skill typescript-strict","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Ftypescript-plugin\u002Fskills\u002Ftypescript-strict\u002FSKILL.md",true,[72],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"REFERENCE.md","REFERENCE","参考文档",10889,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Ftypescript-plugin\u002Fskills\u002Ftypescript-strict\u002FREFERENCE.md",[79,106,124,140,163,193],{"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":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":90,"publishedAt":42},"01M70PFHMH9ADY0CRE6047Y4B2","kitty-show-image","Show the user an image with a note on what to judge, via a file send or a labelled kitty tab. Use when the user must see an image, or icat fails with no \u002Fdev\u002Ftty.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-show-image\u002FSKILL.md",[85],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[91,92,93,94,95,96,97,98,99,100,32,23,39,101,102,103,104,105,22,36],"show","kitty show image","image","kitty","show image","ls","get","send","open","dev","file","text","with","xdg","via",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":42},"01M70PFEN18HKQ4RCQ1VPGMPTB","kitty-session-persistence","Snapshot and restore kitty terminal sessions on macOS. Use when surviving WindowServer hangs without losing tabs, configuring snapshots, or restoring after a force-reboot.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-session-persistence\u002FSKILL.md",[],[94,113,114,115,29,116,23,39,117,118,119,22,36,35,34,120,121,122,123,32],"kitty session persistence","session","persistence","snapshots","uname","reboot","terminal","snapshot","macos","sessions","restore",{"skillNo":125,"name":126,"nameZh":6,"description":127,"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":42},"01M70PFC77XGXCVQ1543VGZHYR","kitty-remote-control","Safe kitty remote control from an agent — read panes with kitty @ ls\u002Fget-text, notify, and never mutate the live terminal unasked. Use when running inside kitty.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkitty-plugin\u002Fskills\u002Fkitty-remote-control\u002FSKILL.md",[],[131,132,94,133,134,96,135,136,97,137,138,32,23,139,39,102,103,119,22,36],"kitty remote control","remote","control","remote control","running","never","panes","notify","query",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":42},"01M70P6WVMCT5JG4SACTM69AF9","docs-reference-check","Dangling doc-reference gate: flag markdown naming repo paths or relative links that no longer exist. Use when docs cite moved\u002Fdeleted files, or wiring a doc-drift lint.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fdocumentation-plugin\u002Fskills\u002Fdocs-reference-check\u002FSKILL.md",[],[147,148,149,150,151,152,153,154,155,156,32,23,39,157,101,158,159,160,161,162],"docs reference check","check","reference check","reference","docs","links","python3","repo","files","auto","drift","lint","wiring","chezmoi","references","cp",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":178,"publishedAt":42},"01M6C6NDE7DAQGNWSF22J5CJ0Z","youtube-upload","Upload a video to YouTube via the Data API v3 and edit its title, description, tags or thumbnail afterwards. Use when publishing or retitling a YouTube video.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fyoutube-plugin\u002Fskills\u002Fyoutube-upload\u002FSKILL.md",[169,172,173],{"categoryNo":170,"categoryName":171,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},{"categoryNo":174,"categoryName":175,"taxonomyType":176,"taxonomyTypeDesc":177},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[179,180,181,182,153,183,36,184,34,185,186,187,32,39,101,188,189,23,190,191,192,105,22],"youtube upload","upload","youtube","Video","run","uv run","publishing","data","uv","api","v3","tags","id","title",{"skillNo":194,"name":195,"nameZh":6,"description":196,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":197,"categories":198,"keywords":202,"publishedAt":42},"01M6C6NABWW1X58KJJM4F6GQMQ","youtube-studio-share","Share a private YouTube video with a whole Google Workspace organization by scripting YouTube Studio in the browser. Use when a video must be org-only.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fyoutube-plugin\u002Fskills\u002Fyoutube-studio-share\u002FSKILL.md",[199],{"categoryNo":200,"categoryName":201,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000023","Skill与智能体开发",[203,204,205,206,181,182,207,208,209,210,211,36,212,213,214,215,32,216,23,103,217,22],"youtube studio share","share","youtube studio","studio","browser","javascript","scripting","google workspace","workspace","tool","google","only","MCP","chrome","organization"]