[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HJ7YVV69ANF1SVCKKEP0ST":3,"skill-same:01M6HJ7YVV69ANF1SVCKKEP0ST":83},{"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":28,"publishedAt":48,"linkOnly":49,"markdownContent":50,"markdownBody":51,"frontMatter":52,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":58,"repositoryHtmlUrl":59,"repositoryHomepageUrl":6,"ownerHtmlUrl":60,"ownerBlogUrl":6,"ownerDescription":61,"updatedAt":62,"install":63,"resources":76},"01M6HJ7YVV69ANF1SVCKKEP0ST","kernel-list-report",null,"Write and send a report to a Linux kernel mailing list: recipients, plain text, git send-email. Use when reporting to linux-xfs, fsdevel or similar.","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\u002Fkernel-plugin\u002Fskills\u002Fkernel-list-report\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000005","邮件与沟通","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"report","kernel list report","list","kernel","read","2026","when","plain","send","use","edit","write","grep","text","Bash","reporting","email","git","linux","2026-11-10 10:12:30",false,"---\nname: kernel-list-report\ndescription: \"Write and send a report to a Linux kernel mailing list: recipients, plain text, git send-email. Use when reporting to linux-xfs, fsdevel or similar.\"\nallowed-tools: Bash, Read, Write, Edit, Grep, Glob\ncreated: 2026-11-02\nmodified: 2026-11-02\nreviewed: 2026-11-02\n---\n\n# Kernel Mailing-List Report\n\nKernel development happens by email. A report to a subsystem list is read by\nmaintainers in text mail clients, quoted line by line in replies, and archived\non lore forever, so it has to stand alone: mechanism, numbers, reproducer and\nquestion in one plain-text message.\n\n## When to Use This Skill\n\n| Use this skill when... | Use something else when... |\n|---|---|\n| Reporting a kernel bug, regression or performance problem to a list | Contributing to a GitHub-hosted project: `git-plugin:upstream-pr-contribution` |\n| Asking maintainers a design question with measurements | Researching earlier threads first: `\u002Fkernel:lore-search` |\n| Setting up `git send-email` to send it | Building the reproducer it carries: `\u002Fkernel:repro-harness` |\n\n## 1. Before Writing: the Three Preconditions\n\n| Precondition | Skill | What it buys |\n|---|---|---|\n| No earlier report or patch, or the thread to reply to instead | `\u002Fkernel:lore-search` | A new thread only when one is warranted, plus citations |\n| The path is unchanged on current mainline and `for-next` | `\u002Fkernel:source-history` | Line numbers pinned to the newest tag; no \"already fixed in -rc1\" reply |\n| A reproducer that runs without your application | `\u002Fkernel:repro-harness` | Something a maintainer can run in a minute |\n\n## 2. Recipients\n\n- **To:** the subsystem list, the `L:` line of the MAINTAINERS entry.\n- **Cc:** the `M:` maintainers of that entry. Read MAINTAINERS at the newest tag:\n  `curl -fsSL 'https:\u002F\u002Fgit.kernel.org\u002Fpub\u002Fscm\u002Flinux\u002Fkernel\u002Fgit\u002Ftorvalds\u002Flinux.git\u002Fplain\u002FMAINTAINERS?h=\u003Ctag>' | awk '\u002F^XFS FILESYSTEM$\u002F,\u002F^$\u002F'`.\n- **Extra Cc** (the author of the code, a reviewer who knows the area) only with\n  an address verified from the `From:` line of their recent posts in the lore\n  mirror. Leave them off rather than guess.\n\n## 3. Format\n\n| Do | Because |\n|---|---|\n| Plain text, lines wrapped at ~72 columns | vger rejects HTML mail; maintainers quote inline |\n| Paste the reproducer source inline after the signature | The archive keeps message and code together; links rot and private repos are unreadable |\n| Lead with the mechanism in function names, then the question in one sentence | A maintainer decides in the first screen whether to read on |\n| Quote the stack with kernel version, arch and how it was captured | Frames differ by version (`\u002Fkernel:source-history`) |\n| Give every number its configuration: kernel, machine, AG count, threads, median or mean of how many runs | A bare ratio cannot be checked |\n| Cite commits as `\u003C12-char sha> (\"subject\")` and threads as lore URLs | Readers can verify without asking |\n| State caveats and unexplained results openly | It answers the first question before it is asked |\n| Name the pushback you expect and answer it from sources | For example, \"I am not suggesting dropping the flag\", with the thread that shows it is used |\n| End with what you can do: test patches, try one with guidance | Maintainers prioritise reports with a willing tester |\n\nDraft into a file in the investigation repo with `To:`, `Cc:` and `Subject:`\nheader lines at the top and placeholders where the source files go. A bracketed\nmarker such as `[INLINE repro\u002Frun.sh AT SEND TIME]` keeps the reviewed draft\nshort.\n\n## 4. Gate the Draft\n\n1. `prose-plugin:prose-check` on the draft. Kernel shorthand (`ms`, `alloc`,\n   `GiB`) dominates the grammar layer; judge the three tics and long sentences.\n2. `agent-patterns-plugin:cold-read-gate` with the persona \"an XFS kernel\n   maintainer triaging a newly posted message\", told to ignore the source\n   placeholders. In 2026-11 the first reader returned `needs-revision`\n   (unmapped numbers, an x86-only claim stated for both machines, references\n   without identifiers) and the second `clear`.\n\n## 5. Build the Send-Ready File\n\nSubstitute the sources by script, never by hand, and assert nothing is left:\n\n```bash\npython3 -c \"\nimport sys\ns=open('report\u002Freport.txt').read()\ns=s.replace('[INLINE repro\u002Ffiemap-mt.c AT SEND TIME]\\n', open('repro\u002Ffiemap-mt.c').read())\ns=s.replace('[INLINE repro\u002Frun.sh AT SEND TIME]\\n', open('repro\u002Frun.sh').read())\nassert 'AT SEND TIME' not in s\nopen(sys.argv[1],'w').write(s)\" report.eml\nLC_ALL=C grep -n '[^ -~\t]' report.eml   # no output: the message is ASCII\n```\n\nRebuild after the draft's PR merges and `cmp` against the file you will send.\n\n## 6. Send With git send-email\n\nSetup (Gmail app password, scoped config, Keychain) is in\n[REFERENCE.md](REFERENCE.md). The traps:\n\n- **send-email adds every `To:` and `Cc:` header in the file** (`(mbox) Adding\n  to: …`). A test send must use a copy whose headers were rewritten to your own\n  address; assert the rewrite before sending.\n- **Dry-run first, non-interactively**:\n  `perl -e 'alarm 60; exec @ARGV' git send-email --dry-run --confirm=never report.eml \u003C\u002Fdev\u002Fnull`.\n  Without `\u003C\u002Fdev\u002Fnull` it stops at a prompt and the command hangs.\n- **The real send runs in the user's own terminal**, with `--confirm=always`.\n  The first send prompts for the SMTP password, and a `!` command in Claude\n  Code has no TTY.\n- **Expected prompts:** \"To whom should the emails be sent (if anyone)?\" and\n  \"Message-ID to be used as In-Reply-To…\" both take Enter for a new thread; the\n  file's headers supply the recipients. Check the confirmation screen's `To:`\n  and `Cc:` before answering `y`.\n- **Success** is `Result: 250` from the SMTP server. Archive confirmation is\n  `\u002Fkernel:lore-search` § 6.\n\nSending is the user's decision: present the dry-run output and the command,\nand let them run it.\n\n## 7. After Sending\n\n- Record the Message-ID and lore URL in the investigation repo and close its\n  tracking issue.\n- Replies come by email, usually reply-all. Answer in plain text, quote inline\n  below the lines you answer, and keep the list in Cc. From a file:\n  `git send-email --in-reply-to='\u003Ctheir-message-id>' reply.eml`.\n- If maintainers want a regression test, the reproducer's long-term home is an\n  fstests case, sent as a patch to `fstests@vger.kernel.org`.\n\n## Agentic Optimizations\n\n| Context | Command |\n|---|---|\n| Recipients from MAINTAINERS | `curl -fsSL '…\u002Fplain\u002FMAINTAINERS?h=\u003Ctag>' \\| awk '\u002F^\u003CENTRY>$\u002F,\u002F^$\u002F'` |\n| Line width check | `awk 'length > 76 && !\u002F^Subject\\|^To\\|^Cc\\|https\u002F {print FNR\": \"length}' report.txt` |\n| ASCII check | `LC_ALL=C grep -n '[^ -~\t]' report.eml` |\n| Dry run | `perl -e 'alarm 60; exec @ARGV' git send-email --dry-run --confirm=never report.eml \u003C\u002Fdev\u002Fnull` |\n| Recipients a send would use | the dry run's `RCPT TO:` lines |\n","# Kernel Mailing-List Report\n\nKernel development happens by email. A report to a subsystem list is read by\nmaintainers in text mail clients, quoted line by line in replies, and archived\non lore forever, so it has to stand alone: mechanism, numbers, reproducer and\nquestion in one plain-text message.\n\n## When to Use This Skill\n\n| Use this skill when... | Use something else when... |\n|---|---|\n| Reporting a kernel bug, regression or performance problem to a list | Contributing to a GitHub-hosted project: `git-plugin:upstream-pr-contribution` |\n| Asking maintainers a design question with measurements | Researching earlier threads first: `\u002Fkernel:lore-search` |\n| Setting up `git send-email` to send it | Building the reproducer it carries: `\u002Fkernel:repro-harness` |\n\n## 1. Before Writing: the Three Preconditions\n\n| Precondition | Skill | What it buys |\n|---|---|---|\n| No earlier report or patch, or the thread to reply to instead | `\u002Fkernel:lore-search` | A new thread only when one is warranted, plus citations |\n| The path is unchanged on current mainline and `for-next` | `\u002Fkernel:source-history` | Line numbers pinned to the newest tag; no \"already fixed in -rc1\" reply |\n| A reproducer that runs without your application | `\u002Fkernel:repro-harness` | Something a maintainer can run in a minute |\n\n## 2. Recipients\n\n- **To:** the subsystem list, the `L:` line of the MAINTAINERS entry.\n- **Cc:** the `M:` maintainers of that entry. Read MAINTAINERS at the newest tag:\n  `curl -fsSL 'https:\u002F\u002Fgit.kernel.org\u002Fpub\u002Fscm\u002Flinux\u002Fkernel\u002Fgit\u002Ftorvalds\u002Flinux.git\u002Fplain\u002FMAINTAINERS?h=\u003Ctag>' | awk '\u002F^XFS FILESYSTEM$\u002F,\u002F^$\u002F'`.\n- **Extra Cc** (the author of the code, a reviewer who knows the area) only with\n  an address verified from the `From:` line of their recent posts in the lore\n  mirror. Leave them off rather than guess.\n\n## 3. Format\n\n| Do | Because |\n|---|---|\n| Plain text, lines wrapped at ~72 columns | vger rejects HTML mail; maintainers quote inline |\n| Paste the reproducer source inline after the signature | The archive keeps message and code together; links rot and private repos are unreadable |\n| Lead with the mechanism in function names, then the question in one sentence | A maintainer decides in the first screen whether to read on |\n| Quote the stack with kernel version, arch and how it was captured | Frames differ by version (`\u002Fkernel:source-history`) |\n| Give every number its configuration: kernel, machine, AG count, threads, median or mean of how many runs | A bare ratio cannot be checked |\n| Cite commits as `\u003C12-char sha> (\"subject\")` and threads as lore URLs | Readers can verify without asking |\n| State caveats and unexplained results openly | It answers the first question before it is asked |\n| Name the pushback you expect and answer it from sources | For example, \"I am not suggesting dropping the flag\", with the thread that shows it is used |\n| End with what you can do: test patches, try one with guidance | Maintainers prioritise reports with a willing tester |\n\nDraft into a file in the investigation repo with `To:`, `Cc:` and `Subject:`\nheader lines at the top and placeholders where the source files go. A bracketed\nmarker such as `[INLINE repro\u002Frun.sh AT SEND TIME]` keeps the reviewed draft\nshort.\n\n## 4. Gate the Draft\n\n1. `prose-plugin:prose-check` on the draft. Kernel shorthand (`ms`, `alloc`,\n   `GiB`) dominates the grammar layer; judge the three tics and long sentences.\n2. `agent-patterns-plugin:cold-read-gate` with the persona \"an XFS kernel\n   maintainer triaging a newly posted message\", told to ignore the source\n   placeholders. In 2026-11 the first reader returned `needs-revision`\n   (unmapped numbers, an x86-only claim stated for both machines, references\n   without identifiers) and the second `clear`.\n\n## 5. Build the Send-Ready File\n\nSubstitute the sources by script, never by hand, and assert nothing is left:\n\n```bash\npython3 -c \"\nimport sys\ns=open('report\u002Freport.txt').read()\ns=s.replace('[INLINE repro\u002Ffiemap-mt.c AT SEND TIME]\\n', open('repro\u002Ffiemap-mt.c').read())\ns=s.replace('[INLINE repro\u002Frun.sh AT SEND TIME]\\n', open('repro\u002Frun.sh').read())\nassert 'AT SEND TIME' not in s\nopen(sys.argv[1],'w').write(s)\" report.eml\nLC_ALL=C grep -n '[^ -~\t]' report.eml   # no output: the message is ASCII\n```\n\nRebuild after the draft's PR merges and `cmp` against the file you will send.\n\n## 6. Send With git send-email\n\nSetup (Gmail app password, scoped config, Keychain) is in\n[REFERENCE.md](REFERENCE.md). The traps:\n\n- **send-email adds every `To:` and `Cc:` header in the file** (`(mbox) Adding\n  to: …`). A test send must use a copy whose headers were rewritten to your own\n  address; assert the rewrite before sending.\n- **Dry-run first, non-interactively**:\n  `perl -e 'alarm 60; exec @ARGV' git send-email --dry-run --confirm=never report.eml \u003C\u002Fdev\u002Fnull`.\n  Without `\u003C\u002Fdev\u002Fnull` it stops at a prompt and the command hangs.\n- **The real send runs in the user's own terminal**, with `--confirm=always`.\n  The first send prompts for the SMTP password, and a `!` command in Claude\n  Code has no TTY.\n- **Expected prompts:** \"To whom should the emails be sent (if anyone)?\" and\n  \"Message-ID to be used as In-Reply-To…\" both take Enter for a new thread; the\n  file's headers supply the recipients. Check the confirmation screen's `To:`\n  and `Cc:` before answering `y`.\n- **Success** is `Result: 250` from the SMTP server. Archive confirmation is\n  `\u002Fkernel:lore-search` § 6.\n\nSending is the user's decision: present the dry-run output and the command,\nand let them run it.\n\n## 7. After Sending\n\n- Record the Message-ID and lore URL in the investigation repo and close its\n  tracking issue.\n- Replies come by email, usually reply-all. Answer in plain text, quote inline\n  below the lines you answer, and keep the list in Cc. From a file:\n  `git send-email --in-reply-to='\u003Ctheir-message-id>' reply.eml`.\n- If maintainers want a regression test, the reproducer's long-term home is an\n  fstests case, sent as a patch to `fstests@vger.kernel.org`.\n\n## Agentic Optimizations\n\n| Context | Command |\n|---|---|\n| Recipients from MAINTAINERS | `curl -fsSL '…\u002Fplain\u002FMAINTAINERS?h=\u003Ctag>' \\| awk '\u002F^\u003CENTRY>$\u002F,\u002F^$\u002F'` |\n| Line width check | `awk 'length > 76 && !\u002F^Subject\\|^To\\|^Cc\\|https\u002F {print FNR\": \"length}' report.txt` |\n| ASCII check | `LC_ALL=C grep -n '[^ -~\t]' report.eml` |\n| Dry run | `perl -e 'alarm 60; exec @ARGV' git send-email --dry-run --confirm=never report.eml \u003C\u002Fdev\u002Fnull` |\n| Recipients a send would use | the dry run's `RCPT TO:` lines |\n",{"name":5,"created":53,"modified":53,"reviewed":53,"description":7,"allowed-tools":54},1793577600000,"Bash, Read, Write, Edit, Grep, Glob","main","51e0f120e9cb48382ee27086b2e8be32eff0ac9a","kernel-plugin\u002Fskills\u002Fkernel-list-report",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":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add laurigates\u002Fclaude-plugins --skill kernel-list-report",{"tool":69,"command":70},"bunx","bunx skills add laurigates\u002Fclaude-plugins --skill kernel-list-report",{"tool":72,"command":73},"pnpm","pnpm dlx skills add laurigates\u002Fclaude-plugins --skill kernel-list-report","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkernel-plugin\u002Fskills\u002Fkernel-list-report\u002FSKILL.md",true,[77],{"path":78,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":81,"sourceHtmlUrl":82},"REFERENCE.md","REFERENCE","参考文档",2973,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fkernel-plugin\u002Fskills\u002Fkernel-list-report\u002FREFERENCE.md",[84,107,126,142,165,193],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":93,"publishedAt":48},"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",[90],{"categoryNo":91,"categoryName":92,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[94,95,96,97,98,99,100,37,101,102,38,35,43,103,42,104,105,106,34,33],"show","kitty show image","image","kitty","show image","ls","get","open","dev","file","with","xdg","via",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":48},"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",[],[97,114,115,116,117,118,35,43,119,120,121,34,33,40,39,122,123,124,125,38],"kitty session persistence","session","persistence","false","snapshots","uname","reboot","terminal","snapshot","macos","sessions","restore",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":48},"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",[],[133,134,97,135,136,99,137,138,100,139,140,38,35,141,43,42,104,121,34,33],"kitty remote control","remote","control","remote control","running","never","panes","notify","query",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":148,"publishedAt":48},"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",[],[149,150,151,152,153,154,155,156,157,158,38,35,43,159,103,160,161,162,163,164],"docs reference check","check","reference check","reference","docs","links","python3","repo","files","auto","drift","lint","wiring","chezmoi","references","cp",{"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":15,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":178,"publishedAt":48},"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",[171,174,175],{"categoryNo":172,"categoryName":173,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":91,"categoryName":92,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":176,"categoryName":177,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师",[179,180,181,182,155,183,33,184,39,185,186,187,38,43,103,188,189,35,190,191,192,106,34],"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":48},"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":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[203,204,205,206,181,182,207,208,209,210,211,33,212,213,214,215,38,216,35,104,217,34],"youtube studio share","share","youtube studio","studio","browser","javascript","scripting","google workspace","workspace","tool","google","only","MCP","chrome","organization"]