CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

77

1.06x
Quality

66%

Does it follow best practices?

Impact

100%

1.06x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./tests/ext_conformance/artifacts/agents-wshobson/framework-migration/skills/angular-migration/SKILL.md

The canonical home for this skill is angular-migration in wshobson/agents

SKILL.md
Quality
Evals
Security

Quality

Content

53%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is well-sectioned and rich with concrete, mostly executable migration examples, but it teaches routine framework syntax at length and its workflow lacks explicit validation checkpoints. Most seriously, every bundle file it advertises is missing, so progressive disclosure is broken in both directions — dangling references plus inlined bulk content.

Suggestions

Actually create the advertised bundle files (references/, assets/, scripts/) or remove the Resources section — as written, all seven referenced paths are dangling.

Move the detailed before/after conversion examples (components, services, DI, routing, forms) into the reference files and keep SKILL.md as a lean overview with strategy guidance and links, cutting the inline syntax explanations Claude already knows.

Add explicit validation checkpoints to the Migration Timeline (e.g., a command or test step per phase, with a fix-and-retry loop) so the migration workflow has real feedback loops for this large-scale batch operation.

DimensionReasoningScore

Conciseness

The prose is spare and section-driven, but the ~415-line body spends most of its budget on before/after code for standard AngularJS/Angular syntax (controllers, @Component, @Injectable, RouterModule, FormBuilder) that Claude already knows. It could be tightened considerably by trusting the reader and keeping only migration-specific deltas.

3 / 5

Actionability

Mostly executable guidance: complete hybrid bootstrap code, downgradeInjectable/InjectionToken recipes, and before/after service, routing, and forms examples. Minor gaps remain — '@Component({...})' placeholder in the upgrade example, undefined UserListComponent/UserDetailComponent in the routing module, and an unimported 'angular' reference inside a TypeScript snippet.

4 / 5

Workflow Clarity

The Migration Timeline provides a clear 4-phase sequence with durations, but validation is only gestured at ('Test thoroughly', 'Test at every step') with no explicit checkpoints, commands, or error-recovery loops. A migration is a large-scale batch rewrite of an existing codebase, so the missing-validation cap applies — it cannot score above 3.

3 / 5

Progressive Disclosure

The Resources section signals 7 bundle files (references/hybrid-mode.md, references/component-migration.md, references/dependency-injection.md, references/routing.md, assets/hybrid-bootstrap.ts, assets/migration-timeline.md, scripts/analyze-angular-app.sh), but none of these files or directories exist — every reference is dangling. Meanwhile the ~300 lines of detailed conversion material that those files should hold are inlined in SKILL.md itself, matching the 'content that clearly belongs in separate files is inlined' anchor.

2 / 5

Total

12

/

20

Passed

Description

78%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: third-person, concrete about what it does, and equipped with an explicit 'Use when...' trigger clause. It sits just below the top anchors because trigger coverage lacks natural synonyms (Angular 1.x, ngUpgrade) and the capability list omits routing/forms migration.

Suggestions

Add trigger synonyms such as 'Angular 1.x', 'Angular 2+', 'ngUpgrade', or 'hybrid app' to the 'Use when' clause to capture more natural user phrasings.

Mention routing and forms migration in the capability list to round out coverage of the migration surface.

DimensionReasoningScore

Specificity

Names the domain ('Migrate from AngularJS to Angular') and lists several concrete approaches ('hybrid mode, incremental component rewriting, and dependency injection updates'), but omits other core capabilities like routing and forms migration, so coverage has minor gaps rather than being comprehensive.

4 / 5

Completeness

Explicitly answers both 'what' (migrate using hybrid mode, component rewriting, DI updates) and 'when' ('Use when upgrading AngularJS applications, planning framework migrations, or modernizing legacy Angular code'). The 'when' clause is present but 'framework migrations' is broad and could name more concrete trigger phrases, keeping it just below the comprehensive anchor.

4 / 5

Trigger Term Quality

Includes natural phrases users would say ('upgrading AngularJS applications', 'planning framework migrations', 'modernizing legacy Angular code'), but misses common variations such as 'Angular 1.x', 'Angular 2+', 'ngUpgrade', or 'upgrade'.

4 / 5

Distinctiveness Conflict Risk

The AngularJS-to-Angular niche is clearly delimited with distinct trigger terms (AngularJS, Angular, legacy Angular), so it is unlikely to fire for unrelated skills — closest to the 'clear niche with distinct triggers; minimal conflict risk' anchor.

5 / 5

Total

17

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 7 missing

Warning

Total

15

/

16

Passed

Repository
Dicklesworthstone/pi_agent_rust
Reviewed

Table of Contents

Is this your skill?

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.