CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dev-create-injectable

Use when adding a signal-based store or utility service - creates injectable with inject() and Angular Signals.

Quality

82%

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

SKILL.md
Quality
Evals
Security

Quality

Content

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

A lean, well-structured skill with executable templates, hard rules, and an explicit validation step. The notable gap is the data-orchestrator type, which is declared in the type-selection step but given no concrete template or example.

Suggestions

Add a compact Data orchestrator template (injecting a service and applying an adapter) so all three declared types have concrete guidance.

Close the validation loop: after "npx tsc --noEmit", instruct to fix reported errors and re-run until clean.

DimensionReasoningScore

Conciseness

The body is lean with zero padding: no explanation of what Angular signals or DI are, compact templates, terse rules, and a one-line validation command. Every token earns its place and it assumes Claude's competence.

5 / 5

Actionability

Two executable TypeScript templates, concrete rules ("inject() for all dependencies - no constructor DI", "No HTTP calls in stores"), and a runnable validation command ("npx tsc --noEmit") provide mostly executable guidance. It falls short of fully copy-paste ready because the "Data orchestrator" type declared in step 2 has no template or example, and the templates contain placeholder comments ("/* derive from _state */", "// typed logic").

4 / 5

Workflow Clarity

Steps 1–5 are clearly sequenced with an explicit validation checkpoint ("Validate: npx tsc --noEmit"), matching the anchor for clear sequence with most checkpoints present. It lacks a fix-and-retry feedback loop after validation fails, so it does not reach the level-5 anchor.

4 / 5

Progressive Disclosure

This is a short, single-purpose skill with well-organized sections (Steps, Signal Store, Utility Service, Rules) and no bundle files to disclose. Its only reference — "docs/ARCHITECTURE.md section 4.4" — is one level deep and clearly signaled, which qualifies for the top anchor under the simple-skill guideline.

5 / 5

Total

18

/

20

Passed

Description

73%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 concise, well-targeted description with an explicit 'Use when' clause and natural Angular-specific trigger terms. Its main weakness is a thin 'what' — only one to two concrete actions and no mention of the data-orchestrator variant the skill actually supports.

Suggestions

Enumerate the concrete deliverables more fully, e.g. "Creates signal stores, utility services, and data-orchestrator injectables using inject() and Angular Signals, then validates with tsc."

Add common natural trigger terms such as "service", "DI", or "dependency injection" so users phrasing the request generically still match.

Keep the third-person voice but consider covering where files are placed (the skill encodes location rules) to sharpen the 'what'.

DimensionReasoningScore

Specificity

"creates injectable with inject() and Angular Signals" names the domain and one to two concrete actions, matching the anchor for domain-plus-limited-actions. It does not list several specific actions (no mention of validation, file placement, or the data-orchestrator type), so it falls below the level-4 anchor.

3 / 5

Completeness

It explicitly answers both parts: what ("creates injectable with inject() and Angular Signals") and when ("Use when adding a signal-based store or utility service"), with third-person voice. The 'what' is thin — it omits the data-orchestrator type and validation covered in the body — so it falls short of the fully comprehensive level-5 anchor.

4 / 5

Trigger Term Quality

Terms like "signal-based store", "utility service", "injectable", "inject()", and "Angular Signals" are natural phrases an Angular developer would say. A few common variations are missing ("service", "DI", "dependency injection", "state management"), so it does not reach comprehensive synonym-level coverage.

4 / 5

Distinctiveness Conflict Risk

"inject()", "Angular Signals", "signal-based store", and "injectable" establish a clear Angular-DI niche with distinct triggers, so conflict risk with other skills is minimal. It is clearly distinguishable, not merely 'mostly distinct'.

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

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository

fernandezbaptiste/specialist-agent

Path

packs/angular/skills/dev-create-injectable/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.