一键导入
node-migration
Migrate Azure/azure-sdk-for-js to a user-specified minimum Node.js version while preserving any existing references above the target.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Migrate Azure/azure-sdk-for-js to a user-specified minimum Node.js version while preserving any existing references above the target.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Route gh-aw workflow design/create/debug/upgrade requests to the right prompts.
Re-record the ai-projects live test suite, push only the recordings whose playback passes to the Azure/azure-sdk-assets repo, and open a PR for the updated assets.json. Use when test recordings are stale, a recorded test fails in playback in CI, or new recorded tests need fresh recordings. Wraps TEST_MODE=record / TEST_MODE=playback runs, dev-tool test-proxy push, and a single-file assets.json PR via the gh CLI.
**UTILITY SKILL** — Must be consulted for SDK development workflow tasks. Routes agents to the correct tools and documentation for building, testing, linting, formatting, provisioning, deploying, and other package development tasks. WHEN: "build package", "run tests", "lint code", "format code", "run checks", "prepare samples", "publish samples", "apply customization", "run migrations", "bump version", "extract API", "update snippets", "check API compatibility", "manage test recordings", "provision test resources", "deploy test resources", "create test resources", "set up test environment", "authenticate to Azure", "login to Azure", "release package", "increment version", "troubleshoot CI", "fix CI failure", "CredScan", "credential scan", "push recordings", "asset sync", "update recordings".
Domain knowledge for Azure AI Content Understanding. Use this skill to answer questions about Content Understanding concepts, analyzers, field schemas, API operations, and JavaScript SDK usage. Always consult official documentation before answering.
Run a specific sample for the Azure AI Content Understanding JavaScript SDK. Use when users want to run a particular sample like analyzeUrl.js or analyzeInvoice.js.
Guide SDK users through setting up their JavaScript / Node.js environment for Azure AI Content Understanding. Use this skill when users need help installing the SDK, configuring Azure resources, deploying required models, setting environment variables, or running samples.
| name | node-migration |
| description | Migrate Azure/azure-sdk-for-js to a user-specified minimum Node.js version while preserving any existing references above the target. |
Migrate the Azure SDK for JavaScript (Azure/azure-sdk-for-js) to a user-specified minimum Node.js version.
Use this skill when the user asks to upgrade, migrate, or raise the repo-wide Node.js minimum or supported version for Azure/azure-sdk-for-js.
The user must provide a target Node.js version.
Define these values before editing:
| Name | Meaning |
|---|---|
TARGET_MAJOR | User-requested target major, for example 22 or 24. |
TARGET_SEMVER_MIN | Minimum engine form matching nearby style, usually >=${TARGET_MAJOR} or >=${TARGET_MAJOR}.0.0. |
OLD_SUPPORTED_MAJORS | Node majors below TARGET_MAJOR that appear in Node-runtime contexts. |
HIGHER_MAJORS | Node majors above TARGET_MAJOR that appear in Node-runtime contexts and must be preserved. |
TARGET_MAJOR to TARGET_MAJOR.TARGET_MAJOR. For example, when target is 22, preserve 24; when target is 24, preserve 26.For future migrations, do both passes: broad mechanical sweep first, then a missed-reference sweep.
Azure/azure-sdk-for-js. If not, stop and tell the user this skill expects that repo.TARGET_MAJOR and keep them unchanged unless the user explicitly says otherwise.Target areas to search:
| Area | Paths / Patterns |
|---|---|
| Package engines | **/package.json files containing "node" in engines. |
| Workspace catalog | pnpm-workspace.yaml — check catalog: entries for @types/node. |
| Direct Node setup pins | .nvmrc, .node-version, .github/workflows/**, eng/pipelines/**, rush.json, common/config/rush/**. |
| Dev tooling | common/tools/dev-tool/**, common/tools/eslint-plugin-azure-sdk/**, eng/tools/**, eng/containers/**. |
| Docs and Docker | documentation/**, README.md, sdk/**/Dockerfile, eng/**/Dockerfile. |
| CI and build scripts | **/.github/workflows/**, **/eng/pipelines/**, **/eng/scripts/**. |
| Review guidelines | .github/instructions/**, .github/prompts/** — these may reference Node minimum versions as policy. |
| SDK packages (bulk) | All sdk/**/package.json engine fields and sdk/**/samples/**/package.json @types/node entries. These are enforced by the eslint rule and dev-tool, so update them in bulk after updating the tooling constants. |
| Textual leftovers | For each old major X: Node.js X, Node X, node-version: "X", node-version: X, NODE_VERSION=X, >=X, >=X.0.0, @types/node@X, @types/node": "X, @types/node": "^X, and known LTS codenames if relevant. |
TARGET_MAJOR conflicts with the upper bound, ask the user how to handle it.@types/node only when it represents the repo's supported Node typings for tooling or packages. Do not downgrade higher-major typings.TARGET_MAJOR, but preserve entries above TARGET_MAJOR..nvmrc or .node-version, prefer the repo's existing convention. If the correct LTS codename is uncertain, use the numeric target major rather than guessing.Use repo-defined commands only. Inspect package.json, rush.json, and repo docs before choosing commands.
Recommended validation:
TARGET_MAJOR.TARGET_MAJOR and confirm they were not downgraded.For every remaining old-major hit, classify it as one of:
| Classification | Meaning |
|---|---|
| Changed | The reference was updated to TARGET_MAJOR. |
| Intentionally preserved: not Node | The number is not a Node.js runtime/minimum reference. |
| Intentionally preserved: above target | The version is above TARGET_MAJOR and must remain unchanged. |
| Needs user decision | The reference is ambiguous or the target conflicts with an upper bound. |
TARGET_MAJOR, stop and ask the user whether to raise the upper bound, skip that package, or handle it separately..nvmrc uses an LTS codename and the correct codename is uncertain, prefer the numeric target major instead of guessing.