[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C5NFJV0CFRE11BXG09W5KZ":3,"skill-same:01M6C5NFJV0CFRE11BXG09W5KZ":91},{"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":55,"linkOnly":56,"markdownContent":57,"markdownBody":58,"frontMatter":59,"refName":63,"commitSha":64,"skillDirectory":65,"forksCount":66,"repositoryHtmlUrl":67,"repositoryHomepageUrl":6,"ownerHtmlUrl":68,"ownerBlogUrl":6,"ownerDescription":69,"updatedAt":70,"install":71,"resources":84},"01M6C5NFJV0CFRE11BXG09W5KZ","configure-completions",null,"Shell completions for a released CLI: generator subcommand, Homebrew\u002Farchive\u002Finstaller delivery, drift test. Use when a repo ships a CLI binary, to add or audit its completions.","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\u002Fconfigure-plugin\u002Fskills\u002Fconfigure-completions\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,46,47,48,49,50,51,52,53,54],"configure completions","configure","repo","2026","when","add","delivery","drift","uv","only","diff","use","fix","edit","write","read","check","cli","find","just","archive","Bash","fish","shell","zsh","homebrew","audit","git","status","test","go","2026-11-10 10:12:30",false,"---\nname: configure-completions\ndescription: \"Shell completions for a released CLI: generator subcommand, Homebrew\u002Farchive\u002Finstaller delivery, drift test. Use when a repo ships a CLI binary, to add or audit its completions.\"\nargs: \"[--check-only] [--fix]\"\nargument-hint: \"[--check-only] [--fix]\"\nallowed-tools: Glob, Grep, Read, Write, Edit, Bash(cargo *), Bash(go *), Bash(uv *), Bash(just *), Bash(git status *), Bash(git diff *), Bash(git add *), Bash(find *), Bash(test *), Bash(bash -n *), Bash(zsh -n *), Bash(fish -n *), AskUserQuestion, TodoWrite\ncreated: 2026-10-30\nmodified: 2026-10-30\nreviewed: 2026-10-30\n---\n\n# \u002Fconfigure:completions\n\nMake every CLI a repo releases ship shell completions, through every channel a\nuser can install it from, with a test that keeps committed scripts current.\n\n## When to Use This Skill\n\n| Use this skill when... | Use another approach when... |\n|------------------------|------------------------------|\n| A repo releases a CLI binary and has no `completions` command | The Typer\u002FClick `--install-completion` mechanics themselves are the problem — `python-plugin:typer-cli-completion` |\n| Auditing that Homebrew, archives and installers all deliver completions | Setting up the release pipeline itself — `\u002Fconfigure:release-please`, `\u002Fconfigure:workflows` |\n| Completions exist but nothing stops the committed scripts drifting | The repo ships a library, not a CLI — this standard is N\u002FA |\n\n## Context\n\n- Rust bins: !`find . -maxdepth 3 -name Cargo.toml -not -path '*\u002Ftarget\u002F*'`\n- Go modules: !`find . -maxdepth 2 -name go.mod`\n- Python projects: !`find . -maxdepth 2 -name pyproject.toml`\n- cargo-dist config: !`find . -maxdepth 1 \\( -name 'dist-workspace.toml' -o -name 'dist.toml' \\)`\n- GoReleaser config: !`find . -maxdepth 1 \\( -name '.goreleaser.yml' -o -name '.goreleaser.yaml' \\)`\n- Committed completion scripts: !`find . -type d -name completions -not -path '*\u002F.git\u002F*' -not -path '*\u002Ftarget\u002F*' -not -path '*\u002Fnode_modules\u002F*'`\n- Project standards: !`find . -maxdepth 1 -name '.project-standards.yaml'`\n\n## Parameters\n\n| Parameter | Description |\n|-----------|-------------|\n| `--check-only` | Report the compliance table; write nothing |\n| `--fix` | Apply every missing piece without prompting |\n\nDefault (no flag): report, then ask before applying fixes.\n\n## The Standard\n\nA released CLI is compliant when all three hold:\n\n1. **Generator** — the binary prints its own completion script, generated from\n   the CLI definition: `\u003Cbin> completions \u003Cshell>` (clap), the built-in\n   `completion` command (cobra), or `--show-completion` (Typer). Never a\n   hand-written script.\n2. **Every install channel delivers them**:\n\n   | Channel | Delivery |\n   |---------|----------|\n   | Homebrew formula\u002Fcask | `generate_completions_from_executable` runs the generator at install |\n   | Release archives | pre-generated bash\u002Fzsh\u002Ffish scripts in a `completions\u002F` directory |\n   | Shell installer, `cargo install`, `go install`, `uv tool install`\u002F`pipx`, source | documented `eval \"$(\u003Cbin> completions zsh)\"` lines (these installers cannot place completion files) |\n\n3. **No drift** — committed scripts are compared with generator output by a\n   test in the normal suite, and a recipe (`just completions`) regenerates them.\n   Channels that run the generator at install or shell start cannot drift; only\n   committed copies can.\n\n## Execution\n\nExecute this completions compliance workflow:\n\n### Step 1: Decide applicability\n\nFind the released binaries: `[[bin]]`\u002F`[package.metadata.dist]` (Rust),\n`package main` + a `.goreleaser.y*ml` `builds` entry (Go),\n`[project.scripts]` (Python). No released binary → report `N\u002FA` and stop.\n\n### Step 2: Detect the framework and channels\n\n- Framework: `clap` in Cargo.toml, `github.com\u002Fspf13\u002Fcobra` in go.mod,\n  `typer`\u002F`click` in pyproject.toml. Another framework → report it and check\n  whether it has a generator before proposing anything.\n- Channels: cargo-dist `installers` (shell, homebrew, powershell, npm),\n  GoReleaser `homebrew_casks`\u002F`brews`\u002F`archives`, a tap repo, PyPI.\n\n### Step 3: Check each requirement\n\nReport one row per requirement, each with the evidence that decides it:\n\n| Requirement | PASS evidence |\n|-------------|---------------|\n| Generator | `\u003Cbin> completions bash` (or the framework's form) exits 0 and prints a script |\n| Homebrew | the published formula\u002Fcask contains `generate_completions_from_executable` — read the tap file, not the generator config |\n| Archives | the archive listing contains `completions\u002F` (e.g. `tar -tJf` on a local `dist build`) |\n| Installer docs | README or usage doc shows the `eval`\u002F`source` lines |\n| Drift test | a test reads the committed scripts and compares them with generator output |\n| Regenerate recipe | a justfile\u002FMakefile target writes the scripts from the generator |\n\n### Step 4: Apply fixes (`--fix` or confirmed)\n\nPer framework, use the templates in [REFERENCE.md](REFERENCE.md):\n\n- **Rust \u002F clap**: add `clap_complete`, a `Completions { shell: Shell }`\n  subcommand, committed scripts, the drift test; with cargo-dist, `include` the\n  scripts and patch the generated formula (dist's formula installs only\n  executables).\n- **Go \u002F cobra**: the default `completion` command already exists unless\n  `CompletionOptions.DisableDefaultCmd` is set; wire GoReleaser's\n  `generate_completions_from_executable` with `shell_parameter_format: cobra`.\n- **Python \u002F Typer or Click**: see `python-plugin:typer-cli-completion` for\n  generating scripts from a non-shell parent; Homebrew uses\n  `shell_parameter_format: :typer` or `:click`.\n\nThen add the docs section and the regenerate recipe, regenerate, and\nsyntax-check the scripts (`bash -n`, `zsh -n`, `fish -n`).\n\n### Step 5: Prove the drift test bites\n\nAppend a line to one committed script, run the test, confirm it fails with the\nregenerate hint, restore the file. A drift test never seen failing is not\nevidence.\n\n### Step 6: Update standards tracking\n\n```yaml\ncomponents:\n  completions: \"2025.1\"\n  completions_framework: \"[clap|cobra|typer|click]\"\n  completions_channels: [homebrew, archives, docs]\n```\n\n### Step 7: Report\n\nPrint the compliance table, the files changed, and anything only a release can\nverify (a patched formula is exercised by the next publish). Under\n`--check-only`, prefix with \"DRY RUN — no files modified\".\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| Audit only | `\u002Fconfigure:completions --check-only` |\n| Apply all fixes | `\u002Fconfigure:completions --fix` |\n| Generator smoke | `\u003Cbin> completions bash > \u002Fdev\u002Fnull && echo ok` |\n| Archive contents (cargo-dist) | `dist build --artifacts=local --target \u003Ctriple>` then `tar -tJf target\u002Fdistrib\u002F*.tar.xz` |\n| Syntax-check scripts | `bash -n completions\u002F\u003Cbin>.bash && zsh -n completions\u002F_\u003Cbin>` |\n\n## See Also\n\n- [REFERENCE.md](REFERENCE.md) — per-framework templates and the cargo-dist formula patch\n- `python-plugin:typer-cli-completion` — Typer\u002FClick generation from a non-shell parent\n- `\u002Fconfigure:release-please` — the release pipeline these channels hang off\n","# \u002Fconfigure:completions\n\nMake every CLI a repo releases ship shell completions, through every channel a\nuser can install it from, with a test that keeps committed scripts current.\n\n## When to Use This Skill\n\n| Use this skill when... | Use another approach when... |\n|------------------------|------------------------------|\n| A repo releases a CLI binary and has no `completions` command | The Typer\u002FClick `--install-completion` mechanics themselves are the problem — `python-plugin:typer-cli-completion` |\n| Auditing that Homebrew, archives and installers all deliver completions | Setting up the release pipeline itself — `\u002Fconfigure:release-please`, `\u002Fconfigure:workflows` |\n| Completions exist but nothing stops the committed scripts drifting | The repo ships a library, not a CLI — this standard is N\u002FA |\n\n## Context\n\n- Rust bins: !`find . -maxdepth 3 -name Cargo.toml -not -path '*\u002Ftarget\u002F*'`\n- Go modules: !`find . -maxdepth 2 -name go.mod`\n- Python projects: !`find . -maxdepth 2 -name pyproject.toml`\n- cargo-dist config: !`find . -maxdepth 1 \\( -name 'dist-workspace.toml' -o -name 'dist.toml' \\)`\n- GoReleaser config: !`find . -maxdepth 1 \\( -name '.goreleaser.yml' -o -name '.goreleaser.yaml' \\)`\n- Committed completion scripts: !`find . -type d -name completions -not -path '*\u002F.git\u002F*' -not -path '*\u002Ftarget\u002F*' -not -path '*\u002Fnode_modules\u002F*'`\n- Project standards: !`find . -maxdepth 1 -name '.project-standards.yaml'`\n\n## Parameters\n\n| Parameter | Description |\n|-----------|-------------|\n| `--check-only` | Report the compliance table; write nothing |\n| `--fix` | Apply every missing piece without prompting |\n\nDefault (no flag): report, then ask before applying fixes.\n\n## The Standard\n\nA released CLI is compliant when all three hold:\n\n1. **Generator** — the binary prints its own completion script, generated from\n   the CLI definition: `\u003Cbin> completions \u003Cshell>` (clap), the built-in\n   `completion` command (cobra), or `--show-completion` (Typer). Never a\n   hand-written script.\n2. **Every install channel delivers them**:\n\n   | Channel | Delivery |\n   |---------|----------|\n   | Homebrew formula\u002Fcask | `generate_completions_from_executable` runs the generator at install |\n   | Release archives | pre-generated bash\u002Fzsh\u002Ffish scripts in a `completions\u002F` directory |\n   | Shell installer, `cargo install`, `go install`, `uv tool install`\u002F`pipx`, source | documented `eval \"$(\u003Cbin> completions zsh)\"` lines (these installers cannot place completion files) |\n\n3. **No drift** — committed scripts are compared with generator output by a\n   test in the normal suite, and a recipe (`just completions`) regenerates them.\n   Channels that run the generator at install or shell start cannot drift; only\n   committed copies can.\n\n## Execution\n\nExecute this completions compliance workflow:\n\n### Step 1: Decide applicability\n\nFind the released binaries: `[[bin]]`\u002F`[package.metadata.dist]` (Rust),\n`package main` + a `.goreleaser.y*ml` `builds` entry (Go),\n`[project.scripts]` (Python). No released binary → report `N\u002FA` and stop.\n\n### Step 2: Detect the framework and channels\n\n- Framework: `clap` in Cargo.toml, `github.com\u002Fspf13\u002Fcobra` in go.mod,\n  `typer`\u002F`click` in pyproject.toml. Another framework → report it and check\n  whether it has a generator before proposing anything.\n- Channels: cargo-dist `installers` (shell, homebrew, powershell, npm),\n  GoReleaser `homebrew_casks`\u002F`brews`\u002F`archives`, a tap repo, PyPI.\n\n### Step 3: Check each requirement\n\nReport one row per requirement, each with the evidence that decides it:\n\n| Requirement | PASS evidence |\n|-------------|---------------|\n| Generator | `\u003Cbin> completions bash` (or the framework's form) exits 0 and prints a script |\n| Homebrew | the published formula\u002Fcask contains `generate_completions_from_executable` — read the tap file, not the generator config |\n| Archives | the archive listing contains `completions\u002F` (e.g. `tar -tJf` on a local `dist build`) |\n| Installer docs | README or usage doc shows the `eval`\u002F`source` lines |\n| Drift test | a test reads the committed scripts and compares them with generator output |\n| Regenerate recipe | a justfile\u002FMakefile target writes the scripts from the generator |\n\n### Step 4: Apply fixes (`--fix` or confirmed)\n\nPer framework, use the templates in [REFERENCE.md](REFERENCE.md):\n\n- **Rust \u002F clap**: add `clap_complete`, a `Completions { shell: Shell }`\n  subcommand, committed scripts, the drift test; with cargo-dist, `include` the\n  scripts and patch the generated formula (dist's formula installs only\n  executables).\n- **Go \u002F cobra**: the default `completion` command already exists unless\n  `CompletionOptions.DisableDefaultCmd` is set; wire GoReleaser's\n  `generate_completions_from_executable` with `shell_parameter_format: cobra`.\n- **Python \u002F Typer or Click**: see `python-plugin:typer-cli-completion` for\n  generating scripts from a non-shell parent; Homebrew uses\n  `shell_parameter_format: :typer` or `:click`.\n\nThen add the docs section and the regenerate recipe, regenerate, and\nsyntax-check the scripts (`bash -n`, `zsh -n`, `fish -n`).\n\n### Step 5: Prove the drift test bites\n\nAppend a line to one committed script, run the test, confirm it fails with the\nregenerate hint, restore the file. A drift test never seen failing is not\nevidence.\n\n### Step 6: Update standards tracking\n\n```yaml\ncomponents:\n  completions: \"2025.1\"\n  completions_framework: \"[clap|cobra|typer|click]\"\n  completions_channels: [homebrew, archives, docs]\n```\n\n### Step 7: Report\n\nPrint the compliance table, the files changed, and anything only a release can\nverify (a patched formula is exercised by the next publish). Under\n`--check-only`, prefix with \"DRY RUN — no files modified\".\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| Audit only | `\u002Fconfigure:completions --check-only` |\n| Apply all fixes | `\u002Fconfigure:completions --fix` |\n| Generator smoke | `\u003Cbin> completions bash > \u002Fdev\u002Fnull && echo ok` |\n| Archive contents (cargo-dist) | `dist build --artifacts=local --target \u003Ctriple>` then `tar -tJf target\u002Fdistrib\u002F*.tar.xz` |\n| Syntax-check scripts | `bash -n completions\u002F\u003Cbin>.bash && zsh -n completions\u002F_\u003Cbin>` |\n\n## See Also\n\n- [REFERENCE.md](REFERENCE.md) — per-framework templates and the cargo-dist formula patch\n- `python-plugin:typer-cli-completion` — Typer\u002FClick generation from a non-shell parent\n- `\u002Fconfigure:release-please` — the release pipeline these channels hang off\n",{"args":60,"name":5,"created":61,"modified":61,"reviewed":61,"description":7,"allowed-tools":62,"argument-hint":60},"[--check-only] [--fix]",1793318400000,"Glob, Grep, Read, Write, Edit, Bash(cargo *), Bash(go *), Bash(uv *), Bash(just *), Bash(git status *), Bash(git diff *), Bash(git add *), Bash(find *), Bash(test *), Bash(bash -n *), Bash(zsh -n *), Bash(fish -n *), AskUserQuestion, TodoWrite","main","bdd0582f1a2ba53d21061835bfd72d45f2f954f4","configure-plugin\u002Fskills\u002Fconfigure-completions",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":72,"prompt":82,"zipAvailable":83},[73,76,79],{"tool":74,"command":75},"npx","npx skills add laurigates\u002Fclaude-plugins --skill configure-completions",{"tool":77,"command":78},"bunx","bunx skills add laurigates\u002Fclaude-plugins --skill configure-completions",{"tool":80,"command":81},"pnpm","pnpm dlx skills add laurigates\u002Fclaude-plugins --skill configure-completions","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fconfigure-plugin\u002Fskills\u002Fconfigure-completions\u002FSKILL.md",true,[85],{"path":86,"resourceType":87,"resourceTypeDesc":88,"sizeBytes":89,"sourceHtmlUrl":90},"REFERENCE.md","REFERENCE","参考文档",6371,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fconfigure-plugin\u002Fskills\u002Fconfigure-completions\u002FREFERENCE.md",[92,117,136,152,172,201],{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":101,"publishedAt":55},"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",[98],{"categoryNo":99,"categoryName":100,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[102,103,104,105,106,107,108,109,110,111,35,28,45,112,113,114,115,116,27,39],"show","kitty show image","image","kitty","show image","ls","get","send","open","dev","file","text","with","xdg","via",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":123,"publishedAt":55},"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",[],[105,124,125,126,127,128,28,45,129,130,131,27,39,38,37,132,133,134,135,35],"kitty session persistence","session","persistence","false","snapshots","uname","reboot","terminal","snapshot","macos","sessions","restore",{"skillNo":137,"name":138,"nameZh":6,"description":139,"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":55},"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",[],[143,144,105,145,146,107,147,148,108,149,150,35,28,151,45,113,114,131,27,39],"kitty remote control","remote","control","remote control","running","never","panes","notify","query",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"publishedAt":55},"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",[],[159,40,160,161,162,163,164,26,165,166,35,28,45,31,112,167,168,169,170,171],"docs reference check","reference check","reference","docs","links","python3","files","auto","lint","wiring","chezmoi","references","cp",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":187,"publishedAt":55},"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",[178,181,182],{"categoryNo":179,"categoryName":180,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":99,"categoryName":100,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":183,"categoryName":184,"taxonomyType":185,"taxonomyTypeDesc":186},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[188,189,190,191,164,192,39,193,37,194,195,32,35,45,112,196,197,28,198,199,200,116,27],"youtube upload","upload","youtube","Video","run","uv run","publishing","data","api","v3","tags","id","title",{"skillNo":202,"name":203,"nameZh":6,"description":204,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":205,"categories":206,"keywords":210,"publishedAt":55},"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",[207],{"categoryNo":208,"categoryName":209,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[211,212,213,214,190,191,215,216,217,218,219,39,220,221,33,222,35,223,28,114,224,27],"youtube studio share","share","youtube studio","studio","browser","javascript","scripting","google workspace","workspace","tool","google","MCP","chrome","organization"]