# Angular Migration > Migrate from AngularJS to Angular using hybrid mode, incremental component rewriting, and dependency injection updates. Use when upgrading AngularJS applications, planning framework migrations, or modernizing legacy Angular code. Source: https://skillsagentes.com/skills/wshobson/agents/angular-migration Repository: https://github.com/wshobson/agents Author: wshobson License: MIT Updated: hace 2 meses Context cost: 57 tok installed, 1.8k tok once triggered, 2.2k tok with every bundled file Bundle: 2 files, 9 KB Permissions requested: none declared ## Install ```bash npx -y skills add wshobson/agents --skill angular-migration --agent claude-code ``` ## What it does - Aporta estrategias y patrones de código para migrar aplicaciones AngularJS a Angular - Ofrece ejemplos de modo híbrido con ngUpgrade y bootstrap combinado - Muestra cómo convertir controladores, directivas y servicios de AngularJS a componentes y servicios Angular - Explica actualización/downgrade de inyección de dependencias entre AngularJS y Angular - Documenta la migración de rutas de $routeProvider a Angular Router ## Use it when - Migrar aplicaciones AngularJS (1.x) a Angular (2+) - Ejecutar aplicaciones híbridas AngularJS/Angular - Convertir directivas en componentes - Modernizar la inyección de dependencias o migrar el sistema de rutas ## What triggers it - "Ayúdame a migrar mi app AngularJS a Angular en modo híbrido" - "Convierte este directive de AngularJS en un componente Angular" - "Cómo hago downgrade de un servicio Angular para usarlo en AngularJS" - "Necesito migrar mis rutas de $routeProvider a Angular Router" ## Before you install - Para patrones y ejemplos completos adicionales, consulta references/details.md. ## Files - SKILL.md — 7 KB - references/details.md — 2 KB ## SKILL.md Reproduced verbatim from wshobson/agents under MIT. This section is the upstream document and is in English. # Angular Migration Master AngularJS to Angular migration, including hybrid apps, component conversion, dependency injection changes, and routing migration. ## When to Use This Skill - Migrating AngularJS (1.x) applications to Angular (2+) - Running hybrid AngularJS/Angular applications - Converting directives to components - Modernizing dependency injection - Migrating routing systems - Updating to latest Angular versions - Implementing Angular best practices ## Migration Strategies ### 1. Big Bang (Complete Rewrite) - Rewrite entire app in Angular - Parallel development - Switch over at once - **Best for:** Small apps, green field projects ### 2. Incremental (Hybrid Approach) - Run AngularJS and Angular side-by-side - Migrate feature by feature - ngUpgrade for interop - **Best for:** Large apps, continuous delivery ### 3. Vertical Slice - Migrate one feature completely - New features in Angular, maintain old in AngularJS - Gradually replace - **Best for:** Medium apps, distinct features ## Hybrid App Setup ```typescript // main.ts - Bootstrap hybrid app import { platformBrowserDynamic } from "@angular/platform-browser-dynamic"; import { UpgradeModule } from "@angular/upgrade/static"; import { AppModule } from "./app/app.module"; platformBrowserDynamic() .bootstrapModule(AppModule) .then((platformRef) => { const upgrade = platformRef.injector.get(UpgradeModule); // Bootstrap AngularJS upgrade.bootstrap(document.body, ["myAngularJSApp"], { strictDi: true }); }); ``` ```typescript // app.module.ts import { NgModule } from "@angular/core"; import { BrowserModule } from "@angular/platform-browser"; import { UpgradeModule } from "@angular/upgrade/static"; @NgModule({ imports: [BrowserModule, UpgradeModule], }) export class AppModule { constructor(private upgrade: UpgradeModule) {} ngDoBootstrap() { // Bootstrapped manually in main.ts } } ``` ## Component Migration ### AngularJS Controller → Angular Component ```javascript // Before: AngularJS controller angular .module("myApp") .controller("UserController", function ($scope, UserService) { $scope.user = {}; $scope.loadUser = function (id) { UserService.getUser(id).then(function (user) { $scope.user = user; }); }; $scope.saveUser = function () { UserService.saveUser($scope.user); }; }); ``` ```typescript // After: Angular component import { Component, OnInit } from "@angular/core"; import { UserService } from "./user.service"; @Component({ selector: "app-user", template: `