CtrlK
BlogDocsLog inGet started
Tessl Logo

angular-migration

Master AngularJS to Angular migration, including hybrid apps, component conversion, dependency injection changes, and routing migration.

55

Quality

63%

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/angular-migration/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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 delivers strong, mostly executable before/after migration code across all major areas (hybrid setup, components, services, DI, routing, forms), but it is bloated with boilerplate Angular code Claude already knows, its workflow never operationalizes validation into checkpoints or feedback loops, and every bundle file it references is missing from the skill directory. It functions as a self-contained reference but fails as a progressive-disclosure hub.

Suggestions

Add explicit validation feedback loops to the workflow: after each timeline phase, name a concrete command (e.g., run the migrated feature's test suite, verify the hybrid app bootstraps both frameworks) and require it to pass before proceeding to the next phase.

Ship the seven referenced bundle files (references/*.md, assets/*, scripts/analyze-angular-app.sh) or remove the dead links, and move the detailed DI/forms/routing before/after code into those reference files so SKILL.md stays a lean overview.

Trim boilerplate Angular that Claude already knows (full UserComponent template, reactive-forms class body, standalone service syntax) down to the migration-relevant deltas, keeping only what is unique to the AngularJS-to-Angular mapping.

DimensionReasoningScore

Conciseness

The ~430-line body is code-heavy rather than prose-padded, but much of the code restates knowledge Claude already has (standalone Angular component/service/forms syntax, RxJS subscribe patterns) instead of focusing on the migration-specific deltas, and the opening paragraph repeats the frontmatter description verbatim. It is not 4 because whole examples (full UserComponent template, full reactive-forms boilerplate) could be trimmed rather than just minor instances, and not 2 because the content is structured code, not verbose explanatory filler.

3 / 5

Actionability

Concrete before/after code covers hybrid bootstrap, controller/directive-to-component conversion, services, DI upgrading/downgrading, routing, and forms, and is mostly copy-paste ready. It is not 5 because of gaps: the upgrading-DI example elides the component with "@Component({...})", UserListComponent/UserDetailComponent are used in routes but never defined or imported, and no downgradeComponent example is given; not 3 because the guidance is genuinely executable, not pseudocode or high-level hints.

4 / 5

Workflow Clarity

"Instructions" lists a 4-step sequence, a Safety section warns against "big-bang cutovers without rollback and staging validation", and a Migration Timeline phases the work, so a sequence exists. However, validation is only named, never operationalized: there is no validate->fix->retry feedback loop, no test commands per phase, and no explicit checkpoint gating a large-scale batch change, which caps workflow clarity at 3. Not 4 because checkpoints are implicit rather than 'mostly present'.

3 / 5

Progressive Disclosure

The Resources section clearly signals seven 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 in the bundle, so every reference dead-ends. Additionally, the detailed DI, forms, and routing content that those files should hold is inlined in SKILL.md. Not 4 because references are broken rather than 'mostly clear'; not 2 because the body itself is well-sectioned with a sensible intended file layout.

3 / 5

Total

13

/

20

Passed

Description

70%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.

The description is specific and highly distinctive, naming a clear niche with four concrete capability areas, but it omits any 'Use when...' trigger clause and lacks natural synonyms like 'upgrade' or 'modernize'. Its main gap is that a user must infer when to invoke it from the domain phrasing alone.

Suggestions

Append an explicit trigger clause, e.g. "Use when migrating or upgrading an AngularJS (1.x) app to Angular (2+), running a hybrid ngUpgrade app, or modernizing legacy AngularJS code."

Add natural trigger synonyms and version identifiers users actually say: "upgrade", "modernize", "ngUpgrade", "Angular 1.x", "Angular 2+".

Drop the filler verb "Master" in favor of concrete action verbs (e.g., "Migrate... Convert...") to sharpen the what.

DimensionReasoningScore

Specificity

"including hybrid apps, component conversion, dependency injection changes, and routing migration" lists several specific capability areas, matching the 'several specific actions; minor gaps' anchor. It is not 5 because the items are topic areas rather than a comprehensive list of concrete actions (forms, testing, tooling setup are absent), and not 3 because coverage exceeds 1-2 actions.

4 / 5

Completeness

The 'what' is clear (mastering AngularJS-to-Angular migration across four named areas), but there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. It is not 4 because the 'when' is entirely absent rather than merely imprecise.

3 / 5

Trigger Term Quality

Natural phrases like "AngularJS to Angular migration", "hybrid apps", "component conversion", and "routing migration" give good keyword coverage a user would plausibly say. It is not 5 because common synonyms and variations ("upgrade", "modernize", "ngUpgrade", "Angular 1.x", "Angular 2+") are missing, and not 3 because coverage goes beyond 'some relevant keywords'.

4 / 5

Distinctiveness Conflict Risk

"AngularJS to Angular migration" carves out a clear niche with distinct trigger terms; virtually no other skill would plausibly claim these triggers. Not 4 because there is no meaningful overlap risk with closely related skills.

5 / 5

Total

16

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

referenced_paths_exist

Referenced path issues: 7 missing

Warning

Total

14

/

16

Passed

Repository
sickn33/agentic-awesome-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.