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.
80
75%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./tests/ext_conformance/artifacts/agents-wshobson/framework-migration/skills/angular-migration/SKILL.mdHybrid app bootstrap setup
UpgradeModule import source
100%
100%
AppModule imports UpgradeModule
100%
100%
ngDoBootstrap implemented
100%
100%
Angular bootstrapped first
83%
100%
strictDi enabled
100%
100%
Correct AngularJS module name
100%
100%
Incremental strategy chosen
100%
100%
4-phase migration plan
90%
100%
Services-first ordering
100%
100%
TypeScript syntax in .ts files
100%
100%
Service migration and DI bridge
@Injectable providedIn root
100%
100%
HttpClient constructor injection
100%
100%
Observable return types
100%
100%
downgradeInjectable import
100%
100%
AngularJS factory registration
100%
100%
InjectionToken for legacy service
100%
100%
useFactory with $injector lookup
100%
100%
deps: ['$injector']
100%
100%
Token provider in NgModule
100%
100%
No $http in Angular service
100%
100%
Component, routing, and forms migration
No $scope in Angular components
100%
100%
ngOnInit for initialization
100%
100%
Observable subscribe for service calls
0%
100%
@Input on product property
100%
100%
@Output EventEmitter for remove
100%
100%
Routes array type
100%
100%
RouterModule.forRoot
100%
100%
Reactive Forms — FormGroup
100%
100%
Reactive Forms — FormBuilder
57%
100%
Validators applied in FormGroup
100%
100%
No ng-model in Angular templates
100%
100%
47823e3
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.