diff --git a/projects/internals/tools/src/context/migration.md b/projects/internals/tools/src/context/migration.md
index cc20d2bc0..8269e74b9 100644
--- a/projects/internals/tools/src/context/migration.md
+++ b/projects/internals/tools/src/context/migration.md
@@ -2,96 +2,274 @@
Instructions for migrating a project from deprecated Elements APIs to the latest versions. This workflow uses the `@nvidia-elements/lint` ESLint package for static analysis and MCP tools for project health.
-## Step 1: Project Health Check
+## Core Rules
+
+- The public npm registry hosts the public packages under the `@nvidia-elements` scope.
+- Internal NVIDIA teams should keep using Artifactory. Artifactory proxies the public npm registry.
+- Component APIs, `nve-*` tag names, and the theming system remain the same unless a rule below says to change them.
+- The new packages reset version numbers to `0.x`. Use the latest available public package versions instead of copying old internal versions.
+- The `0.x` public packages contain the same non-deprecated components as the latest internal releases. Deprecated or removed APIs need explicit migration.
+- Prefer lint-driven changes. Install `@nvidia-elements/lint`, run ESLint, build a work list from the findings, and fix one category at a time.
+
+## Recommended Agent Workflow
+
+1. Check project health.
+ - Use `project_validate` for setup, configuration, and dependency issues.
+ - Use `packages_list` to compare installed Elements packages with latest published versions.
+2. Update packages.
+ - Use `project_setup` when available to set up or update Elements packages.
+ - Otherwise update `package.json` manually using the package map below.
+3. Configure migration linting.
+ - Install `@nvidia-elements/lint` as a dev dependency.
+ - Add the recommended Elements ESLint config.
+ - Run ESLint and convert findings into a migration task list.
+4. Apply migration rules.
+ - Start with package names and import paths.
+ - Then fix removed APIs.
+ - Then fix deprecated APIs.
+ - Use `api_list` and `api_get` before inventing replacements for component APIs.
+5. Verify.
+ - Re-run ESLint until it reports no deprecation violations.
+ - Use `api_template_validate` on migrated HTML templates.
+ - Run `project_validate` again after package and source changes.
+
+## Tool Reference
+
+- `project_validate`: Check setup, configuration, dependencies, and project health.
+- `project_setup`: Set up or update a project to use latest Elements packages.
+- `packages_list`: List current and latest package versions.
+- `packages_changelogs_get`: Read migration-relevant package changelogs.
+- `api_template_validate`: Check HTML templates against current Elements APIs.
+- `api_list`: List available Elements APIs.
+- `api_get`: Get documentation for a specific component API.
+
+## ESLint Setup
+
+Install:
-Assess the current state of the project before making changes.
+```bash
+npm install -D @nvidia-elements/lint
+```
-### Tools to use
+or:
-- `project_validate`: check project setup, configuration issues, and outdated dependencies
-- `packages_list`: check current vs latest versions of all Elements packages
+```bash
+pnpm add -D @nvidia-elements/lint
+```
-## Step 2: Update Packages
+Configure `eslint.config.js`:
-Update to the latest versions of all Elements packages.
+```javascript
+import { elementsRecommended } from '@nvidia-elements/lint/eslint';
-### Tools to use
+export default [...elementsRecommended];
+```
-- `project_setup`: setup or update a project to use Elements, including updating packages to the latest versions
+Run:
-### Package Scope Migration
+```bash
+npx eslint .
+```
-If the project uses the legacy `@maglev/elements` package, replace it with the new scoped packages:
+or:
+```bash
+pnpm eslint .
```
-@maglev/elements → @nvidia-elements/core + @nvidia-elements/themes + @nvidia-elements/styles
+
+## Package Scope Migration
+
+Replace internal package names with public package names.
+
+| Before | After |
+| -------------------- | --------------------------- |
+| `@nve/elements` | `@nvidia-elements/core` |
+| `@nve/styles` | `@nvidia-elements/styles` |
+| `@nve/themes` | `@nvidia-elements/themes` |
+| `@nve/monaco` | `@nvidia-elements/monaco` |
+| `@nve-labs/forms` | `@nvidia-elements/forms` |
+| `@nve-labs/cli` | `@nvidia-elements/cli` |
+| `@nve-labs/code` | `@nvidia-elements/code` |
+| `@nve-labs/create` | `@nvidia-elements/create` |
+| `@nve-labs/markdown` | `@nvidia-elements/markdown` |
+| `@nve-labs/media` | `@nvidia-elements/media` |
+| `@nve-labs/lint` | `@nvidia-elements/lint` |
+
+If the project uses the older `@maglev/elements` package, split it into the public packages that match the APIs the project uses:
+
+```text
+@maglev/elements -> @nvidia-elements/core + @nvidia-elements/themes + @nvidia-elements/styles
```
-## Step 3: Install & Run Lint for Deprecation Detection
+## Dependency Examples
-Install and configure the `@nvidia-elements/lint` ESLint package to detect all deprecated API usage.
+Before:
-### Install
+```json
+{
+ "dependencies": {
+ "@nve/elements": "^1.67.0",
+ "@nve/themes": "^1.12.0",
+ "@nve/styles": "^1.14.0"
+ }
+}
+```
-```bash
-npm install -D @nvidia-elements/lint # or pnpm add -D @nvidia-elements/lint
+After:
+
+```json
+{
+ "dependencies": {
+ "@nvidia-elements/core": "0.x",
+ "@nvidia-elements/themes": "0.x",
+ "@nvidia-elements/styles": "0.x"
+ }
+}
```
-### Configure ESLint
+## Source Import Migration
-Create or update `eslint.config.js`:
+Replace package scopes in import paths. Keep component paths the same unless another rule below says otherwise.
+
+Before:
```javascript
-import { elementsRecommended } from '@nvidia-elements/lint/eslint';
-export default [...elementsRecommended];
+import { Button } from '@nve/elements/button';
+import '@nve/elements/button/define.js';
+import '@nve/themes/dist/index.css';
```
-### Run ESLint
+After:
-```bash
-npx eslint . # or pnpm eslint .
+```javascript
+import { Button } from '@nvidia-elements/core/button';
+import '@nvidia-elements/core/button/define.js';
+import '@nvidia-elements/themes/dist/index.css';
```
-Parse the lint output to create a migration work list of all deprecated API usage.
+## Removed APIs
-## Step 4: Deprecation Reference & Fixes
+### Logo Content
-Apply fixes based on the following before→after mappings for each deprecation category.
+`nve-logo` no longer includes the NVIDIA SVG logo. Consumers must provide their own SVG or image in the default slot.
-### CSS Imports
+Before:
+
+```html
+
+
```
-
-````
+```
+
+{% endbefore-after %}
+
+### Maglev - HTML Prefix Infrastructure
+