CtrlK
BlogDocsLog inGet started
Tessl Logo

angular-dependency-injection

Configure DI, inject() usage, and providers in Angular. Use when configuring Angular dependency injection, using inject(), or defining providers.

63

Quality

76%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/angular/angular-dependency-injection/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

77%

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

This is a well-structured, concise Angular DI skill that efficiently communicates modern patterns (Angular 19+) without over-explaining fundamentals. Its main weakness is the lack of complete executable code examples — the inline code fragments are helpful but not copy-paste ready. The referenced di-patterns.md file is not present in the bundle, leaving the progressive disclosure partially unverifiable.

Suggestions

Add at least one complete, executable code example showing a typical app.config.ts with providers array using inject(), InjectionToken, and provideHttpClient() together.

Include the referenced 'references/di-patterns.md' file in the bundle, or remove the reference if it doesn't exist.

DimensionReasoningScore

Conciseness

The content is lean and efficient. It avoids explaining what DI is or how Angular works fundamentally, instead jumping straight to specific patterns and decisions. Every bullet point conveys actionable, non-obvious guidance.

3 / 3

Actionability

Provides specific patterns and syntax (e.g., inject(), InjectionToken, provideAppInitializer) with inline code snippets, but lacks complete executable code examples. The guidance is concrete but closer to reference notes than copy-paste-ready code blocks.

2 / 3

Workflow Clarity

This is a configuration/pattern skill rather than a multi-step workflow, so the single-task exemption applies. The content clearly sequences decisions (when to use providedIn root vs route providers, when to use useFactory vs useValue) and the organization into Principles, Guidelines, and Anti-Patterns provides clear decision flow.

3 / 3

Progressive Disclosure

References a 'references/di-patterns.md' file for deeper content, which is good structure, but the bundle has no files provided so we can't verify the reference exists. The skill itself is well-organized with clear sections, but the single reference path cannot be validated.

2 / 3

Total

10

/

12

Passed

Description

75%

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 functional and well-structured with a clear 'Use when' clause and good distinctiveness for Angular DI. However, it is somewhat tautological—the 'Use when' clause largely restates the 'what' rather than adding new trigger scenarios. The specificity and trigger term coverage could be improved by listing more concrete sub-tasks and natural keyword variations.

Suggestions

Expand trigger terms to include common variations users would say, such as 'injection token', 'providedIn', 'useFactory', 'useClass', 'service injection', or 'InjectionToken'.

Add more specific concrete actions like 'create custom injection tokens, configure hierarchical injectors, set up factory providers' to better differentiate the what from the when.

DimensionReasoningScore

Specificity

Names the domain (Angular DI) and some actions ('Configure DI', 'inject() usage', 'defining providers'), but these are fairly high-level and not deeply concrete—it doesn't list specific sub-tasks like creating custom injection tokens, configuring hierarchical injectors, or using providedIn.

2 / 3

Completeness

Clearly answers both 'what' (configure DI, inject() usage, providers in Angular) and 'when' with an explicit 'Use when...' clause specifying trigger conditions (configuring Angular dependency injection, using inject(), or defining providers).

3 / 3

Trigger Term Quality

Includes relevant keywords like 'DI', 'inject()', 'providers', and 'Angular dependency injection', but misses common variations users might say such as 'injection token', 'providedIn', 'service injection', 'useFactory', 'useClass', or 'InjectionToken'.

2 / 3

Distinctiveness Conflict Risk

Clearly scoped to Angular's dependency injection system specifically, which is a distinct niche unlikely to conflict with other skills—the combination of 'Angular', 'inject()', and 'providers' creates a well-defined boundary.

3 / 3

Total

10

/

12

Passed

Validation

81%

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

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

9

/

11

Passed

Repository
HoangNguyen0403/agent-skills-standard
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.