AgentStack
SKILL verified MIT Self-run

Dev Create Injectable

skill-herbertjulio-specialist-agent-dev-create-injectable · by HerbertJulio

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

No reviews yet
0 installs
8 views
0.0% view→install

Install

$ agentstack add skill-herbertjulio-specialist-agent-dev-create-injectable

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Dev Create Injectable? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Create an Angular injectable following docs/ARCHITECTURE.md section 4.4.

Injectable: $ARGUMENTS

Steps

  1. Read docs/ARCHITECTURE.md section 4.4.
  1. Determine the type:
  • Signal store (client state) -> manages UI state with WritableSignal
  • Utility service (shared logic) -> injectable with inject() for deps
  • Data orchestrator (API + adapter) -> injects Service, applies adapter
  1. Create the injectable in the appropriate location:

Signal Store

import { Injectable, signal, computed } from '@angular/core'

@Injectable({ providedIn: 'root' })
export class MyStore {
  private readonly _state = signal(initialValue)
  readonly state = this._state.asReadonly()
  readonly derived = computed(() => /* derive from _state */)

  updateState(value: StateType) {
    this._state.set(value)
  }
}

Utility Service

import { Injectable, inject } from '@angular/core'

@Injectable({ providedIn: 'root' })
export class MyUtilityService {
  private readonly dep = inject(OtherService)

  doSomething(input: InputType): OutputType {
    // typed logic
  }
}
  1. Rules:
  • @Injectable({ providedIn: 'root' }) or scoped to component
  • inject() for all dependencies - no constructor DI
  • Private WritableSignal, public asReadonly() for stores
  • No HTTP calls in stores (services handle that)
  1. Validate: npx tsc --noEmit

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.