Use when adding a signal-based store or utility service - creates injectable with inject() and Angular Signals.
82%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Create an Angular injectable following docs/ARCHITECTURE.md section 4.4.
Injectable: $ARGUMENTS
Read docs/ARCHITECTURE.md section 4.4.
Determine the type:
Create the injectable in the appropriate location:
import { Injectable, signal, computed } from '@angular/core'
@Injectable({ providedIn: 'root' })
export class MyStore {
private readonly _state = signal<StateType>(initialValue)
readonly state = this._state.asReadonly()
readonly derived = computed(() => /* derive from _state */)
updateState(value: StateType) {
this._state.set(value)
}
}import { Injectable, inject } from '@angular/core'
@Injectable({ providedIn: 'root' })
export class MyUtilityService {
private readonly dep = inject(OtherService)
doSomething(input: InputType): OutputType {
// typed logic
}
}Rules:
Validate: npx tsc --noEmit
fernandezbaptiste/specialist-agent
cd716d9
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.