CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/angular-best-practices

Angular patterns — standalone components, signals, inject(), reactive forms, HTTP interceptors, and new control flow

95

2.75x
Quality

94%

Does it follow best practices?

Impact

99%

2.75x

Average score across 4 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

angular-signals-io.jsonverifiers/

{
  "instruction": "Use signal-based input()/output() instead of @Input()/@Output() decorators. Use toSignal() to convert Observables to signals in components.",
  "relevant_when": "Agent creates Angular components with inputs, outputs, or data from services",
  "context": "Modern Angular uses input() and input.required() for component inputs (not @Input() decorator), output() for component outputs (not @Output() with EventEmitter), and toSignal() to convert service Observables into signals (not manual .subscribe() in ngOnInit).",
  "sources": [
    {
      "type": "file",
      "filename": "skills/angular-best-practices/SKILL.md",
      "tile": "tessl-labs/angular-best-practices@0.1.4"
    }
  ],
  "checklist": [
    {
      "name": "signal-inputs",
      "rule": "Agent uses input() or input.required() for component inputs, never @Input() decorator",
      "relevant_when": "Agent creates Angular components that receive data from parent components"
    },
    {
      "name": "signal-outputs",
      "rule": "Agent uses output() for component outputs, never @Output() with EventEmitter",
      "relevant_when": "Agent creates Angular components that emit events to parent components"
    },
    {
      "name": "toSignal-usage",
      "rule": "Agent uses toSignal() with initialValue to convert service Observables to signals, never manual .subscribe()",
      "relevant_when": "Agent consumes Observable data from services in Angular components"
    }
  ]
}

tile.json