[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C5V4CPPTNY4AZVTAPDCYRW":3,"skill-same:01M6C5V4CPPTNY4AZVTAPDCYRW":85},{"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":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":6,"ownerHtmlUrl":58,"ownerBlogUrl":6,"ownerDescription":59,"updatedAt":60,"install":61,"resources":74},"01M6C5V4CPPTNY4AZVTAPDCYRW","evaluate-context-engineering",null,"Context-engineering audit (C1-C6) of skills and always-loaded rules. Use when trimming context bloat, auditing a plugin, or after a new Claude model ships.","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\u002Fevaluate-plugin\u002Fskills\u002Fevaluate-context-engineering\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],"engineering","evaluate","evaluate context engineering","context engineering","context","read","new","2026","when","trimming","sep","task","context-engineering","use","grep","Rules","python3","model","Bash","audit","git","plugin","commit","2026-11-10 10:12:30",false,"---\nname: evaluate-context-engineering\ndescription: Context-engineering audit (C1-C6) of skills and always-loaded rules. Use when trimming context bloat, auditing a plugin, or after a new Claude model ships.\nargs: \"[plugin | plugin\u002Fskill | --always-loaded] [--judge]\"\nallowed-tools: Bash(python3 *), Bash(bash *), Read, Glob, Grep, Task, TodoWrite\nargument-hint: \"git-plugin\u002Fgit-commit --judge\"\nmodel: opus\ncreated: 2026-07-26\nmodified: 2026-09-23\nreviewed: 2026-09-23\n---\n\n# \u002Fevaluate:context-engineering\n\nAudit a plugin, a single skill, or the always-loaded surface against the six\ncontext-engineering shifts Anthropic named for Claude 5 generation models, and\nreport a C1–C6 card.\n\nTwo channels, deliberately kept apart:\n\n| Channel | What it is | Cost |\n|---|---|---|\n| **M — mechanical** | `check-context-engineering.py`, deterministic proxies over the tree | free |\n| **J — judgment** | an isolated agent scoring the frozen 1–5 rubric with quoted evidence | one subagent, `--judge` only |\n\nChannel M ranks candidates; it cannot tell a load-bearing safety constraint from\na restatement of a model default. Channel J makes that call. **Never blend the\ntwo into one score** — a mechanical proxy and a judgment answer different\nquestions, and averaging them hides which one is driving a recommendation.\n\n## When to Use This Skill\n\n| Use this skill when... | Use alternative when... |\n|------------------------|------------------------|\n| Auditing whether a skill or rule is written for the old context rules | Checking structure\u002Ffrontmatter\u002Fsize lint → `scripts\u002Fplugin-compliance-check.sh` |\n| A new Claude model shipped and the corpus needs re-reading | Measuring whether a skill still *works* → `\u002Fevaluate:matrix` |\n| Deciding what to cut from `CLAUDE.md` and `.claude\u002Frules\u002F` | Actually migrating rules into skills → `agent-patterns-plugin:meta-context-diet` |\n| You want ranked, evidence-backed cut candidates | Checking a skill reads clearly to a fresh agent → `\u002Fevaluate:legibility` |\n\n## The six dimensions\n\n| Dim | Shift | What the scanner measures |\n|---|---|---|\n| **C1** | rules → judgment | Constraint markers per 1k chars, and how many sit next to a safety\u002Firreversibility word |\n| **C2** | examples → interface design | Fenced-block share of the body; whether `args` enumerates its alternatives |\n| **C3** | upfront → progressive disclosure | Body size vs supporting files; disclosure levels (body → references → scripts) |\n| **C4** | repetition → single source of truth | 8-word shingle overlap between skills, rules, and `CLAUDE.md` |\n| **C5** | (the >80% claim) | Always-loaded chars: `CLAUDE.md` + rules with no `paths:` scope; plus a per-rule size ceiling that applies to every rule, scoped or not |\n| **C6** | simple specs → rich references | Multi-line shell blocks with no bundled script |\n\n## Context\n\n- Repo root: !`git rev-parse --show-toplevel`\n- Plugins present: !`find . -maxdepth 2 -name plugin.json -path '*\u002F.claude-plugin\u002F*'`\n- Always-loaded rules: !`find . -maxdepth 3 -path '*\u002F.claude\u002Frules\u002F*.md'`\n\n## Parameters\n\nParse `$ARGUMENTS`:\n\n| Parameter | Default | Description |\n|-----------|---------|-------------|\n| `plugin` | whole repo | Scope to one plugin directory, e.g. `git-plugin` |\n| `plugin\u002Fskill` | — | Scope to one skill, e.g. `git-plugin\u002Fskills\u002Fgit-commit` |\n| `--always-loaded` | off | Score only `CLAUDE.md` and the unscoped rules |\n| `--judge` | off | Also run Channel J on the target (one subagent per unit, max 3 units) |\n| `--budget N` | 100000 | Always-loaded char budget for the C5 ratchet |\n\n## Execution\n\nExecute this audit:\n\n### Step 1: Run Channel M\n\n```bash\npython3 \"${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-context-engineering.py\" --top 10\n```\n\nAdd `--target \u003Cplugin-or-skill-path>` when the user scoped the run, and\n`--always-loaded-budget \u003CN>` when they passed `--budget`.\n\nWhen the user asks about the cost of a **session that loads several repos**\n(a portfolio checkout, sibling repos open together), add one `--also \u003Crepo>`\nper extra root plus `--portfolio-budget \u003CN>`. Only the C5 surface is summed;\nC1–C4 and C6 stay scoped to `--project-dir`, since they measure authoring\nquality inside one marketplace. `--also` and `--target` are mutually exclusive.\n\nRead the `KEY=VALUE` block. `STATUS=ERROR` means one of two things: an\nalways-loaded surface is over budget — the primary repo's, or the portfolio's\n(`C5_PORTFOLIO_*`, with a per-repo `C5_PORTFOLIO_BREAKDOWN`) — or a single rule\nis over the per-rule ceiling (`TYPE=rule_over_size_ceiling`,\n`C5_RULES_OVER_CEILING`, `--rule-size-ceiling`, default 50000). The ceiling\nexists because the budget sums unscoped rules only, while a path-scoped rule\nstill loads whole into every agent that touches a matching path; a 513 KB\nscoped rule once pushed a haiku subagent past its window unseen (#2667). ERRORs\nare always listed first, so `--max-issues` never hides the reason. Every other\nfinding is a `WARN` candidate, not a verdict.\n\n### Step 2: Report the C1–C6 card\n\nRender one row per dimension: the measured value, the count of flagged units,\nand the top offender. State the totals for `C5_ALWAYS_LOADED_EST_TOKENS` and\n`SKILL_BODY_EST_TOKENS` separately — they have different cost models and must\nnot be summed.\n\nRank findings by `always-loaded cost × frequency`, never by raw size. An\nalways-loaded rule costs on every turn; a skill body costs only when the skill\nfires; a `references\u002F` file or script costs only when read or run. A large skill\nbody is a smaller problem than a medium-sized unscoped rule.\n\n### Step 3: Judge the top units (`--judge` only)\n\nFor at most 3 flagged units, spawn one isolated subagent each:\n\n```\nTask subagent_type: general-purpose\nprompt: Read the frozen rubric at docs\u002Fbenchmarks\u002F2026-07-context-engineering\u002Frubric.md\n        and score \u003Cunit path> on C1-C6. Every score of 1, 2, 4 or 5 needs a\n        verbatim quote from the unit, copied exactly. If you cannot quote for a\n        score, score 3. Do not read the scanner's metrics.json.\n```\n\nWithhold Channel M's numbers from the judge — showing them anchors the judgment\nto the proxy the rubric is supposed to check independently. Run judges\n**synchronously**: the critique is the returned tool result\n(`agent-patterns-plugin:cold-read-gate`).\n\n### Step 4: Propose cuts, and one thing to keep\n\nFor each recommendation give: the unit, the dimension, the token cost, the\nproposed change, and whether the evidence is **proven** (a judged quote) or\n**proxy-only** (Channel M alone).\n\nInclude at least one unit that **earns its tokens** and should not be cut. A\nreport with no counter-finding has an agreement bias, not a clean corpus — the\nscanner flags constraint density, and some of the densest text is the\nsafety-critical text that should stay.\n\n### Step 5: Hand off, do not apply\n\nMigrating rules into skills is `agent-patterns-plugin:meta-context-diet`'s job —\nit carries the per-candidate confirmation gate for lossy edits to always-loaded\nfiles. This skill measures and recommends; it does not rewrite.\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| Whole-repo card | `python3 \"${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-context-engineering.py\"` |\n| One plugin | `... --target git-plugin` |\n| Machine-readable | `... --json` |\n| CI ratchet (exit 1 over budget) | `... --strict` |\n| Portfolio budget across repos | `... --also ..\u002Fdotfiles --also ..\u002Frepos-claude-config --portfolio-budget 155000` |\n| Full issue list | `... --max-issues 0` |\n| Determinism check | `... --json \\| sha256sum` (must be stable across runs) |\n\n## Related\n\n- `docs\u002Fbenchmarks\u002F2026-07-context-engineering\u002Frubric.md` — the frozen 1–5 anchors Channel J scores against\n- `.claude\u002Frules\u002Fcontext-engineering.md` — the standing house position and what it supersedes\n- `.claude\u002Frules\u002Fskill-evaluation.md` — the tiered cost model; ablation is the follow-up that turns a judgment into a measurement\n- `agent-patterns-plugin:meta-context-diet` — migrates approved always-loaded candidates into skills\n","# \u002Fevaluate:context-engineering\n\nAudit a plugin, a single skill, or the always-loaded surface against the six\ncontext-engineering shifts Anthropic named for Claude 5 generation models, and\nreport a C1–C6 card.\n\nTwo channels, deliberately kept apart:\n\n| Channel | What it is | Cost |\n|---|---|---|\n| **M — mechanical** | `check-context-engineering.py`, deterministic proxies over the tree | free |\n| **J — judgment** | an isolated agent scoring the frozen 1–5 rubric with quoted evidence | one subagent, `--judge` only |\n\nChannel M ranks candidates; it cannot tell a load-bearing safety constraint from\na restatement of a model default. Channel J makes that call. **Never blend the\ntwo into one score** — a mechanical proxy and a judgment answer different\nquestions, and averaging them hides which one is driving a recommendation.\n\n## When to Use This Skill\n\n| Use this skill when... | Use alternative when... |\n|------------------------|------------------------|\n| Auditing whether a skill or rule is written for the old context rules | Checking structure\u002Ffrontmatter\u002Fsize lint → `scripts\u002Fplugin-compliance-check.sh` |\n| A new Claude model shipped and the corpus needs re-reading | Measuring whether a skill still *works* → `\u002Fevaluate:matrix` |\n| Deciding what to cut from `CLAUDE.md` and `.claude\u002Frules\u002F` | Actually migrating rules into skills → `agent-patterns-plugin:meta-context-diet` |\n| You want ranked, evidence-backed cut candidates | Checking a skill reads clearly to a fresh agent → `\u002Fevaluate:legibility` |\n\n## The six dimensions\n\n| Dim | Shift | What the scanner measures |\n|---|---|---|\n| **C1** | rules → judgment | Constraint markers per 1k chars, and how many sit next to a safety\u002Firreversibility word |\n| **C2** | examples → interface design | Fenced-block share of the body; whether `args` enumerates its alternatives |\n| **C3** | upfront → progressive disclosure | Body size vs supporting files; disclosure levels (body → references → scripts) |\n| **C4** | repetition → single source of truth | 8-word shingle overlap between skills, rules, and `CLAUDE.md` |\n| **C5** | (the >80% claim) | Always-loaded chars: `CLAUDE.md` + rules with no `paths:` scope; plus a per-rule size ceiling that applies to every rule, scoped or not |\n| **C6** | simple specs → rich references | Multi-line shell blocks with no bundled script |\n\n## Context\n\n- Repo root: !`git rev-parse --show-toplevel`\n- Plugins present: !`find . -maxdepth 2 -name plugin.json -path '*\u002F.claude-plugin\u002F*'`\n- Always-loaded rules: !`find . -maxdepth 3 -path '*\u002F.claude\u002Frules\u002F*.md'`\n\n## Parameters\n\nParse `$ARGUMENTS`:\n\n| Parameter | Default | Description |\n|-----------|---------|-------------|\n| `plugin` | whole repo | Scope to one plugin directory, e.g. `git-plugin` |\n| `plugin\u002Fskill` | — | Scope to one skill, e.g. `git-plugin\u002Fskills\u002Fgit-commit` |\n| `--always-loaded` | off | Score only `CLAUDE.md` and the unscoped rules |\n| `--judge` | off | Also run Channel J on the target (one subagent per unit, max 3 units) |\n| `--budget N` | 100000 | Always-loaded char budget for the C5 ratchet |\n\n## Execution\n\nExecute this audit:\n\n### Step 1: Run Channel M\n\n```bash\npython3 \"${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-context-engineering.py\" --top 10\n```\n\nAdd `--target \u003Cplugin-or-skill-path>` when the user scoped the run, and\n`--always-loaded-budget \u003CN>` when they passed `--budget`.\n\nWhen the user asks about the cost of a **session that loads several repos**\n(a portfolio checkout, sibling repos open together), add one `--also \u003Crepo>`\nper extra root plus `--portfolio-budget \u003CN>`. Only the C5 surface is summed;\nC1–C4 and C6 stay scoped to `--project-dir`, since they measure authoring\nquality inside one marketplace. `--also` and `--target` are mutually exclusive.\n\nRead the `KEY=VALUE` block. `STATUS=ERROR` means one of two things: an\nalways-loaded surface is over budget — the primary repo's, or the portfolio's\n(`C5_PORTFOLIO_*`, with a per-repo `C5_PORTFOLIO_BREAKDOWN`) — or a single rule\nis over the per-rule ceiling (`TYPE=rule_over_size_ceiling`,\n`C5_RULES_OVER_CEILING`, `--rule-size-ceiling`, default 50000). The ceiling\nexists because the budget sums unscoped rules only, while a path-scoped rule\nstill loads whole into every agent that touches a matching path; a 513 KB\nscoped rule once pushed a haiku subagent past its window unseen (#2667). ERRORs\nare always listed first, so `--max-issues` never hides the reason. Every other\nfinding is a `WARN` candidate, not a verdict.\n\n### Step 2: Report the C1–C6 card\n\nRender one row per dimension: the measured value, the count of flagged units,\nand the top offender. State the totals for `C5_ALWAYS_LOADED_EST_TOKENS` and\n`SKILL_BODY_EST_TOKENS` separately — they have different cost models and must\nnot be summed.\n\nRank findings by `always-loaded cost × frequency`, never by raw size. An\nalways-loaded rule costs on every turn; a skill body costs only when the skill\nfires; a `references\u002F` file or script costs only when read or run. A large skill\nbody is a smaller problem than a medium-sized unscoped rule.\n\n### Step 3: Judge the top units (`--judge` only)\n\nFor at most 3 flagged units, spawn one isolated subagent each:\n\n```\nTask subagent_type: general-purpose\nprompt: Read the frozen rubric at docs\u002Fbenchmarks\u002F2026-07-context-engineering\u002Frubric.md\n        and score \u003Cunit path> on C1-C6. Every score of 1, 2, 4 or 5 needs a\n        verbatim quote from the unit, copied exactly. If you cannot quote for a\n        score, score 3. Do not read the scanner's metrics.json.\n```\n\nWithhold Channel M's numbers from the judge — showing them anchors the judgment\nto the proxy the rubric is supposed to check independently. Run judges\n**synchronously**: the critique is the returned tool result\n(`agent-patterns-plugin:cold-read-gate`).\n\n### Step 4: Propose cuts, and one thing to keep\n\nFor each recommendation give: the unit, the dimension, the token cost, the\nproposed change, and whether the evidence is **proven** (a judged quote) or\n**proxy-only** (Channel M alone).\n\nInclude at least one unit that **earns its tokens** and should not be cut. A\nreport with no counter-finding has an agreement bias, not a clean corpus — the\nscanner flags constraint density, and some of the densest text is the\nsafety-critical text that should stay.\n\n### Step 5: Hand off, do not apply\n\nMigrating rules into skills is `agent-patterns-plugin:meta-context-diet`'s job —\nit carries the per-candidate confirmation gate for lossy edits to always-loaded\nfiles. This skill measures and recommends; it does not rewrite.\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| Whole-repo card | `python3 \"${CLAUDE_SKILL_DIR}\u002Fscripts\u002Fcheck-context-engineering.py\"` |\n| One plugin | `... --target git-plugin` |\n| Machine-readable | `... --json` |\n| CI ratchet (exit 1 over budget) | `... --strict` |\n| Portfolio budget across repos | `... --also ..\u002Fdotfiles --also ..\u002Frepos-claude-config --portfolio-budget 155000` |\n| Full issue list | `... --max-issues 0` |\n| Determinism check | `... --json \\| sha256sum` (must be stable across runs) |\n\n## Related\n\n- `docs\u002Fbenchmarks\u002F2026-07-context-engineering\u002Frubric.md` — the frozen 1–5 anchors Channel J scores against\n- `.claude\u002Frules\u002Fcontext-engineering.md` — the standing house position and what it supersedes\n- `.claude\u002Frules\u002Fskill-evaluation.md` — the tiered cost model; ablation is the follow-up that turns a judgment into a measurement\n- `agent-patterns-plugin:meta-context-diet` — migrates approved always-loaded candidates into skills\n",{"args":47,"name":5,"model":48,"created":49,"modified":50,"reviewed":50,"description":7,"allowed-tools":51,"argument-hint":52},"[plugin | plugin\u002Fskill | --always-loaded] [--judge]","opus",1785024000000,1790121600000,"Bash(python3 *), Bash(bash *), Read, Glob, Grep, Task, TodoWrite","git-plugin\u002Fgit-commit --judge","main","bdd0582f1a2ba53d21061835bfd72d45f2f954f4","evaluate-plugin\u002Fskills\u002Fevaluate-context-engineering",6,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins","https:\u002F\u002Fgithub.com\u002Flaurigates","Linux enthusiast, cloud engineer, neovim addict, electronics hobbyist.","2026-11-13 03:22:01",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add laurigates\u002Fclaude-plugins --skill evaluate-context-engineering",{"tool":67,"command":68},"bunx","bunx skills add laurigates\u002Fclaude-plugins --skill evaluate-context-engineering",{"tool":70,"command":71},"pnpm","pnpm dlx skills add laurigates\u002Fclaude-plugins --skill evaluate-context-engineering","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fevaluate-plugin\u002Fskills\u002Fevaluate-context-engineering\u002FSKILL.md",true,[75,81],{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"scripts\u002Fcheck-context-engineering.py","SCRIPT","脚本",37947,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fevaluate-plugin\u002Fskills\u002Fevaluate-context-engineering\u002Fscripts\u002Fcheck-context-engineering.py",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"scripts\u002Ftests\u002Ftest-check-context-engineering.sh",19058,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fevaluate-plugin\u002Fskills\u002Fevaluate-context-engineering\u002Fscripts\u002Ftests\u002Ftest-check-context-engineering.sh",[86,113,134,150,172,202],{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":97,"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",[92],{"categoryNo":93,"categoryName":94,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[98,99,100,101,102,103,104,105,106,107,32,27,37,108,109,110,111,112,26,24],"show","kitty show image","image","kitty","show image","ls","get","send","open","dev","file","text","with","xdg","via",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"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",[],[101,120,121,122,123,124,27,37,125,126,127,26,24,128,129,130,131,132,133,32],"kitty session persistence","session","persistence","false","snapshots","uname","reboot","terminal","write","edit","snapshot","macos","sessions","restore",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"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",[],[141,142,101,143,144,103,145,146,104,147,148,32,27,149,37,109,110,127,26,24],"kitty remote control","remote","control","remote control","running","never","panes","notify","query",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":156,"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",[],[157,158,159,160,161,162,35,163,164,165,32,27,37,166,108,167,168,169,170,171],"docs reference check","check","reference check","reference","docs","links","repo","files","auto","drift","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":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",[178,181,182],{"categoryNo":179,"categoryName":180,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":93,"categoryName":94,"taxonomyType":95,"taxonomyTypeDesc":96},{"categoryNo":183,"categoryName":184,"taxonomyType":185,"taxonomyTypeDesc":186},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[188,189,190,191,35,192,24,193,129,194,195,196,32,37,108,197,198,27,199,200,201,112,26],"youtube upload","upload","youtube","Video","run","uv run","publishing","data","uv","api","v3","tags","id","title",{"skillNo":203,"name":204,"nameZh":6,"description":205,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":206,"categories":207,"keywords":211,"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",[208],{"categoryNo":209,"categoryName":210,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000023","Skill与智能体开发",[212,213,214,215,190,191,216,217,218,219,220,24,221,222,223,224,32,225,27,110,226,26],"youtube studio share","share","youtube studio","studio","browser","javascript","scripting","google workspace","workspace","tool","google","only","MCP","chrome","organization"]