[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M70P6WVMCT5JG4SACTM69AF9":3,"skill-same:01M70P6WVMCT5JG4SACTM69AF9":79},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":50,"repositoryHtmlUrl":51,"repositoryHomepageUrl":6,"ownerHtmlUrl":52,"ownerBlogUrl":6,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M70P6WVMCT5JG4SACTM69AF9","docs-reference-check",null,"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.","laurigates\u002Fclaude-plugins","laurigates","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F13014001?v=4","01M6C59YHWS9C7KMXKSRX1YXNP","Lauri Gates","01M6C59YP2APG9YAM4DWYQYGFJ",59,"MIT","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fdocumentation-plugin\u002Fskills\u002Fdocs-reference-check\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"check","reference check","reference","docs","docs reference check","cp","references","chezmoi","wiring","lint","file","drift","Bash","when","use","auto","files","repo","python3","links","2026-11-10 10:12:30",false,"---\nname: docs-reference-check\ndescription: \"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.\"\nallowed-tools: Bash(python3 ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-doc-references.py *), Bash(cp *), Read, Grep, Glob, Edit, Write, TodoWrite\nargs: \"[--strict] [--chezmoi auto|on|off] [--allow-file \u003Cpath>] [files...]\"\nargument-hint: \"[--strict] [--chezmoi auto|on|off] [--allow-file \u003Cpath>] [files...]\"\ncreated: 2026-11-09\nmodified: 2026-11-09\nreviewed: 2026-11-09\n---\n\n# Dangling Doc-Reference Check\n\nA doc that names `\u003Cdir>\u002Fdeploy.sh` or links `[setup](..\u002Fsetup.md)` after the\nfile moved still reads as authoritative, and nothing fails. This skill runs a\ndeterministic, stdlib-only scanner over a repo's tracked markdown and reports\nevery repo-relative reference that resolves to nothing. It checks existence\nonly; whether the prose is still *true* is a review question.\n\n## When to Use This Skill\n\n| Use this skill when... | Use instead when... |\n|---|---|\n| Docs may cite files that were renamed, moved or deleted | Prose claims must stay pinned to specific code symbols: `configure-plugin:configure-surface` (Surface fingerprints) |\n| Adding a doc-drift lint to pre-commit or CI | Content leaves for a public destination and links must not escape the export: `documentation-plugin:public-export-sanitization` |\n| Cleaning up after a refactor that moved scripts or docs | Auditing PRD\u002FADR\u002FCLAUDE.md staleness and structure: `code-quality-plugin:code-docs-quality` |\n| A chezmoi repo's docs name managed files by their rendered names | A figure or count in a doc may have gone stale: `documentation-plugin:docs-claim-hygiene` |\n\n## What it flags\n\nPrecision-first: a gate that cries wolf gets bypassed, so it flags two shapes\nonly.\n\n| Shape | Flagged when |\n|---|---|\n| Relative markdown link `[text](path)` | The target resolves neither from the doc's directory nor (for `\u002Fpath`) from the repo root. URLs, `mailto:`, `#anchors`, templated and placeholder targets are skipped |\n| Inline-code path `` `dir\u002Ffile.ext` `` | Its first segment is a real tracked top-level entry, and it resolves neither from the repo root nor from the doc's directory. `.\u002Fname` names a repo-root file and is checked |\n\nNot flagged: bare filenames (`deploy.sh`), slash commands, domains, `~\u002F` and\nabsolute paths, placeholders (`NNNN`, `\u003Cname>`, `...`, `example`), and anything\ninside fenced code blocks. A token whose first segment is not a top-level entry\n(`consumer\u002Fscripts\u002Fx.sh`) is treated as a path in some other repo.\n\n## Run it\n\n```bash\npython3 ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-doc-references.py\n```\n\nIt scans every tracked `*.md` from the git toplevel of the current directory,\nor only the files given as arguments. Output:\n\n```\n=== DOC REFERENCE CHECK ===\nCHEZMOI_MODE=off\nDOCS_CHECKED=41\nALLOWLISTED_PATTERNS=1\nDANGLING_COUNT=2\nSTATUS=WARN\nREASON=dangling_ref: docs\u002Fsetup.md:12 scripts\u002Fold.sh (+1 more)\nISSUE_COUNT=2\nISSUES:\n  - SEVERITY=WARN TYPE=dangling_ref FILE=docs\u002Fsetup.md:12 MSG=scripts\u002Fold.sh\n  - SEVERITY=WARN TYPE=dangling_link FILE=README.md:40 MSG=docs\u002Fgone.md\n=== END DOC REFERENCE CHECK ===\n```\n\n| Mode | Findings report | Exit |\n|---|---|---|\n| default (advisory) | `STATUS=WARN` | 0 |\n| `--strict` | `STATUS=ERROR` | 1 |\n| no findings | `STATUS=OK` | 0 |\n| not a git repo, or `--allow-file` missing | stderr message | 2 |\n\n`SCANNED_EMPTY=true` appears when no doc was checked, so an empty scan never\nreads as a clean one.\n\n## Triage each finding\n\nFor every `ISSUES:` row, decide one of:\n\n1. **The file moved**: find its new path (`git log --follow --diff-filter=R`\n   or Glob on the basename) and update the reference.\n2. **The file is gone for good**: reword or remove the reference.\n3. **The doc describes another repo's layout** (a template, a plugin skill\n   telling consumers to create `.github\u002Fworkflows\u002Fx.yml`): allowlist the doc.\n4. **The doc is an immutable record** (an ADR citing a path accurate when\n   written): allowlist it.\n\nRe-run until `STATUS=OK`.\n\n## Allowlist\n\n`.doc-reference-allow` at the repo root (or `--allow-file \u003Cpath>`): one\n`fnmatch` glob per line, matched against the doc's repo-relative path, `#`\ncomments allowed. A matching doc is skipped whole.\n\n```text\n# Immutable records: ADRs cite paths accurate when the decision was made.\ndocs\u002Fadrs\u002F**\n# Docs that describe consumer repos, not this one.\ntemplates\u002F**\n```\n\nComment every entry with why it is exempt. A repo whose docs mostly describe\n*other* repos' layouts (a plugin marketplace, a project template) needs those\ndocs allowlisted before the gate is useful there.\n\n## chezmoi mode\n\nIn a chezmoi source repo a doc names `\u003Cdir>\u002Fnudge.sh` while the repo holds\n`\u003Cdir>\u002Fexecutable_nudge.sh.tmpl`, and `.zshrc` while it holds `dot_zshrc`.\nWith chezmoi mode on, a path also resolves when a sibling's rendered name\nmatches (attribute prefixes, `dot_`, and `.tmpl` stripped).\n\n| `--chezmoi` | Effect |\n|---|---|\n| `auto` (default) | On when the repo root has a `.chezmoi*` marker (`.chezmoiignore`, `.chezmoiroot`, `.chezmoidata.toml`, …) |\n| `on` \u002F `off` | Forced |\n\n`CHEZMOI_MODE=` in the output shows which applied.\n\n## Wire it as a gate\n\nA plugin's path is not available in CI or to other contributors, so copy the\nscript into the repo first:\n\n```bash\ncp ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-doc-references.py scripts\u002Fcheck-doc-references.py\n```\n\n**Pre-commit (advisory)**: shows findings on every commit and never blocks.\n\n```yaml\n- repo: local\n  hooks:\n    - id: check-doc-references\n      name: check docs for dangling references (advisory)\n      entry: python3 scripts\u002Fcheck-doc-references.py\n      language: system\n      pass_filenames: false\n      always_run: true\n      verbose: true\n```\n\n**Lint task (strict)**: the enforcing variant for CI.\n\n```toml\n# mise.toml\n[tasks.\"lint:docs\"]\nrun = \"python3 scripts\u002Fcheck-doc-references.py --strict\"\n```\n\n```just\n# justfile\nlint-docs:\n    python3 scripts\u002Fcheck-doc-references.py --strict\n```\n\nGet the tree to `STATUS=OK` (fix or allowlist) before turning on `--strict`,\nor the first CI run fails on old drift.\n\n## Agentic Optimizations\n\n| Context | Command |\n|---|---|\n| Whole repo, advisory | `python3 ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-doc-references.py` |\n| Summary lines only | `python3 ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-doc-references.py \\| grep -E '^(STATUS\\|REASON\\|ISSUE_COUNT)='` |\n| Changed docs only | `python3 ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-doc-references.py \u003Cfiles...>` |\n| CI gate | `python3 ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-doc-references.py --strict` |\n| Another checkout | `python3 ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-doc-references.py --project-dir \u003Crepo>` |\n","# Dangling Doc-Reference Check\n\nA doc that names `\u003Cdir>\u002Fdeploy.sh` or links `[setup](..\u002Fsetup.md)` after the\nfile moved still reads as authoritative, and nothing fails. This skill runs a\ndeterministic, stdlib-only scanner over a repo's tracked markdown and reports\nevery repo-relative reference that resolves to nothing. It checks existence\nonly; whether the prose is still *true* is a review question.\n\n## When to Use This Skill\n\n| Use this skill when... | Use instead when... |\n|---|---|\n| Docs may cite files that were renamed, moved or deleted | Prose claims must stay pinned to specific code symbols: `configure-plugin:configure-surface` (Surface fingerprints) |\n| Adding a doc-drift lint to pre-commit or CI | Content leaves for a public destination and links must not escape the export: `documentation-plugin:public-export-sanitization` |\n| Cleaning up after a refactor that moved scripts or docs | Auditing PRD\u002FADR\u002FCLAUDE.md staleness and structure: `code-quality-plugin:code-docs-quality` |\n| A chezmoi repo's docs name managed files by their rendered names | A figure or count in a doc may have gone stale: `documentation-plugin:docs-claim-hygiene` |\n\n## What it flags\n\nPrecision-first: a gate that cries wolf gets bypassed, so it flags two shapes\nonly.\n\n| Shape | Flagged when |\n|---|---|\n| Relative markdown link `[text](path)` | The target resolves neither from the doc's directory nor (for `\u002Fpath`) from the repo root. URLs, `mailto:`, `#anchors`, templated and placeholder targets are skipped |\n| Inline-code path `` `dir\u002Ffile.ext` `` | Its first segment is a real tracked top-level entry, and it resolves neither from the repo root nor from the doc's directory. `.\u002Fname` names a repo-root file and is checked |\n\nNot flagged: bare filenames (`deploy.sh`), slash commands, domains, `~\u002F` and\nabsolute paths, placeholders (`NNNN`, `\u003Cname>`, `...`, `example`), and anything\ninside fenced code blocks. A token whose first segment is not a top-level entry\n(`consumer\u002Fscripts\u002Fx.sh`) is treated as a path in some other repo.\n\n## Run it\n\n```bash\npython3 ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-doc-references.py\n```\n\nIt scans every tracked `*.md` from the git toplevel of the current directory,\nor only the files given as arguments. Output:\n\n```\n=== DOC REFERENCE CHECK ===\nCHEZMOI_MODE=off\nDOCS_CHECKED=41\nALLOWLISTED_PATTERNS=1\nDANGLING_COUNT=2\nSTATUS=WARN\nREASON=dangling_ref: docs\u002Fsetup.md:12 scripts\u002Fold.sh (+1 more)\nISSUE_COUNT=2\nISSUES:\n  - SEVERITY=WARN TYPE=dangling_ref FILE=docs\u002Fsetup.md:12 MSG=scripts\u002Fold.sh\n  - SEVERITY=WARN TYPE=dangling_link FILE=README.md:40 MSG=docs\u002Fgone.md\n=== END DOC REFERENCE CHECK ===\n```\n\n| Mode | Findings report | Exit |\n|---|---|---|\n| default (advisory) | `STATUS=WARN` | 0 |\n| `--strict` | `STATUS=ERROR` | 1 |\n| no findings | `STATUS=OK` | 0 |\n| not a git repo, or `--allow-file` missing | stderr message | 2 |\n\n`SCANNED_EMPTY=true` appears when no doc was checked, so an empty scan never\nreads as a clean one.\n\n## Triage each finding\n\nFor every `ISSUES:` row, decide one of:\n\n1. **The file moved**: find its new path (`git log --follow --diff-filter=R`\n   or Glob on the basename) and update the reference.\n2. **The file is gone for good**: reword or remove the reference.\n3. **The doc describes another repo's layout** (a template, a plugin skill\n   telling consumers to create `.github\u002Fworkflows\u002Fx.yml`): allowlist the doc.\n4. **The doc is an immutable record** (an ADR citing a path accurate when\n   written): allowlist it.\n\nRe-run until `STATUS=OK`.\n\n## Allowlist\n\n`.doc-reference-allow` at the repo root (or `--allow-file \u003Cpath>`): one\n`fnmatch` glob per line, matched against the doc's repo-relative path, `#`\ncomments allowed. A matching doc is skipped whole.\n\n```text\n# Immutable records: ADRs cite paths accurate when the decision was made.\ndocs\u002Fadrs\u002F**\n# Docs that describe consumer repos, not this one.\ntemplates\u002F**\n```\n\nComment every entry with why it is exempt. A repo whose docs mostly describe\n*other* repos' layouts (a plugin marketplace, a project template) needs those\ndocs allowlisted before the gate is useful there.\n\n## chezmoi mode\n\nIn a chezmoi source repo a doc names `\u003Cdir>\u002Fnudge.sh` while the repo holds\n`\u003Cdir>\u002Fexecutable_nudge.sh.tmpl`, and `.zshrc` while it holds `dot_zshrc`.\nWith chezmoi mode on, a path also resolves when a sibling's rendered name\nmatches (attribute prefixes, `dot_`, and `.tmpl` stripped).\n\n| `--chezmoi` | Effect |\n|---|---|\n| `auto` (default) | On when the repo root has a `.chezmoi*` marker (`.chezmoiignore`, `.chezmoiroot`, `.chezmoidata.toml`, …) |\n| `on` \u002F `off` | Forced |\n\n`CHEZMOI_MODE=` in the output shows which applied.\n\n## Wire it as a gate\n\nA plugin's path is not available in CI or to other contributors, so copy the\nscript into the repo first:\n\n```bash\ncp ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-doc-references.py scripts\u002Fcheck-doc-references.py\n```\n\n**Pre-commit (advisory)**: shows findings on every commit and never blocks.\n\n```yaml\n- repo: local\n  hooks:\n    - id: check-doc-references\n      name: check docs for dangling references (advisory)\n      entry: python3 scripts\u002Fcheck-doc-references.py\n      language: system\n      pass_filenames: false\n      always_run: true\n      verbose: true\n```\n\n**Lint task (strict)**: the enforcing variant for CI.\n\n```toml\n# mise.toml\n[tasks.\"lint:docs\"]\nrun = \"python3 scripts\u002Fcheck-doc-references.py --strict\"\n```\n\n```just\n# justfile\nlint-docs:\n    python3 scripts\u002Fcheck-doc-references.py --strict\n```\n\nGet the tree to `STATUS=OK` (fix or allowlist) before turning on `--strict`,\nor the first CI run fails on old drift.\n\n## Agentic Optimizations\n\n| Context | Command |\n|---|---|\n| Whole repo, advisory | `python3 ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-doc-references.py` |\n| Summary lines only | `python3 ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-doc-references.py \\| grep -E '^(STATUS\\|REASON\\|ISSUE_COUNT)='` |\n| Changed docs only | `python3 ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-doc-references.py \u003Cfiles...>` |\n| CI gate | `python3 ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-doc-references.py --strict` |\n| Another checkout | `python3 ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-doc-references.py --project-dir \u003Crepo>` |\n",{"args":44,"name":5,"created":45,"modified":45,"reviewed":45,"description":7,"allowed-tools":46,"argument-hint":44},"[--strict] [--chezmoi auto|on|off] [--allow-file \u003Cpath>] [files...]",1794182400000,"Bash(python3 ${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-doc-references.py *), Bash(cp *), Read, Grep, Glob, Edit, Write, TodoWrite","main","4ce428979f89281ce915e0c022270791a6fa5b08","documentation-plugin\u002Fskills\u002Fdocs-reference-check",6,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins","https:\u002F\u002Fgithub.com\u002Flaurigates","Linux enthusiast, cloud engineer, neovim addict, electronics hobbyist.","2026-11-11 01:25:01",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add laurigates\u002Fclaude-plugins --skill docs-reference-check",{"tool":61,"command":62},"bunx","bunx skills add laurigates\u002Fclaude-plugins --skill docs-reference-check",{"tool":64,"command":65},"pnpm","pnpm dlx skills add laurigates\u002Fclaude-plugins --skill docs-reference-check","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fdocumentation-plugin\u002Fskills\u002Fdocs-reference-check\u002FSKILL.md",true,[69,75],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"scripts\u002Fcheck-doc-references.py","SCRIPT","脚本",11723,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fdocumentation-plugin\u002Fskills\u002Fdocs-reference-check\u002Fscripts\u002Fcheck-doc-references.py",{"path":76,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":77,"sourceHtmlUrl":78},"scripts\u002Ftests\u002Ftest-check-doc-references.sh",6417,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fdocumentation-plugin\u002Fskills\u002Fdocs-reference-check\u002Fscripts\u002Ftests\u002Ftest-check-doc-references.sh",[80,108,129,145,175,200],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":91,"publishedAt":39},"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",[86],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[92,93,94,95,96,97,98,99,100,101,33,32,31,29,102,103,104,105,106,107],"show","kitty show image","image","kitty","show image","ls","get","send","open","dev","text","with","xdg","via","2026","read",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":39},"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",[],[95,115,116,117,118,119,32,31,120,121,122,106,107,123,124,125,126,127,128,33],"kitty session persistence","session","persistence","false","snapshots","uname","reboot","terminal","write","edit","snapshot","macos","sessions","restore",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":39},"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",[],[136,137,95,138,139,97,140,141,98,142,143,33,32,144,31,102,103,122,106,107],"kitty remote control","remote","control","remote control","running","never","panes","notify","query",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":160,"publishedAt":39},"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",[151,154,155],{"categoryNo":152,"categoryName":153,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},{"categoryNo":156,"categoryName":157,"taxonomyType":158,"taxonomyTypeDesc":159},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[161,162,163,164,37,165,107,166,124,167,168,169,33,31,29,170,171,32,172,173,174,105,106],"youtube upload","upload","youtube","Video","run","uv run","publishing","data","uv","api","v3","tags","id","title",{"skillNo":176,"name":177,"nameZh":6,"description":178,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":179,"categories":180,"keywords":184,"publishedAt":39},"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",[181],{"categoryNo":182,"categoryName":183,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000023","Skill与智能体开发",[185,186,187,188,163,164,189,190,191,192,193,107,194,195,196,197,33,198,32,103,199,106],"youtube studio share","share","youtube studio","studio","browser","javascript","scripting","google workspace","workspace","tool","google","only","MCP","chrome","organization",{"skillNo":201,"name":202,"nameZh":6,"description":203,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":204,"categories":205,"keywords":207,"publishedAt":39},"01M6C6N7DB5HEV8SZSJ0475Z1B","workflow-wave-dispatch","Sequential-wave dispatch for multi-agent work with cross-task dependencies. Use when planning multi-step work, fixing parallel-dispatch order, or gating waves on verification.","https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fworkflow-orchestration-plugin\u002Fskills\u002Fworkflow-wave-dispatch\u002FSKILL.md",[206],{"categoryNo":182,"categoryName":183,"taxonomyType":89,"taxonomyTypeDesc":90},[208,209,210,211,212,213,214,107,215,33,216,217,218,219,118,32,220,103,221,222,106],"dispatch","workflow wave dispatch","workflow","parallel","verification","work","planning","grep","multi-agent","sep","for","gating","task","multi","dependencies"]