CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

angular-dependency-injection

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

60

Quality

75%

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

Quality

Content

67%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 a compact, well-organized rulebook for Angular DI with concrete API patterns and a valid one-level reference. Its weaknesses are the redundant "Canonical response anchors" section and the lack of a complete executable code example or annotated reference link.

Suggestions

Remove or fold the "Canonical response anchors" section into the Guidelines bullets — it repeats terminology already stated above and adds token cost without new guidance.

Annotate the reference link, e.g. "[DI Patterns](references/di-patterns.md) — full code examples for inject(), tokens, and interface abstraction", so it is clear when to consult it.

Include one short complete code block (e.g., a service using inject() plus an app.config.ts providers array) in the body so the most common case is copy-paste ready without opening the reference.

DimensionReasoningScore

Conciseness

The bullet guidance itself is lean and assumes Angular knowledge, but the "Canonical response anchors" section (7 anchor phrases plus "Additional task-grounded exact anchors") largely restates terminology already present in the bullets, which is padding that could be trimmed — matching the mostly-efficient-but-could-be-tightened anchor.

3 / 5

Actionability

Concrete, copy-adaptable patterns appear throughout ("inject(MyService)", "@Injectable({ providedIn: 'root' })", "{ provide: API_URL, useValue: 'https://api.example.com' }", "provideAppInitializer(() => inject(ConfigService).load())") with file locations like app.config.ts, matching the mostly-executable anchor; it misses 5 because the body contains no complete executable code example (full examples live only in the reference file).

4 / 5

Workflow Clarity

This is a guidance skill, not a multi-step workflow, and the Principles → Guidelines → Anti-Patterns structure makes each decision rule unambiguous with no destructive or batch operations that would demand validation checkpoints; it stays at 4 rather than 5 because the rules are presented as a scattered set (e.g., Route Providers, Multi Providers) rather than one clearly prioritized decision flow.

4 / 5

Progressive Disclosure

The body is short (~35 lines), well-sectioned, and points to a real one-level-deep reference (references/di-patterns.md, verified to exist) under a dedicated References section; it misses 5 because the reference is a bare unannotated link with no indication of what it contains or when to consult it, and its content partially duplicates the body.

4 / 5

Total

15

/

20

Passed

Description

75%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 solid description: specific domain, concrete actions, and an explicit "Use when" clause in third person. Its main limitation is that the when-clause mirrors the what instead of broadening trigger coverage with synonyms and additional scenarios.

DimensionReasoningScore

Specificity

"Configure DI, inject() usage, and providers in Angular" names the domain plus three concrete actions, matching the several-specific-actions anchor; it falls short of 5 because coverage omits tokens, factories, and app initializers that the skill body itself covers.

4 / 5

Completeness

Both what ("Configure DI, inject() usage, and providers in Angular") and an explicit "Use when..." trigger clause are present, but the when-clause restates the what nearly verbatim instead of adding distinct trigger scenarios, keeping it below the clearly-explicit-both anchor.

4 / 5

Trigger Term Quality

The "Use when" clause includes good natural keywords ("configuring Angular dependency injection", "using inject()", "defining providers") but misses common variations like "DI", "InjectionToken", and "providedIn", so it fits the good-coverage-with-gaps anchor rather than the comprehensive-synonyms anchor.

4 / 5

Distinctiveness Conflict Risk

Angular dependency injection is a clear niche with distinct triggers ("inject()", "providers"), but there is minor overlap risk with a hypothetical broader Angular-services or general Angular skill, fitting the mostly-distinct anchor.

4 / 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

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository

HoangNguyen0403/agent-skills-standard

Path

skills/angular/angular-dependency-injection/SKILL.md

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.