[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69921WR7MSBCBPTYCGY2R6Z":3,"skill-same:01M69921WR7MSBCBPTYCGY2R6Z":86},{"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":51,"linkOnly":52,"markdownContent":53,"markdownBody":54,"frontMatter":55,"refName":56,"commitSha":57,"skillDirectory":58,"forksCount":59,"repositoryHtmlUrl":60,"repositoryHomepageUrl":61,"ownerHtmlUrl":62,"ownerBlogUrl":63,"ownerDescription":64,"updatedAt":65,"install":66,"resources":79},"01M69921WR7MSBCBPTYCGY2R6Z","api-reference-audit",null,"Audits whether ADK API reference docs and version-pinned strings are up to date across all language SDKs. Compares in-repo versions against upstream releases and package registries, then reports what needs bumping and which process to follow, and emits an executable plan only when asked. Triggers on \"audit API reference\", \"check API ref docs\", \"are API docs up to date\", \"bump API doc versions\", \"check SDK doc versions\".","google\u002Fadk-docs","google","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1342004?v=4","01M698VYEFDM0VJBZDYYJ2T83S","Google","01M6991WQ2WMQGACZVXDMMY88Q",1534,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-docs\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fapi-reference-audit\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"api reference audit","audit","api","reference","bump","when","api doc","sdks","which","strings","across","upstream","releases","reports","docs","up","only","repo","plan","doc","adk","sdk","2026-11-10 10:12:30",false,"---\nname: api-reference-audit\ndescription: Audits whether ADK API reference docs and version-pinned strings are up to date across all language SDKs. Compares in-repo versions against upstream releases and package registries, then reports what needs bumping and which process to follow, and emits an executable plan only when asked. Triggers on \"audit API reference\", \"check API ref docs\", \"are API docs up to date\", \"bump API doc versions\", \"check SDK doc versions\".\n---\n\n# ADK API reference doc auditor (api-ref-audit)\n\nThis skill audits the API reference documentation in the\n[adk-docs](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-docs) repository across every language\nSDK and reports what is out of date. It is a **reporting and guidance** skill:\nit detects drift, recommends the correct per-surface release process, and emits\nan executable plan only when the user explicitly asks. It does **not** edit\nfiles, run generators, or open PRs by default.\n\nThe audit covers three kinds of drift:\n\n1. **Generated API reference docs** under `docs\u002Fapi-reference\u002F` that lag behind\n   the latest SDK release.\n2. **Hardcoded version strings** in prose and examples (dependency coordinates,\n   `pom.xml` versions) that must be bumped with each Java\u002FKotlin release.\n3. **Code-sample drift** (light flagging only): samples that reference pinned\n   versions or obviously deprecated APIs. Deep sample verification is out of\n   scope of this skill.\n\n> [!IMPORTANT]\n> The maps below are **hints, not ground truth**. File layouts, script paths,\n> and team processes change. At each step, verify the path or marker exists and\n> re-derive it if a lookup fails, rather than trusting the table blindly.\n\n## Version map (in-repo version vs. upstream truth)\n\nEach **surface** is one API reference output this repo ships: Python API, Python\nCLI, Python REST API, Python Agent Config, TypeScript, Go, Java, and Kotlin.\n\nFor each surface, read the in-repo version from the file listed, then compare it\nagainst the latest upstream release and package registry.\n\n| Surface | In-repo version marker | Upstream repo | Package registry |\n| --- | --- | --- | --- |\n| Python API | `docs\u002Fapi-reference\u002Fpython\u002F_static\u002Fdocumentation_options.js` (`VERSION:`) | `google\u002Fadk-python` | PyPI `google-adk` |\n| Python CLI | `docs\u002Fapi-reference\u002Fcli\u002F_static\u002Fdocumentation_options.js` (`VERSION:`) and `docs\u002Fapi-reference\u002Fcli\u002Findex.html` (\"ADK X.Y.Z\") | `google\u002Fadk-python` | PyPI `google-adk` |\n| Python REST API | `docs\u002Fapi-reference\u002Frest\u002Fopenapi.json` (`info.version`) | `google\u002Fadk-python` | PyPI `google-adk` |\n| Python Agent Config | no version marker; diff the type set in `agentconfig\u002Findex.html` against upstream `AgentConfig.json` | `google\u002Fadk-python` (same release as Python API\u002FCLI\u002FREST) | n\u002Fa |\n| TypeScript | `docs\u002Fapi-reference\u002Ftypescript\u002Fvariables\u002Fversion.html` (the `version` const); cross-check `docs\u002Fapi-reference\u002Ftypescript\u002Findex.html` (`\u003Ctitle>` \"... - vX.Y.Z\") | `google\u002Fadk-js` (monorepo; see note) | npm `@google\u002Fadk` (authoritative) |\n| Go | external, hosted on `pkg.go.dev`; verify links in `docs\u002Fapi-reference\u002Findex.md` | `google\u002Fadk-go` | `pkg.go.dev` |\n| Java | `docs\u002Fapi-reference\u002Fjava\u002Findex.html` (`\u003Ctitle>` \"Maven Parent POM X.Y.Z API\") | `google\u002Fadk-java` (authoritative) | Maven Central `com.google.adk:google-adk` (lags; cross-check only) |\n| Kotlin | `docs\u002Fapi-reference\u002Fkotlin\u002Findex.html` (version string near the header) | `google\u002Fadk-kotlin` (authoritative) | Maven Central `com.google.adk:google-adk-kotlin-core` (lags; cross-check only) |\n\nNotes:\n\n- Python API, CLI, and REST all track the **same** `adk-python` release, so they\n  usually move together. Flag it when they diverge.\n- Python Agent Config has no version field. Parse the **keys of the `$defs`\n  object** (plus top-level `oneOf` variants) from the upstream\n  `AgentConfig.json` at the target tag, e.g. `jq '.\"$defs\" | keys'`. Do not\n  substring-grep for `*Config`: that mixes property names (camelCase, e.g.\n  `imageConfig`) with type names (PascalCase, e.g. `ImageConfig`) and produces\n  false drift. Check each `$defs` key as a whole word against\n  `agentconfig\u002Findex.html`; a key present upstream but missing in the page (or\n  vice versa) is drift.\n- TypeScript: use npm `@google\u002Fadk` `dist-tags.latest` as the authoritative\n  version. adk-js is a monorepo with package-prefixed tags (e.g. `main-v1.4.0`,\n  `integrations-v1.4.0`), so `gh ... releases\u002Flatest` can return a release for a\n  different package instead of `@google\u002Fadk`. The in-repo `version` const tracks\n  the same `@google\u002Fadk` package npm publishes and releases together with it, so\n  compare the two directly: any version difference means the docs are behind.\n  The generate script clones the `adk-v\u003Cversion>` tag (the core `@google\u002Fadk`\n  package tag).\n- Go docs are not built into this repo. Confirm the release version and that the\n  `index.md` links point at the correct major versions (e.g. v2.x and v1.x). Go\n  versions are also pinned in `examples\u002Fgo\u002Fgo.mod` \u002F `go.sum` and appear as\n  `\u002Fadk\u002Fv2` import paths in prose (e.g. `docs\u002Fevents\u002Findex.md`, `docs\u002F2.0\u002F`), so\n  check those too.\n\n## Hardcoded version references\n\nThese version-pinned strings are intentional and useful: they show developers\nthe exact dependency versions to use. The audit's job is to keep them current,\nnot remove them. They drift with each Java\u002FKotlin release and are bumped in a\nseparate PR (see the process map). Discover current occurrences by grep; do not\ntrust the file list alone, as new pages might appear over time.\n\n- **Grep targets**:\n    - `com.google.adk:google-adk` and `com.google.adk:google-adk-kotlin` across\n      `docs\u002F**\u002F*.md`\n    - `\u003Cgoogle-adk.version>` across `docs\u002F**\u002F*.md` and `examples\u002Fjava\u002F**\u002Fpom.xml`\n    - bare `google-adk>=X.Y.Z` pins in integration pages (report only; these are\n      minimum-version pins, not doc-version bumps)\n- **Known files that carry these (verify, do not assume complete)**:\n    - `docs\u002Fget-started\u002Finstallation.md`\n    - `docs\u002Fget-started\u002Fjava.md`\n    - `docs\u002Fget-started\u002Fkotlin.md`\n    - `docs\u002Flive\u002Fget-started\u002Fstreaming-java.md`\n    - `docs\u002Fdeploy\u002Fcloud-run.md`\n    - `docs\u002Fagents\u002Fmodels\u002Flitert-lm.md`\n    - `docs\u002Fintegrations\u002Ffirestore-session-service.md`\n    - `examples\u002Fjava\u002F**\u002Fpom.xml`\n\n- **Never flag or bump language support tags.** Versions that are inside of\n  `language-support-tag` spans (e.g. `\u003Cspan class=\"lst-python\">Python\n  v1.32.0\u003C\u002Fspan>`) mark the release a feature was *introduced* in, not the\n  latest published version. Leave them untouched; bumping them misrepresents\n  when the feature became available.\n\n## Per-surface process map (owner, tooling, steps)\n\nTreat each entry as a starting hint. Before recommending it, confirm the script\nstill exists and inspect the most recent matching bump PR to confirm the current\nprocess.\n\n- **Python API**: self-serve. Run `bash tools\u002Fpython-api-docs\u002Fgenerate.sh\n  \u003Cversion>`, then open a PR (the script injects the Google Analytics tag via\n  Sphinx).\n- **Python CLI**: self-serve. Run `bash tools\u002Fpython-cli-docs\u002Fgenerate.sh\n  \u003Cversion>`, then open a PR. The GA tag is injected via a Sphinx layout\n  template in the script.\n- **Python REST API**: self-serve. Run `bash\n  tools\u002Fpython-rest-api-docs\u002Fgenerate.sh \u003Cversion>`, then open a PR. GA tag is\n  baked into the generated `index.html`.\n- **Python Agent Config**: regenerated from the adk-python schema with\n  `json-schema-for-humans`; no `tools\u002F` generate script exists yet, so treat the\n  update as manual.\n- **TypeScript**: self-serve, one PR. Run `bash\n  tools\u002Ftypescript-api-docs\u002Fgenerate.sh \u003Cversion>` (where `\u003Cversion>` is the npm\n  `@google\u002Fadk` version from the audit), then open a PR. The script clones the\n  adk-js `adk-v\u003Cversion>` tag, adds the version to the page title via TypeDoc's\n  `--includeVersion`, and injects the Google Analytics tag into every HTML file\n  (awk post-processing).\n- **Java**: self-serve. Run `bash tools\u002Fjava-api-docs\u002Fgenerate.sh \u003Cversion>` to\n  regenerate the Javadoc assets under `docs\u002Fapi-reference\u002Fjava\u002F` (the GA tag is\n  auto-injected into every HTML file), and bump the hardcoded dependency\n  versions and `pom.xml` values. These can ship as two separate PRs (`chore:\n  update ADK Java doc to version \u003CX>` for the Javadoc assets and `Update ADK\n  Java dependency versions to \u003CX>` for the dependency pins) or bundled together.\n- **Kotlin**: self-serve, one PR. Run `bash tools\u002Fkotlin-api-docs\u002Fgenerate.sh\n  \u003Cversion>`, then open a PR that bundles the generated assets and the hardcoded\n  Kotlin refs (`installation.md`, `get-started\u002Fkotlin.md`, `litert-lm.md`). The\n  GA tag is auto-injected into every HTML file.\n\n### Verify the process\n\n- Confirm each referenced script exists under `tools\u002F` before recommending it.\n- Inspect the last matching bump to confirm the real, current process and the\n  files it touched, for example:\n    - `gh pr list --repo google\u002Fadk-docs --state merged --search \"Kotlin\"`\n    - `gh pr list --repo google\u002Fadk-docs --state merged --search \"CLI reference\"`\n    - `gh pr list --repo google\u002Fadk-docs --state merged --search \"Java\"`\n    - `gh pr list --repo google\u002Fadk-docs --state merged --search \"TypeScript\"`\n\n## Audit workflow\n\n### Step 1: Read in-repo versions\n\nFor every surface in the version map, read the marker file and record the\ncurrent version. Use `grep`\u002F`Read` for the JS and HTML markers and parse\n`info.version` from `rest\u002Fopenapi.json`. If a marker path does not resolve,\nre-derive it (search the generated output) and note the discrepancy.\n\n### Step 2: Fetch upstream releases and registry versions\n\nFor each SDK, get the latest release and the latest published package:\n\n- GitHub latest release and tags:\n    - `gh api repos\u002Fgoogle\u002Fadk-python\u002Freleases\u002Flatest --jq .tag_name`\n    - Repeat for `adk-go`, `adk-kotlin`, `adk-java`.\n    - For `adk-js`, do not use `releases\u002Flatest` (monorepo tags are\n      package-prefixed, e.g. `main-v1.4.0`); use npm `@google\u002Fadk` as the source\n      of truth.\n- Package registries:\n    - PyPI: fetch `https:\u002F\u002Fpypi.org\u002Fpypi\u002Fgoogle-adk\u002Fjson` and read `info.version`.\n    - npm: fetch `https:\u002F\u002Fregistry.npmjs.org\u002F@google\u002Fadk` and read\n      `dist-tags.latest`.\n    - Maven Central: query\n      `https:\u002F\u002Fsearch.maven.org\u002Fsolrsearch\u002Fselect?q=g:com.google.adk+AND+a:google-adk&rows=1&wt=json`\n      and read `latestVersion` (use `a:google-adk-kotlin-core` for Kotlin).\n- **For Java and Kotlin, treat the GitHub release\u002Ftag as authoritative.** The\n  Maven Central search index frequently lags real releases (it has returned\n  versions older than what is already shipped in this repo). Use the registry\n  only as a cross-check, and when it disagrees with the GitHub tag, trust the\n  tag and note the lag.\n- Note when a GitHub tag and its registry version disagree (a release may be\n  tagged but not yet published, or vice versa); report both.\n\n### Step 3: Classify each surface\n\nMark each surface as one of:\n\n- **Up to date**: in-repo version equals the latest upstream release.\n- **Behind**: in-repo version is older than the latest release (report the gap,\n  e.g. `2.3.0 -> 2.4.1`).\n- **Unknown \u002F manual**: upstream lookup failed, or a surface with no automatable\n  check. Agent Config is not \"unknown\"; classify it via the type-set diff\n  (Behind if types were added or removed upstream).\n\nCall out the common case where Python API, CLI, and REST should share the same\n`adk-python` version but do not.\n\nFor Agent Config, run the type-set diff described in the version map Notes to\ndecide Up to date vs. Behind.\n\n### Step 4: Check hardcoded version references\n\nGrep the targets in \"Hardcoded version references\" and compare each pinned\nversion to the latest Java and Kotlin releases. List every file and line that\nneeds a bump. Keep minimum-version pins (`google-adk>=X.Y.Z`) separate; only\nflag them if they reference a version newer than what is released or are clearly\nstale.\n\n### Step 5: Light code-sample drift flag\n\nDo a quick scan (not a deep audit): note samples with hardcoded model or package\nversions, obviously deprecated imports, or patterns superseded by a new\nrelease's changelog. Report these as hints and recommend a dedicated\nsample-audit pass for deep verification. Do not attempt to rewrite samples here.\n\n### Step 6: Verify Go links\n\nConfirm `docs\u002Fapi-reference\u002Findex.md` links point at the correct Go major\nversions on `pkg.go.dev` and that the latest `adk-go` release is represented.\nAlso check the pinned versions in `examples\u002Fgo\u002Fgo.mod` \u002F `go.sum` and the\n`\u002Fadk\u002Fv2` import paths in prose (e.g. `docs\u002Fevents\u002Findex.md`, `docs\u002F2.0\u002F`).\n\n## Report format\n\nProduce a Markdown report. Lead with a status table, then prioritized findings.\n\nStatus table (one row per surface):\n\n| Surface | In-repo | Latest upstream | Status | Recommended action |\n| --- | --- | --- | --- | --- |\n\nPrioritized findings after the table. List only items that require action; do\nnot emit \"no action\" or \"confirmed correct\" lines anywhere, including inside an\notherwise-actionable finding. If a surface needs nothing, its table row already\nsays so.\n\n- ? **Out of date \u002F broken**: a surface multiple releases behind, a\n  broken\u002Fincorrect API-reference link, or version markers that disagree with\n  each other (e.g. Python API\u002FCLI\u002FREST on different versions).\n- ? **Stale hardcoded versions**: `file:line` list of dependency coordinates and\n  `pom.xml` values to bump, with old -> new.\n- ? **Sample-drift hints**: samples that likely need updating; recommend the\n  deep sample-audit pass.\n\nFor each stale surface, name the **recommended process** from the process map\n(self-serve script, wait on team, or manual) so the user knows how to proceed.\n\nAfter the report, **stop**. Do not modify files, run generators, or open PRs\nunless the user explicitly asks.\n\n## Executable plan (only when asked)\n\nWhen the user asks you to proceed, output concrete next actions per stale\nsurface:\n\n- The exact command to run, when self-serve, for example:\n    - `bash tools\u002Fpython-api-docs\u002Fgenerate.sh \u003Cnew-version>`\n    - `bash tools\u002Fpython-cli-docs\u002Fgenerate.sh \u003Cnew-version>`\n    - `bash tools\u002Fpython-rest-api-docs\u002Fgenerate.sh \u003Cnew-version>`\n    - `bash tools\u002Fjava-api-docs\u002Fgenerate.sh \u003Cnew-version>`\n    - `bash tools\u002Fkotlin-api-docs\u002Fgenerate.sh \u003Cnew-version>`\n    - `bash tools\u002Ftypescript-api-docs\u002Fgenerate.sh \u003Cnew-version>`\n- For hardcoded versions, the precise `file:line` edits (old -> new), including\n  `examples\u002Fjava\u002F**\u002Fpom.xml`.\n- Which surfaces move together (Python API, CLI, and REST share one `adk-python`\n  version) so they ship as separate PRs, one per surface, bumped in the same\n  sitting.\n- A PR description per stale surface, following the repo convention:\n    - a short bullet summary of what changed\n    - `Rendered page:` \u003Cpreview link, where applicable>\n    - upstream release link and version\n- A final note telling the user how to proceed: self-run the commands, wait on\n  the owning team, or have the agent execute the plan.\n\n### PR title conventions\n\nMatch the established titles so history stays searchable:\n\n- Python API: `Update API reference docs for ADK Python \u003CX.Y.Z>`\n- Python CLI: `Update CLI reference docs for ADK Python \u003CX.Y.Z>`\n- Python REST API: `Update REST API reference docs for ADK Python \u003CX.Y.Z>`\n- TypeScript: `Update API reference docs for ADK TypeScript \u003CX.Y.Z>`\n- Java API: `chore: update ADK Java doc to version \u003CX.Y.Z>`\n- Java dependency bump: `Update ADK Java dependency versions to \u003CX.Y.Z>`\n- Kotlin: `Update ADK Kotlin to \u003CX.Y.Z>`\n\n## Style rules to bake in\n\n- Report versions precisely as `old -> new`; never guess a version you did not\n  read from a marker or fetch from upstream.\n- Do not invent links; use only markers you read and releases you fetched.\n- No em dashes or verbose AI-generated content.\n- The canonical source repositories are listed in\n  `docs\u002Fcommunity\u002Fcontributing-guide.md`.\n","# ADK API reference doc auditor (api-ref-audit)\n\nThis skill audits the API reference documentation in the\n[adk-docs](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-docs) repository across every language\nSDK and reports what is out of date. It is a **reporting and guidance** skill:\nit detects drift, recommends the correct per-surface release process, and emits\nan executable plan only when the user explicitly asks. It does **not** edit\nfiles, run generators, or open PRs by default.\n\nThe audit covers three kinds of drift:\n\n1. **Generated API reference docs** under `docs\u002Fapi-reference\u002F` that lag behind\n   the latest SDK release.\n2. **Hardcoded version strings** in prose and examples (dependency coordinates,\n   `pom.xml` versions) that must be bumped with each Java\u002FKotlin release.\n3. **Code-sample drift** (light flagging only): samples that reference pinned\n   versions or obviously deprecated APIs. Deep sample verification is out of\n   scope of this skill.\n\n> [!IMPORTANT]\n> The maps below are **hints, not ground truth**. File layouts, script paths,\n> and team processes change. At each step, verify the path or marker exists and\n> re-derive it if a lookup fails, rather than trusting the table blindly.\n\n## Version map (in-repo version vs. upstream truth)\n\nEach **surface** is one API reference output this repo ships: Python API, Python\nCLI, Python REST API, Python Agent Config, TypeScript, Go, Java, and Kotlin.\n\nFor each surface, read the in-repo version from the file listed, then compare it\nagainst the latest upstream release and package registry.\n\n| Surface | In-repo version marker | Upstream repo | Package registry |\n| --- | --- | --- | --- |\n| Python API | `docs\u002Fapi-reference\u002Fpython\u002F_static\u002Fdocumentation_options.js` (`VERSION:`) | `google\u002Fadk-python` | PyPI `google-adk` |\n| Python CLI | `docs\u002Fapi-reference\u002Fcli\u002F_static\u002Fdocumentation_options.js` (`VERSION:`) and `docs\u002Fapi-reference\u002Fcli\u002Findex.html` (\"ADK X.Y.Z\") | `google\u002Fadk-python` | PyPI `google-adk` |\n| Python REST API | `docs\u002Fapi-reference\u002Frest\u002Fopenapi.json` (`info.version`) | `google\u002Fadk-python` | PyPI `google-adk` |\n| Python Agent Config | no version marker; diff the type set in `agentconfig\u002Findex.html` against upstream `AgentConfig.json` | `google\u002Fadk-python` (same release as Python API\u002FCLI\u002FREST) | n\u002Fa |\n| TypeScript | `docs\u002Fapi-reference\u002Ftypescript\u002Fvariables\u002Fversion.html` (the `version` const); cross-check `docs\u002Fapi-reference\u002Ftypescript\u002Findex.html` (`\u003Ctitle>` \"... - vX.Y.Z\") | `google\u002Fadk-js` (monorepo; see note) | npm `@google\u002Fadk` (authoritative) |\n| Go | external, hosted on `pkg.go.dev`; verify links in `docs\u002Fapi-reference\u002Findex.md` | `google\u002Fadk-go` | `pkg.go.dev` |\n| Java | `docs\u002Fapi-reference\u002Fjava\u002Findex.html` (`\u003Ctitle>` \"Maven Parent POM X.Y.Z API\") | `google\u002Fadk-java` (authoritative) | Maven Central `com.google.adk:google-adk` (lags; cross-check only) |\n| Kotlin | `docs\u002Fapi-reference\u002Fkotlin\u002Findex.html` (version string near the header) | `google\u002Fadk-kotlin` (authoritative) | Maven Central `com.google.adk:google-adk-kotlin-core` (lags; cross-check only) |\n\nNotes:\n\n- Python API, CLI, and REST all track the **same** `adk-python` release, so they\n  usually move together. Flag it when they diverge.\n- Python Agent Config has no version field. Parse the **keys of the `$defs`\n  object** (plus top-level `oneOf` variants) from the upstream\n  `AgentConfig.json` at the target tag, e.g. `jq '.\"$defs\" | keys'`. Do not\n  substring-grep for `*Config`: that mixes property names (camelCase, e.g.\n  `imageConfig`) with type names (PascalCase, e.g. `ImageConfig`) and produces\n  false drift. Check each `$defs` key as a whole word against\n  `agentconfig\u002Findex.html`; a key present upstream but missing in the page (or\n  vice versa) is drift.\n- TypeScript: use npm `@google\u002Fadk` `dist-tags.latest` as the authoritative\n  version. adk-js is a monorepo with package-prefixed tags (e.g. `main-v1.4.0`,\n  `integrations-v1.4.0`), so `gh ... releases\u002Flatest` can return a release for a\n  different package instead of `@google\u002Fadk`. The in-repo `version` const tracks\n  the same `@google\u002Fadk` package npm publishes and releases together with it, so\n  compare the two directly: any version difference means the docs are behind.\n  The generate script clones the `adk-v\u003Cversion>` tag (the core `@google\u002Fadk`\n  package tag).\n- Go docs are not built into this repo. Confirm the release version and that the\n  `index.md` links point at the correct major versions (e.g. v2.x and v1.x). Go\n  versions are also pinned in `examples\u002Fgo\u002Fgo.mod` \u002F `go.sum` and appear as\n  `\u002Fadk\u002Fv2` import paths in prose (e.g. `docs\u002Fevents\u002Findex.md`, `docs\u002F2.0\u002F`), so\n  check those too.\n\n## Hardcoded version references\n\nThese version-pinned strings are intentional and useful: they show developers\nthe exact dependency versions to use. The audit's job is to keep them current,\nnot remove them. They drift with each Java\u002FKotlin release and are bumped in a\nseparate PR (see the process map). Discover current occurrences by grep; do not\ntrust the file list alone, as new pages might appear over time.\n\n- **Grep targets**:\n    - `com.google.adk:google-adk` and `com.google.adk:google-adk-kotlin` across\n      `docs\u002F**\u002F*.md`\n    - `\u003Cgoogle-adk.version>` across `docs\u002F**\u002F*.md` and `examples\u002Fjava\u002F**\u002Fpom.xml`\n    - bare `google-adk>=X.Y.Z` pins in integration pages (report only; these are\n      minimum-version pins, not doc-version bumps)\n- **Known files that carry these (verify, do not assume complete)**:\n    - `docs\u002Fget-started\u002Finstallation.md`\n    - `docs\u002Fget-started\u002Fjava.md`\n    - `docs\u002Fget-started\u002Fkotlin.md`\n    - `docs\u002Flive\u002Fget-started\u002Fstreaming-java.md`\n    - `docs\u002Fdeploy\u002Fcloud-run.md`\n    - `docs\u002Fagents\u002Fmodels\u002Flitert-lm.md`\n    - `docs\u002Fintegrations\u002Ffirestore-session-service.md`\n    - `examples\u002Fjava\u002F**\u002Fpom.xml`\n\n- **Never flag or bump language support tags.** Versions that are inside of\n  `language-support-tag` spans (e.g. `\u003Cspan class=\"lst-python\">Python\n  v1.32.0\u003C\u002Fspan>`) mark the release a feature was *introduced* in, not the\n  latest published version. Leave them untouched; bumping them misrepresents\n  when the feature became available.\n\n## Per-surface process map (owner, tooling, steps)\n\nTreat each entry as a starting hint. Before recommending it, confirm the script\nstill exists and inspect the most recent matching bump PR to confirm the current\nprocess.\n\n- **Python API**: self-serve. Run `bash tools\u002Fpython-api-docs\u002Fgenerate.sh\n  \u003Cversion>`, then open a PR (the script injects the Google Analytics tag via\n  Sphinx).\n- **Python CLI**: self-serve. Run `bash tools\u002Fpython-cli-docs\u002Fgenerate.sh\n  \u003Cversion>`, then open a PR. The GA tag is injected via a Sphinx layout\n  template in the script.\n- **Python REST API**: self-serve. Run `bash\n  tools\u002Fpython-rest-api-docs\u002Fgenerate.sh \u003Cversion>`, then open a PR. GA tag is\n  baked into the generated `index.html`.\n- **Python Agent Config**: regenerated from the adk-python schema with\n  `json-schema-for-humans`; no `tools\u002F` generate script exists yet, so treat the\n  update as manual.\n- **TypeScript**: self-serve, one PR. Run `bash\n  tools\u002Ftypescript-api-docs\u002Fgenerate.sh \u003Cversion>` (where `\u003Cversion>` is the npm\n  `@google\u002Fadk` version from the audit), then open a PR. The script clones the\n  adk-js `adk-v\u003Cversion>` tag, adds the version to the page title via TypeDoc's\n  `--includeVersion`, and injects the Google Analytics tag into every HTML file\n  (awk post-processing).\n- **Java**: self-serve. Run `bash tools\u002Fjava-api-docs\u002Fgenerate.sh \u003Cversion>` to\n  regenerate the Javadoc assets under `docs\u002Fapi-reference\u002Fjava\u002F` (the GA tag is\n  auto-injected into every HTML file), and bump the hardcoded dependency\n  versions and `pom.xml` values. These can ship as two separate PRs (`chore:\n  update ADK Java doc to version \u003CX>` for the Javadoc assets and `Update ADK\n  Java dependency versions to \u003CX>` for the dependency pins) or bundled together.\n- **Kotlin**: self-serve, one PR. Run `bash tools\u002Fkotlin-api-docs\u002Fgenerate.sh\n  \u003Cversion>`, then open a PR that bundles the generated assets and the hardcoded\n  Kotlin refs (`installation.md`, `get-started\u002Fkotlin.md`, `litert-lm.md`). The\n  GA tag is auto-injected into every HTML file.\n\n### Verify the process\n\n- Confirm each referenced script exists under `tools\u002F` before recommending it.\n- Inspect the last matching bump to confirm the real, current process and the\n  files it touched, for example:\n    - `gh pr list --repo google\u002Fadk-docs --state merged --search \"Kotlin\"`\n    - `gh pr list --repo google\u002Fadk-docs --state merged --search \"CLI reference\"`\n    - `gh pr list --repo google\u002Fadk-docs --state merged --search \"Java\"`\n    - `gh pr list --repo google\u002Fadk-docs --state merged --search \"TypeScript\"`\n\n## Audit workflow\n\n### Step 1: Read in-repo versions\n\nFor every surface in the version map, read the marker file and record the\ncurrent version. Use `grep`\u002F`Read` for the JS and HTML markers and parse\n`info.version` from `rest\u002Fopenapi.json`. If a marker path does not resolve,\nre-derive it (search the generated output) and note the discrepancy.\n\n### Step 2: Fetch upstream releases and registry versions\n\nFor each SDK, get the latest release and the latest published package:\n\n- GitHub latest release and tags:\n    - `gh api repos\u002Fgoogle\u002Fadk-python\u002Freleases\u002Flatest --jq .tag_name`\n    - Repeat for `adk-go`, `adk-kotlin`, `adk-java`.\n    - For `adk-js`, do not use `releases\u002Flatest` (monorepo tags are\n      package-prefixed, e.g. `main-v1.4.0`); use npm `@google\u002Fadk` as the source\n      of truth.\n- Package registries:\n    - PyPI: fetch `https:\u002F\u002Fpypi.org\u002Fpypi\u002Fgoogle-adk\u002Fjson` and read `info.version`.\n    - npm: fetch `https:\u002F\u002Fregistry.npmjs.org\u002F@google\u002Fadk` and read\n      `dist-tags.latest`.\n    - Maven Central: query\n      `https:\u002F\u002Fsearch.maven.org\u002Fsolrsearch\u002Fselect?q=g:com.google.adk+AND+a:google-adk&rows=1&wt=json`\n      and read `latestVersion` (use `a:google-adk-kotlin-core` for Kotlin).\n- **For Java and Kotlin, treat the GitHub release\u002Ftag as authoritative.** The\n  Maven Central search index frequently lags real releases (it has returned\n  versions older than what is already shipped in this repo). Use the registry\n  only as a cross-check, and when it disagrees with the GitHub tag, trust the\n  tag and note the lag.\n- Note when a GitHub tag and its registry version disagree (a release may be\n  tagged but not yet published, or vice versa); report both.\n\n### Step 3: Classify each surface\n\nMark each surface as one of:\n\n- **Up to date**: in-repo version equals the latest upstream release.\n- **Behind**: in-repo version is older than the latest release (report the gap,\n  e.g. `2.3.0 -> 2.4.1`).\n- **Unknown \u002F manual**: upstream lookup failed, or a surface with no automatable\n  check. Agent Config is not \"unknown\"; classify it via the type-set diff\n  (Behind if types were added or removed upstream).\n\nCall out the common case where Python API, CLI, and REST should share the same\n`adk-python` version but do not.\n\nFor Agent Config, run the type-set diff described in the version map Notes to\ndecide Up to date vs. Behind.\n\n### Step 4: Check hardcoded version references\n\nGrep the targets in \"Hardcoded version references\" and compare each pinned\nversion to the latest Java and Kotlin releases. List every file and line that\nneeds a bump. Keep minimum-version pins (`google-adk>=X.Y.Z`) separate; only\nflag them if they reference a version newer than what is released or are clearly\nstale.\n\n### Step 5: Light code-sample drift flag\n\nDo a quick scan (not a deep audit): note samples with hardcoded model or package\nversions, obviously deprecated imports, or patterns superseded by a new\nrelease's changelog. Report these as hints and recommend a dedicated\nsample-audit pass for deep verification. Do not attempt to rewrite samples here.\n\n### Step 6: Verify Go links\n\nConfirm `docs\u002Fapi-reference\u002Findex.md` links point at the correct Go major\nversions on `pkg.go.dev` and that the latest `adk-go` release is represented.\nAlso check the pinned versions in `examples\u002Fgo\u002Fgo.mod` \u002F `go.sum` and the\n`\u002Fadk\u002Fv2` import paths in prose (e.g. `docs\u002Fevents\u002Findex.md`, `docs\u002F2.0\u002F`).\n\n## Report format\n\nProduce a Markdown report. Lead with a status table, then prioritized findings.\n\nStatus table (one row per surface):\n\n| Surface | In-repo | Latest upstream | Status | Recommended action |\n| --- | --- | --- | --- | --- |\n\nPrioritized findings after the table. List only items that require action; do\nnot emit \"no action\" or \"confirmed correct\" lines anywhere, including inside an\notherwise-actionable finding. If a surface needs nothing, its table row already\nsays so.\n\n- ? **Out of date \u002F broken**: a surface multiple releases behind, a\n  broken\u002Fincorrect API-reference link, or version markers that disagree with\n  each other (e.g. Python API\u002FCLI\u002FREST on different versions).\n- ? **Stale hardcoded versions**: `file:line` list of dependency coordinates and\n  `pom.xml` values to bump, with old -> new.\n- ? **Sample-drift hints**: samples that likely need updating; recommend the\n  deep sample-audit pass.\n\nFor each stale surface, name the **recommended process** from the process map\n(self-serve script, wait on team, or manual) so the user knows how to proceed.\n\nAfter the report, **stop**. Do not modify files, run generators, or open PRs\nunless the user explicitly asks.\n\n## Executable plan (only when asked)\n\nWhen the user asks you to proceed, output concrete next actions per stale\nsurface:\n\n- The exact command to run, when self-serve, for example:\n    - `bash tools\u002Fpython-api-docs\u002Fgenerate.sh \u003Cnew-version>`\n    - `bash tools\u002Fpython-cli-docs\u002Fgenerate.sh \u003Cnew-version>`\n    - `bash tools\u002Fpython-rest-api-docs\u002Fgenerate.sh \u003Cnew-version>`\n    - `bash tools\u002Fjava-api-docs\u002Fgenerate.sh \u003Cnew-version>`\n    - `bash tools\u002Fkotlin-api-docs\u002Fgenerate.sh \u003Cnew-version>`\n    - `bash tools\u002Ftypescript-api-docs\u002Fgenerate.sh \u003Cnew-version>`\n- For hardcoded versions, the precise `file:line` edits (old -> new), including\n  `examples\u002Fjava\u002F**\u002Fpom.xml`.\n- Which surfaces move together (Python API, CLI, and REST share one `adk-python`\n  version) so they ship as separate PRs, one per surface, bumped in the same\n  sitting.\n- A PR description per stale surface, following the repo convention:\n    - a short bullet summary of what changed\n    - `Rendered page:` \u003Cpreview link, where applicable>\n    - upstream release link and version\n- A final note telling the user how to proceed: self-run the commands, wait on\n  the owning team, or have the agent execute the plan.\n\n### PR title conventions\n\nMatch the established titles so history stays searchable:\n\n- Python API: `Update API reference docs for ADK Python \u003CX.Y.Z>`\n- Python CLI: `Update CLI reference docs for ADK Python \u003CX.Y.Z>`\n- Python REST API: `Update REST API reference docs for ADK Python \u003CX.Y.Z>`\n- TypeScript: `Update API reference docs for ADK TypeScript \u003CX.Y.Z>`\n- Java API: `chore: update ADK Java doc to version \u003CX.Y.Z>`\n- Java dependency bump: `Update ADK Java dependency versions to \u003CX.Y.Z>`\n- Kotlin: `Update ADK Kotlin to \u003CX.Y.Z>`\n\n## Style rules to bake in\n\n- Report versions precisely as `old -> new`; never guess a version you did not\n  read from a marker or fetch from upstream.\n- Do not invent links; use only markers you read and releases you fetched.\n- No em dashes or verbose AI-generated content.\n- The canonical source repositories are listed in\n  `docs\u002Fcommunity\u002Fcontributing-guide.md`.\n",{"name":5,"description":7},"main","97b313e91243af5abaeaa97636689e8d0a7a18dd",".agents\u002Fskills\u002Fapi-reference-audit",1482,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-docs","https:\u002F\u002Fadk.dev","https:\u002F\u002Fgithub.com\u002Fgoogle","https:\u002F\u002Fopensource.google\u002F","Google ❤️ Open Source","2026-11-12 02:45:40",{"source":8,"skillName":5,"commands":67,"prompt":77,"zipAvailable":78},[68,71,74],{"tool":69,"command":70},"npx","npx skills add google\u002Fadk-docs --skill api-reference-audit",{"tool":72,"command":73},"bunx","bunx skills add google\u002Fadk-docs --skill api-reference-audit",{"tool":75,"command":76},"pnpm","pnpm dlx skills add google\u002Fadk-docs --skill api-reference-audit","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-docs\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fapi-reference-audit\u002FSKILL.md",true,[80],{"path":81,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":84,"sourceHtmlUrl":85},"README.md","REFERENCE","参考文档",1207,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-docs\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fapi-reference-audit\u002FREADME.md",[87,101,130,154],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":96,"publishedAt":51},"01M69926JN8069KTYEM5F2X2BQ","weather_skill","A skill to get the weather information.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-docs\u002Fblob\u002Fmain\u002Fexamples\u002Ftypescript\u002Fsnippets\u002Fskills\u002Fskills\u002Fweather_skill\u002FSKILL.md",[93],{"categoryNo":94,"categoryName":95,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[97,98,99,100],"weather","weather skill","get","information",{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":112,"publishedAt":51},"01M69924YWY5KH934DE8X6EQ34","integration-review","Reviews an ADK integration documentation page (a Markdown file under docs\u002Fintegrations\u002F) or an integration pull request for correctness, structure, style, working code, valid links, and catalog conventions. Produces a scored risk report (Critical, High, Medium, Low), a recommended decision (approve, request changes, or close PR), a top-level review response, and draft line-anchored comments; only fixes issues when explicitly asked. Triggers on \"integration-review\", \"review integration page\", \"review integration PR\", \"review this integration\", \"check integration docs\".","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-docs\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fintegration-review\u002FSKILL.md",[107,108,109],{"categoryNo":94,"categoryName":95,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},{"categoryNo":110,"categoryName":111,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000036","内容创作者",[113,114,115,49,116,117,118,119,120,45,121,122,123,34,124,125,126,127,128,129],"integration","review","integration review","reviews","review response","technical-writing","decision","issues","MCP","writing","critical","code","documentation","valid","structure","top","markdown",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":137,"publishedAt":51},"01M69923EH0GYNDPZHHKW2MZ1S","integration-create","Creates a new ADK integration documentation page (a Markdown file under docs\u002Fintegrations\u002F) for a third-party tool, plugin, observability platform, data store, MCP server, or connector. Gathers details, picks the right category template, and drafts a page that follows adk-docs conventions. Triggers on \"integration-create\", \"create integration page\", \"new integration\", \"add an integration\", \"write an integration page\".","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-docs\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fintegration-create\u002FSKILL.md",[136],{"categoryNo":94,"categoryName":95,"taxonomyType":21,"taxonomyTypeDesc":22},[138,139,113,140,141,142,125,143,144,145,49,121,43,146,147,148,149,150,151,152,153],"integration create","create","file","Connector","store","server","mcp server","observability platform","observability","integrations","platform","for","page","tool","triggers","new",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":161,"publishedAt":51},"01M69920A47BGEQZEMXWFNY6YM","adk-bot-review","Reviews adk-bot pull requests by validating technical correctness against source code, checking PR states and formatting, and following Google's developer documentation style and ADK docs conventions. Triggers on \"review bot PR\", \"check bot changes\", or \"verify bot issue\".","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-docs\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fadk-bot-review\u002FSKILL.md",[160],{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},[162,49,114,163,164,9,43,165,116,166,167,168,169,152,170,171,124,172,125,173,174,175],"adk bot review","bot","pull requests","pull","pr","developer documentation","states","documentation style","technical","correctness","check","changes","style","verify"]