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.

60

Quality

70%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills_all/angular-migration/SKILL.md
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 highly actionable with well-chosen before/after code examples for every migration concern, but it under-delivers on structure: all referenced bundle files are missing, detailed content that should live in those files is inlined, and the workflow lacks concrete validation checkpoints. Generic best-practices/pitfalls sections add token cost without new information.

Suggestions

Create the referenced bundle files (references/hybrid-mode.md, component-migration.md, dependency-injection.md, routing.md, assets/hybrid-bootstrap.ts, assets/migration-timeline.md, scripts/analyze-angular-app.sh) or remove the Resources section — every reference is currently broken.

Move the per-topic before/after code (DI, routing, forms) into the corresponding reference files and keep SKILL.md as a concise overview with well-signaled one-level-deep links.

Replace vague checkpoints like "Test thoroughly" with concrete validation steps (e.g., confirm the hybrid app boots, verify a downgraded component renders, run the test suite per migrated feature) to build a validate-fix-retry loop into the phased timeline.

Cut or tighten the generic "Best Practices", "Common Pitfalls", and "When to Use This Skill" sections, which restate what Claude already knows or what the description already says.

DimensionReasoningScore

Conciseness

Mostly efficient — the body is dominated by tight before/after code pairs — but the "When to Use This Skill" list duplicates the frontmatter description, and "Best Practices"/"Common Pitfalls" are generic bullets ("Test Continuously", "Inadequate testing") that add tokens without information Claude doesn't already know. The Migration Timeline's week estimates are likewise unverifiable padding.

3 / 5

Actionability

Concrete, executable TypeScript/JavaScript throughout: hybrid bootstrap in main.ts/app.module.ts, controller→component and directive→component conversions, downgradeInjectable/InjectionToken DI patterns, RouterModule and FormBuilder code. Minor gaps keep it below 5 — the DI upgrade example uses `@Component({...})` elision and the template-driven forms snippet has a bare decorator with no component class.

4 / 5

Workflow Clarity

The Migration Strategies section and phased Timeline (Setup → Infrastructure → Feature Migration → Cleanup) give a real sequence, but checkpoints are vague — "Test thoroughly", "Test at every step" with no concrete verification commands or feedback loops (e.g., how to confirm the hybrid app boots or that a downgraded component renders before proceeding). A large, risky migration without explicit validation steps fits the anchor-3 "sequence present but checkpoints missing or implicit".

3 / 5

Progressive Disclosure

The Resources section points to 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 the references/, scripts/, or assets/ directories exist — every reference is broken. Meanwhile ~400 lines of detailed per-topic code that belongs in those files is inlined, matching the anchor-2 pattern of minimal structure with content that belongs in separate files left inline; it avoids a 1 only because the body itself has clear section headers.

2 / 5

Total

12

/

20

Passed

Description

87%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 that clearly states what the skill does and when to use it with concrete, natural trigger phrases and a distinct niche. The only improvement is broadening trigger coverage with version synonyms like "Angular 1.x" or "Angular 2+" and mentioning routing/forms migration for fuller capability coverage.

Suggestions

Add version-synonym triggers such as "Angular 1.x" or "Angular 2+" so users who phrase the upgrade that way still match.

Mention routing and forms migration in the capability list to close the minor coverage gap.

DimensionReasoningScore

Specificity

"Migrate from AngularJS to Angular using hybrid mode, incremental component rewriting, and dependency injection updates" lists several specific concrete actions with a clear domain. Not a 5 because coverage has minor gaps — routing, forms, and service migration (covered in the body) are absent from the description.

4 / 5

Completeness

Explicitly answers both: what ("Migrate from AngularJS to Angular using hybrid mode, incremental component rewriting, and dependency injection updates") and when ("Use when upgrading AngularJS applications, planning framework migrations, or modernizing legacy Angular code") with concrete trigger phrases — matches the anchor-5 good example pattern.

5 / 5

Trigger Term Quality

"upgrading AngularJS applications, planning framework migrations, modernizing legacy Angular code" are natural phrases users would say, plus "AngularJS"/"Angular" themselves. A few common variations are missing (e.g., "Angular 1.x", "Angular 2+"), keeping it just below the comprehensive anchor.

4 / 5

Distinctiveness Conflict Risk

The AngularJS-to-Angular migration niche is distinct with unambiguous triggers; no other plausible skill would be wrongly triggered by "upgrading AngularJS applications". Third-person imperative voice is used throughout with no first/second-person phrasing.

5 / 5

Total

18

/

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
Microck/ordinary-claude-skills
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.