[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C69EGSSA8FPQ3PVAQ0TEXJ":3,"skill-same:01M6C69EGSSA8FPQ3PVAQ0TEXJ":112},{"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":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":58,"commitSha":59,"skillDirectory":60,"forksCount":61,"repositoryHtmlUrl":62,"repositoryHomepageUrl":6,"ownerHtmlUrl":63,"ownerBlogUrl":6,"ownerDescription":64,"updatedAt":65,"install":66,"resources":79},"01M6C69EGSSA8FPQ3PVAQ0TEXJ","changelog-review",null,"Claude Code changelog analysis for plugin impact. Use when checking new features, breaking changes, or upgrade opportunities from a Claude Code release.","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\u002Fproject-plugin\u002Fskills\u002Fchangelog-review\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","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],"changelog","changelog review","review","webfetch","new","2026","when","features","impact","false","upgrade","wed","log","diff","use","edit","write","read","grep","Bash","analysis","git","release","code","plugin","2026-11-10 10:12:30",false,"---\nname: changelog-review\ndescription: Claude Code changelog analysis for plugin impact. Use when checking new features, breaking changes, or upgrade opportunities from a Claude Code release.\nuser-invocable: false\nallowed-tools: Bash(git log *), Bash(git diff *), Read, Write, Edit, Glob, Grep, WebFetch, TodoWrite\ncreated: 2026-01-14\nmodified: 2026-09-24\nreviewed: 2026-07-06\n---\n\n# Claude Code Changelog Review\n\n## When to Use This Skill\n\n| Use this skill when... | Use another skill instead when... |\n|---|---|\n| Reviewing Claude Code releases for breaking changes that affect plugins | Distilling project session learnings into rules and recipes |\n| Discovering new Claude Code features that plugins can leverage | Use project-skill-scripts instead when auditing skills for script-extraction wins |\n| Tracking deprecations before they break installed plugins | Use project-continue instead when resuming feature work, not platform review |\n\nExpertise for analyzing Claude Code changelog and identifying impacts on plugin development.\n\n## Core Purpose\n\nReview Claude Code releases to:\n- Identify breaking changes requiring plugin updates\n- Discover new features plugins can leverage\n- Track deprecations before they become problems\n- Ensure plugins follow current best practices\n\n## Change Categories\n\n### High Impact (Action Required)\n\n| Category | Example Changes | Action |\n|----------|----------------|--------|\n| Breaking changes | API changes, renamed tools | Update affected plugins immediately |\n| Security fixes | Permission vulnerabilities | Review and update permission rules |\n| Deprecations | Removed features\u002Ffields | Remove deprecated usage |\n| Hook changes | New events, schema changes | Update hooks-plugin |\n\n### Medium Impact (Review Recommended)\n\n| Category | Example Changes | Action |\n|----------|----------------|--------|\n| New features | New tools, frontmatter fields | Consider plugin enhancements |\n| Permission updates | New wildcard patterns | Update permission documentation |\n| SDK changes | New callbacks, streaming | Update SDK-related skills |\n| MCP improvements | OAuth, server configs | Update agent-patterns-plugin |\n\n### Low Impact (Information Only)\n\n| Category | Example Changes | Action |\n|----------|----------------|--------|\n| Bug fixes | UI improvements | Note in changelog |\n| Performance | Startup optimizations | No action needed |\n| IDE features | VS Code updates | No action needed |\n\n## Plugin Impact Matrix\n\nMap changelog categories to plugins:\n\n| Claude Code Area | Affected Plugins |\n|------------------|------------------|\n| Hooks | hooks-plugin, configure-plugin |\n| Skills\u002FCommands | All plugins with skills\u002Fcommands |\n| Agents | agents-plugin, agent-patterns-plugin |\n| MCP servers | agent-patterns-plugin |\n| Permissions | configure-plugin, hooks-plugin |\n| Git operations | git-plugin |\n| Testing tools | testing-plugin |\n| SDK changes | agent-patterns-plugin |\n\n## Version Tracking\n\nVersion state stored in `.claude-code-version-check.json`:\n\n```json\n{\n  \"lastCheckedVersion\": \"2.1.7\",\n  \"lastCheckedDate\": \"2026-01-14\",\n  \"changelogUrl\": \"https:\u002F\u002Fraw.githubusercontent.com\u002Fanthropics\u002Fclaude-code\u002Fmain\u002FCHANGELOG.md\",\n  \"reviewedChanges\": [\n    {\n      \"version\": \"2.1.7\",\n      \"date\": \"2026-01-14\",\n      \"relevantChanges\": [],\n      \"actionsRequired\": []\n    }\n  ]\n}\n```\n\n## Analysis Process\n\n### Step 1: Fetch Current State\n\n```bash\n# Read last checked version\ncat .claude-code-version-check.json | jq -r '.lastCheckedVersion'\n```\n\n### Step 2: Fetch Changelog\n\nUse WebFetch to get the current changelog from:\n`https:\u002F\u002Fraw.githubusercontent.com\u002Fanthropics\u002Fclaude-code\u002Fmain\u002FCHANGELOG.md`\n\n### Step 3: Identify New Versions\n\nCompare fetched changelog versions against lastCheckedVersion.\nExtract all changes since that version.\n\n### Step 4: Categorize Changes\n\nFor each change, determine:\n1. Impact level (high\u002Fmedium\u002Flow)\n2. Affected plugins\n3. Required action\n\n### Step 5: Generate Report\n\nProduce a report with:\n- New versions found\n- High-impact changes requiring immediate action\n- Medium-impact changes worth reviewing\n- Suggestions for plugin improvements\n\n### Step 6: Update Version Tracking\n\nUpdate `.claude-code-version-check.json` with:\n- New lastCheckedVersion\n- New lastCheckedDate\n- Summary of reviewed changes\n\nThis step is for interactive runs only. In the CI triage run (Automation\nIntegration below) the workflow owns the state file and discards any edit the\nagent makes to it; write the entry to `triage-entry.json` instead.\n\n## Change Detection Patterns\n\n### Breaking Changes\n\nLook for:\n- \"BREAKING\" or \"Breaking Change\" headers\n- \"Removed\" sections\n- \"Migrat\" keywords\n- \"deprecated\" becoming \"removed\"\n\n### Hook System Changes\n\nLook for:\n- \"hook\" mentions in features\n- New hook events (SessionStart, SessionEnd, SubagentStart, etc.)\n- Schema changes for hook input\u002Foutput\n- Permission decision updates\n\n### Skill\u002FCommand Changes\n\nLook for:\n- \"skill\" or \"slash command\" mentions\n- Frontmatter field changes\n- Discovery mechanism updates\n- New fields like \"context: fork\"\n\n### Agent\u002FSubagent Changes\n\nLook for:\n- \"agent\" or \"subagent\" mentions\n- Task tool changes\n- Agent configuration options\n- New agent types\n\n### Permission Changes\n\nLook for:\n- \"permission\" mentions\n- Wildcard pattern updates\n- Security fixes\n- Bash permission changes\n\n## Report Format\n\nFor the human-readable review report template (Summary \u002F High-Impact \u002F\nMedium-Impact \u002F Action Items \u002F Next Steps), see [REFERENCE.md](REFERENCE.md).\nThe CI path opens a triage issue instead — see Automation Integration below.\n\n## Automation Integration\n\nThe `.github\u002Fworkflows\u002Fchangelog-review.yml` workflow runs this review weekly.\nIt is a thin caller of the org reusable workflow\n`laurigates\u002F.github\u002F.github\u002Fworkflows\u002Freusable-changelog-review.yml@main`\n(issue #1304): the schedule, dispatch input, and repo-specific inputs (analyzer\npath, commit scope, rule-file sections, plugin list) live in the caller; the\ntwo-job pipeline (bash pre-check gate → opus triage) lives upstream. The\nanalyzer script and its tests stay in this repo and are handed to the reusable\nworkflow via its `analyzer-script` input, so the analysis logic remains\nreviewable and unit-tested here:\n\n```bash\nbash scripts\u002Fanalyze-changelog.sh --excerpt \u003Cslice> --repo-dir . \\\n  --tracked \u003Cver> --latest \u003Cver>\n```\n\nThe script (`scripts\u002Fanalyze-changelog.sh`, tested by\n`scripts\u002Ftests\u002Ftest-analyze-changelog.sh`) emits structured `KEY=VALUE` output\nand, beyond keyword counts, carries a **deprecation\u002Fremoval → plugin-code\nbridge**: for any tool\u002Fsetting\u002Fcommand named in a deprecation **or BREAKING\nremoval** line, it greps this repo's skills\u002Fhooks\u002Fagents\u002Frules and surfaces the\nfiles that still reference it as triage candidates. Three miss classes drive this:\n\n- **#1638** — a deprecated identifier (e.g. `TaskOutput`) that stayed referenced\n  in a hook script because the old keyword map only ever pointed at\n  `.claude\u002Frules\u002F*.md`. Caught by the `deprecat|removed|renamed|unshipped` forms.\n- **#1733** — a BREAKING tool removal phrased verb-after with a `\u002F`-separated\n  pair (`BREAKING: `TeamCreate`\u002F`TeamDelete` tools removed`, 2.1.178) that the\n  deprecation-grammar forms missed, leaving the `agent-patterns-plugin:agent-teams`\n  skill referencing removed tools unflagged. Caught by the BREAKING-line\n  extractor.\n- **#2712** — a removal whose subject upstream left un-backticked (\"Removed the\n  deprecated TaskOutput tool\", 2.1.277), invisible to every backtick-anchored\n  form. Caught by the bare-subject extractor, which accepts only tool-shaped\n  subjects (followed by \"tool\", or ending in `Tool`).\n\n**Reviewing the changelog is never doc-only.** Every run treats updating rule\ndocs *and* fixing plugin **code** that references a removed\u002Frenamed\ntool\u002Fsetting\u002Fenv-var as part of the same task — the `ACTIONABLE_DEPRECATION`\ncandidates are the highest-priority section of the tracking issue, and a\nreferenced removed identifier is a correctness bug (the skill would instruct\nClaude to call a tool that no longer exists), not just stale prose.\n\nWorkflow flow:\n\n1. Run weekly on schedule\n2. Fetch changelog and compare versions (skip-if-exists is drift-aware: an open\n   but unactioned tracking issue no longer suppresses *newer* versions)\n3. If new versions found: run the analyzer, then an opus run writes the\n   tracking-issue body (highest priority = deprecated identifiers still\n   referenced in our code) to `triage-issue-body.md` and the state-file entry\n   to `triage-entry.json`. The agent edits neither the version JSON nor any\n   rule file, and files nothing itself.\n4. A bash step publishes them: it files the issue once (reusing an open issue\n   with the same title, never retrying a failed create), applies labels and\n   assignee with the workflow token, reads them back, records that read-back in\n   the version JSON, and opens the tiny ratchet PR (#2720)\n\nItems 3 and 4 describe the reusable workflow from laurigates\u002F.github#70\nonward. Before that change the triage agent filed the issue itself with\n`--label`\u002F`--assignee`, which is how each tracking issue was filed twice.\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| Analyze a changelog slice (structured `KEY=VALUE`) | `bash scripts\u002Fanalyze-changelog.sh --excerpt \u003Cslice> --repo-dir . --tracked \u003Cver> --latest \u003Cver>` |\n| Triage filter — code-compliance candidates only | `… analyze-changelog.sh … \\| grep -E '^(ACTIONABLE_DEPRECATION\\|DEPRECATED_TOKENS)='` |\n| List the surfaced candidate files | `… analyze-changelog.sh … \\| sed -n '\u002F^CANDIDATES:\u002F,\u002F^=== END\u002Fp'` |\n| Roll-up status only | `… analyze-changelog.sh … \\| grep -E '^(STATUS\\|ISSUE_COUNT)='` |\n| Run the analyzer regression tests | `bash project-plugin\u002Fskills\u002Fchangelog-review\u002Fscripts\u002Ftests\u002Ftest-analyze-changelog.sh` |\n\n## Quick Reference\n\n### Relevant Claude Code URLs\n\n| Resource | URL |\n|----------|-----|\n| Changelog | https:\u002F\u002Fraw.githubusercontent.com\u002Fanthropics\u002Fclaude-code\u002Fmain\u002FCHANGELOG.md |\n| Documentation | https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fdocs\u002Fclaude-code |\n| GitHub | https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code |\n\n### Version Number Format\n\nClaude Code uses semantic versioning: `MAJOR.MINOR.PATCH`\n\n- MAJOR: Breaking changes\n- MINOR: New features\n- PATCH: Bug fixes\n\n### Issue Labels\n\n| Label | Use For |\n|-------|---------|\n| `changelog-review` | All changelog-related issues |\n| `breaking-change` | Breaking changes requiring updates |\n| `enhancement` | New feature opportunities |\n| `maintenance` | General housekeeping |\n","# Claude Code Changelog Review\n\n## When to Use This Skill\n\n| Use this skill when... | Use another skill instead when... |\n|---|---|\n| Reviewing Claude Code releases for breaking changes that affect plugins | Distilling project session learnings into rules and recipes |\n| Discovering new Claude Code features that plugins can leverage | Use project-skill-scripts instead when auditing skills for script-extraction wins |\n| Tracking deprecations before they break installed plugins | Use project-continue instead when resuming feature work, not platform review |\n\nExpertise for analyzing Claude Code changelog and identifying impacts on plugin development.\n\n## Core Purpose\n\nReview Claude Code releases to:\n- Identify breaking changes requiring plugin updates\n- Discover new features plugins can leverage\n- Track deprecations before they become problems\n- Ensure plugins follow current best practices\n\n## Change Categories\n\n### High Impact (Action Required)\n\n| Category | Example Changes | Action |\n|----------|----------------|--------|\n| Breaking changes | API changes, renamed tools | Update affected plugins immediately |\n| Security fixes | Permission vulnerabilities | Review and update permission rules |\n| Deprecations | Removed features\u002Ffields | Remove deprecated usage |\n| Hook changes | New events, schema changes | Update hooks-plugin |\n\n### Medium Impact (Review Recommended)\n\n| Category | Example Changes | Action |\n|----------|----------------|--------|\n| New features | New tools, frontmatter fields | Consider plugin enhancements |\n| Permission updates | New wildcard patterns | Update permission documentation |\n| SDK changes | New callbacks, streaming | Update SDK-related skills |\n| MCP improvements | OAuth, server configs | Update agent-patterns-plugin |\n\n### Low Impact (Information Only)\n\n| Category | Example Changes | Action |\n|----------|----------------|--------|\n| Bug fixes | UI improvements | Note in changelog |\n| Performance | Startup optimizations | No action needed |\n| IDE features | VS Code updates | No action needed |\n\n## Plugin Impact Matrix\n\nMap changelog categories to plugins:\n\n| Claude Code Area | Affected Plugins |\n|------------------|------------------|\n| Hooks | hooks-plugin, configure-plugin |\n| Skills\u002FCommands | All plugins with skills\u002Fcommands |\n| Agents | agents-plugin, agent-patterns-plugin |\n| MCP servers | agent-patterns-plugin |\n| Permissions | configure-plugin, hooks-plugin |\n| Git operations | git-plugin |\n| Testing tools | testing-plugin |\n| SDK changes | agent-patterns-plugin |\n\n## Version Tracking\n\nVersion state stored in `.claude-code-version-check.json`:\n\n```json\n{\n  \"lastCheckedVersion\": \"2.1.7\",\n  \"lastCheckedDate\": \"2026-01-14\",\n  \"changelogUrl\": \"https:\u002F\u002Fraw.githubusercontent.com\u002Fanthropics\u002Fclaude-code\u002Fmain\u002FCHANGELOG.md\",\n  \"reviewedChanges\": [\n    {\n      \"version\": \"2.1.7\",\n      \"date\": \"2026-01-14\",\n      \"relevantChanges\": [],\n      \"actionsRequired\": []\n    }\n  ]\n}\n```\n\n## Analysis Process\n\n### Step 1: Fetch Current State\n\n```bash\n# Read last checked version\ncat .claude-code-version-check.json | jq -r '.lastCheckedVersion'\n```\n\n### Step 2: Fetch Changelog\n\nUse WebFetch to get the current changelog from:\n`https:\u002F\u002Fraw.githubusercontent.com\u002Fanthropics\u002Fclaude-code\u002Fmain\u002FCHANGELOG.md`\n\n### Step 3: Identify New Versions\n\nCompare fetched changelog versions against lastCheckedVersion.\nExtract all changes since that version.\n\n### Step 4: Categorize Changes\n\nFor each change, determine:\n1. Impact level (high\u002Fmedium\u002Flow)\n2. Affected plugins\n3. Required action\n\n### Step 5: Generate Report\n\nProduce a report with:\n- New versions found\n- High-impact changes requiring immediate action\n- Medium-impact changes worth reviewing\n- Suggestions for plugin improvements\n\n### Step 6: Update Version Tracking\n\nUpdate `.claude-code-version-check.json` with:\n- New lastCheckedVersion\n- New lastCheckedDate\n- Summary of reviewed changes\n\nThis step is for interactive runs only. In the CI triage run (Automation\nIntegration below) the workflow owns the state file and discards any edit the\nagent makes to it; write the entry to `triage-entry.json` instead.\n\n## Change Detection Patterns\n\n### Breaking Changes\n\nLook for:\n- \"BREAKING\" or \"Breaking Change\" headers\n- \"Removed\" sections\n- \"Migrat\" keywords\n- \"deprecated\" becoming \"removed\"\n\n### Hook System Changes\n\nLook for:\n- \"hook\" mentions in features\n- New hook events (SessionStart, SessionEnd, SubagentStart, etc.)\n- Schema changes for hook input\u002Foutput\n- Permission decision updates\n\n### Skill\u002FCommand Changes\n\nLook for:\n- \"skill\" or \"slash command\" mentions\n- Frontmatter field changes\n- Discovery mechanism updates\n- New fields like \"context: fork\"\n\n### Agent\u002FSubagent Changes\n\nLook for:\n- \"agent\" or \"subagent\" mentions\n- Task tool changes\n- Agent configuration options\n- New agent types\n\n### Permission Changes\n\nLook for:\n- \"permission\" mentions\n- Wildcard pattern updates\n- Security fixes\n- Bash permission changes\n\n## Report Format\n\nFor the human-readable review report template (Summary \u002F High-Impact \u002F\nMedium-Impact \u002F Action Items \u002F Next Steps), see [REFERENCE.md](REFERENCE.md).\nThe CI path opens a triage issue instead — see Automation Integration below.\n\n## Automation Integration\n\nThe `.github\u002Fworkflows\u002Fchangelog-review.yml` workflow runs this review weekly.\nIt is a thin caller of the org reusable workflow\n`laurigates\u002F.github\u002F.github\u002Fworkflows\u002Freusable-changelog-review.yml@main`\n(issue #1304): the schedule, dispatch input, and repo-specific inputs (analyzer\npath, commit scope, rule-file sections, plugin list) live in the caller; the\ntwo-job pipeline (bash pre-check gate → opus triage) lives upstream. The\nanalyzer script and its tests stay in this repo and are handed to the reusable\nworkflow via its `analyzer-script` input, so the analysis logic remains\nreviewable and unit-tested here:\n\n```bash\nbash scripts\u002Fanalyze-changelog.sh --excerpt \u003Cslice> --repo-dir . \\\n  --tracked \u003Cver> --latest \u003Cver>\n```\n\nThe script (`scripts\u002Fanalyze-changelog.sh`, tested by\n`scripts\u002Ftests\u002Ftest-analyze-changelog.sh`) emits structured `KEY=VALUE` output\nand, beyond keyword counts, carries a **deprecation\u002Fremoval → plugin-code\nbridge**: for any tool\u002Fsetting\u002Fcommand named in a deprecation **or BREAKING\nremoval** line, it greps this repo's skills\u002Fhooks\u002Fagents\u002Frules and surfaces the\nfiles that still reference it as triage candidates. Three miss classes drive this:\n\n- **#1638** — a deprecated identifier (e.g. `TaskOutput`) that stayed referenced\n  in a hook script because the old keyword map only ever pointed at\n  `.claude\u002Frules\u002F*.md`. Caught by the `deprecat|removed|renamed|unshipped` forms.\n- **#1733** — a BREAKING tool removal phrased verb-after with a `\u002F`-separated\n  pair (`BREAKING: `TeamCreate`\u002F`TeamDelete` tools removed`, 2.1.178) that the\n  deprecation-grammar forms missed, leaving the `agent-patterns-plugin:agent-teams`\n  skill referencing removed tools unflagged. Caught by the BREAKING-line\n  extractor.\n- **#2712** — a removal whose subject upstream left un-backticked (\"Removed the\n  deprecated TaskOutput tool\", 2.1.277), invisible to every backtick-anchored\n  form. Caught by the bare-subject extractor, which accepts only tool-shaped\n  subjects (followed by \"tool\", or ending in `Tool`).\n\n**Reviewing the changelog is never doc-only.** Every run treats updating rule\ndocs *and* fixing plugin **code** that references a removed\u002Frenamed\ntool\u002Fsetting\u002Fenv-var as part of the same task — the `ACTIONABLE_DEPRECATION`\ncandidates are the highest-priority section of the tracking issue, and a\nreferenced removed identifier is a correctness bug (the skill would instruct\nClaude to call a tool that no longer exists), not just stale prose.\n\nWorkflow flow:\n\n1. Run weekly on schedule\n2. Fetch changelog and compare versions (skip-if-exists is drift-aware: an open\n   but unactioned tracking issue no longer suppresses *newer* versions)\n3. If new versions found: run the analyzer, then an opus run writes the\n   tracking-issue body (highest priority = deprecated identifiers still\n   referenced in our code) to `triage-issue-body.md` and the state-file entry\n   to `triage-entry.json`. The agent edits neither the version JSON nor any\n   rule file, and files nothing itself.\n4. A bash step publishes them: it files the issue once (reusing an open issue\n   with the same title, never retrying a failed create), applies labels and\n   assignee with the workflow token, reads them back, records that read-back in\n   the version JSON, and opens the tiny ratchet PR (#2720)\n\nItems 3 and 4 describe the reusable workflow from laurigates\u002F.github#70\nonward. Before that change the triage agent filed the issue itself with\n`--label`\u002F`--assignee`, which is how each tracking issue was filed twice.\n\n## Agentic Optimizations\n\n| Context | Command |\n|---------|---------|\n| Analyze a changelog slice (structured `KEY=VALUE`) | `bash scripts\u002Fanalyze-changelog.sh --excerpt \u003Cslice> --repo-dir . --tracked \u003Cver> --latest \u003Cver>` |\n| Triage filter — code-compliance candidates only | `… analyze-changelog.sh … \\| grep -E '^(ACTIONABLE_DEPRECATION\\|DEPRECATED_TOKENS)='` |\n| List the surfaced candidate files | `… analyze-changelog.sh … \\| sed -n '\u002F^CANDIDATES:\u002F,\u002F^=== END\u002Fp'` |\n| Roll-up status only | `… analyze-changelog.sh … \\| grep -E '^(STATUS\\|ISSUE_COUNT)='` |\n| Run the analyzer regression tests | `bash project-plugin\u002Fskills\u002Fchangelog-review\u002Fscripts\u002Ftests\u002Ftest-analyze-changelog.sh` |\n\n## Quick Reference\n\n### Relevant Claude Code URLs\n\n| Resource | URL |\n|----------|-----|\n| Changelog | https:\u002F\u002Fraw.githubusercontent.com\u002Fanthropics\u002Fclaude-code\u002Fmain\u002FCHANGELOG.md |\n| Documentation | https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fdocs\u002Fclaude-code |\n| GitHub | https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code |\n\n### Version Number Format\n\nClaude Code uses semantic versioning: `MAJOR.MINOR.PATCH`\n\n- MAJOR: Breaking changes\n- MINOR: New features\n- PATCH: Bug fixes\n\n### Issue Labels\n\n| Label | Use For |\n|-------|---------|\n| `changelog-review` | All changelog-related issues |\n| `breaking-change` | Breaking changes requiring updates |\n| `enhancement` | New feature opportunities |\n| `maintenance` | General housekeeping |\n",{"name":5,"created":54,"modified":55,"reviewed":56,"description":7,"allowed-tools":57,"user-invocable":50},1768348800000,1790208000000,1783296000000,"Bash(git log *), Bash(git diff *), Read, Write, Edit, Glob, Grep, WebFetch, TodoWrite","main","bdd0582f1a2ba53d21061835bfd72d45f2f954f4","project-plugin\u002Fskills\u002Fchangelog-review",6,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins","https:\u002F\u002Fgithub.com\u002Flaurigates","Linux enthusiast, cloud engineer, neovim addict, electronics hobbyist.","2026-11-15 03:36:11",{"source":8,"skillName":5,"commands":67,"prompt":77,"zipAvailable":78},[68,71,74],{"tool":69,"command":70},"npx","npx skills add laurigates\u002Fclaude-plugins --skill changelog-review",{"tool":72,"command":73},"bunx","bunx skills add laurigates\u002Fclaude-plugins --skill changelog-review",{"tool":75,"command":76},"pnpm","pnpm dlx skills add laurigates\u002Fclaude-plugins --skill changelog-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fproject-plugin\u002Fskills\u002Fchangelog-review\u002FSKILL.md",true,[80,86,90,94,98,102,108],{"path":81,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":84,"sourceHtmlUrl":85},"GLOSSARY-FORMAT.md","REFERENCE","参考文档",2131,"https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-teach\u002FGLOSSARY-FORMAT.md",{"path":87,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":88,"sourceHtmlUrl":89},"LEARNING-RECORD-FORMAT.md",2777,"https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-teach\u002FLEARNING-RECORD-FORMAT.md",{"path":91,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":92,"sourceHtmlUrl":93},"MISSION-FORMAT.md",1553,"https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-teach\u002FMISSION-FORMAT.md",{"path":95,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":96,"sourceHtmlUrl":97},"REFERENCE.md",1072,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fproject-plugin\u002Fskills\u002Fchangelog-review\u002FREFERENCE.md",{"path":99,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":100,"sourceHtmlUrl":101},"RESOURCES-FORMAT.md",1926,"https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-teach\u002FRESOURCES-FORMAT.md",{"path":103,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":106,"sourceHtmlUrl":107},"scripts\u002Fanalyze-changelog.sh","SCRIPT","脚本",12569,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fproject-plugin\u002Fskills\u002Fchangelog-review\u002Fscripts\u002Fanalyze-changelog.sh",{"path":109,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":110,"sourceHtmlUrl":111},"scripts\u002Ftests\u002Ftest-analyze-changelog.sh",12390,"https:\u002F\u002Fgithub.com\u002Flaurigates\u002Fclaude-plugins\u002Fblob\u002Fmain\u002Fproject-plugin\u002Fskills\u002Fchangelog-review\u002Fscripts\u002Ftests\u002Ftest-analyze-changelog.sh",[113,138,156,172,195,225],{"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":122,"publishedAt":49},"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",[119],{"categoryNo":120,"categoryName":121,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[123,124,125,126,127,128,129,130,131,132,38,30,43,133,134,135,136,137,29,41],"show","kitty show image","image","kitty","show image","ls","get","send","open","dev","file","text","with","xdg","via",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":49},"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",[],[126,145,146,147,33,148,30,43,149,150,151,29,41,40,39,152,153,154,155,38],"kitty session persistence","session","persistence","snapshots","uname","reboot","terminal","snapshot","macos","sessions","restore",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":162,"publishedAt":49},"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",[],[163,164,126,165,166,128,167,168,129,169,170,38,30,171,43,134,135,151,29,41],"kitty remote control","remote","control","remote control","running","never","panes","notify","query",{"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":178,"publishedAt":49},"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",[],[179,180,181,182,183,184,185,186,187,188,38,30,43,189,133,190,191,192,193,194],"docs reference check","check","reference check","reference","docs","links","python3","repo","files","auto","drift","lint","wiring","chezmoi","references","cp",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":210,"publishedAt":49},"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",[201,204,205],{"categoryNo":202,"categoryName":203,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":120,"categoryName":121,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":206,"categoryName":207,"taxonomyType":208,"taxonomyTypeDesc":209},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[211,212,213,214,185,215,41,216,39,217,218,219,38,43,133,220,221,30,222,223,224,137,29],"youtube upload","upload","youtube","Video","run","uv run","publishing","data","uv","api","v3","tags","id","title",{"skillNo":226,"name":227,"nameZh":6,"description":228,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":229,"categories":230,"keywords":232,"publishedAt":49},"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",[231],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[233,234,235,236,213,214,237,238,239,240,241,41,242,243,244,245,38,246,30,135,247,29],"youtube studio share","share","youtube studio","studio","browser","javascript","scripting","google workspace","workspace","tool","google","only","MCP","chrome","organization"]