You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 157ccda
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: skills/dev-skills/angular-developer/SKILL.md
+18-5Lines changed: 18 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: angular-developer
3
-
description: Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.
3
+
description: Generates Angular code and provides architectural guidance. Trigger when creating projects, components, services, or HTTP communication, or for best practices on reactivity (signals, linkedSignal, resource, httpResource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.
4
4
license: MIT
5
5
metadata:
6
6
author: Copyright 2026 Google LLC
@@ -17,7 +17,7 @@ metadata:
17
17
18
18
## Creating New Projects
19
19
20
-
If no guidelines are provided by the user, here are same default rules to follow when creating a new Angular project:
20
+
If no guidelines are provided by the user, here are some default rules to follow when creating a new Angular project:
21
21
22
22
1. Use the latest stable version of Angular unless the user specifies otherwise.
23
23
2. Use Signals Forms for form management in new projects (available in Angular v21 and newer) [Find out more](references/signal-forms.md).
@@ -61,12 +61,18 @@ When managing state and data reactivity, use Angular Signals and consult the fol
61
61
-**Async Reactivity (`resource`)**: Fetching asynchronous data directly into signal state. Read [resource.md](references/resource.md)
62
62
-**Side Effects (`effect`)**: Logging, third-party DOM manipulation (`afterRenderEffect`), and when NOT to use effects. Read [effects.md](references/effects.md)
63
63
64
+
## HTTP Communication
65
+
66
+
When communicating with backend services, use Angular HTTP APIs and consult the following reference:
67
+
68
+
-**HTTP Client and Resources**: `provideHttpClient`, `HttpClient`, interceptors, and `httpResource`. Read [http-client.md](references/http-client.md)
69
+
64
70
## Forms
65
71
66
72
In most cases for new apps, **prefer signal forms**. When making a forms decision, analyze the project and consider the following guidelines:
67
73
68
-
-if the application is using v21 or newer and this is a new form, **prefer signal forms**.
69
-
-For older applications or when working with existing forms, use the appropriate form type that matches the applications current form strategy.
74
+
-If the application is using v21 or newer and this is a new form, **prefer signal forms**.
75
+
-For older applications or when working with existing forms, use the appropriate form type that matches the applications current form strategy.
70
76
71
77
-**Signal Forms**: Use signals for form state management. Read [signal-forms.md](references/signal-forms.md)
72
78
-**Template-driven forms**: Use for simple forms. Read [template-driven-forms.md](references/template-driven-forms.md)
@@ -82,6 +88,12 @@ When implementing dependency injection in Angular, follow these guidelines:
82
88
-**Injection Context**: Where `inject()` is allowed, `runInInjectionContext`, and `assertInInjectionContext`. Read [injection-context.md](references/injection-context.md)
83
89
-**Hierarchical Injectors**: The `EnvironmentInjector` vs `ElementInjector`, resolution rules, modifiers (`optional`, `skipSelf`), and `providers` vs `viewProviders`. Read [hierarchical-injectors.md](references/hierarchical-injectors.md)
84
90
91
+
## Pipes
92
+
93
+
When formatting values in templates, creating custom pipes, or reusing pipe-like logic in TypeScript, consult the following reference. Prefer pipes in templates; outside templates, avoid injecting pipe classes just to call `transform()`.
94
+
95
+
-**Pipes**: Built-in pipe imports, custom pipe naming and implementation, pure vs impure pipes, and TypeScript reuse patterns using standalone formatting functions or extracted plain functions. Read [pipes.md](references/pipes.md)
96
+
85
97
## Angular Aria
86
98
87
99
When building accessible custom components for any of the following patterns: Accordion, Listbox, Combobox, Menu, Tabs, Toolbar, Tree, Grid, consult the following reference:
@@ -119,13 +131,14 @@ When writing or updating tests, consult the following references based on the ta
119
131
-**Fundamentals**: Best practices for unit testing (Vitest), async patterns, and `TestBed`. Read [testing-fundamentals.md](references/testing-fundamentals.md)
120
132
-**Component Harnesses**: Standard patterns for robust component interaction. Read [component-harnesses.md](references/component-harnesses.md)
121
133
-**Router Testing**: Using `RouterTestingHarness` for reliable navigation tests. Read [router-testing.md](references/router-testing.md)
122
-
-**End-to-End (E2E) Testing**: Best practices for E2E tests with Cypress. Read [e2e-testing.md](references/e2e-testing.md)
134
+
-**End-to-End (E2E) Testing**: Setting up and running E2E tests. Read [e2e-testing.md](references/e2e-testing.md)
123
135
124
136
## Tooling
125
137
126
138
When working with Angular tooling, consult the following references:
-**Code Modernization**: Automatically refactoring to modern standards using migrations. Read [migrations.md](references/migrations.md)
130
143
-**Angular MCP Server**: Available tools, configuration, and experimental features. Read [mcp.md](references/mcp.md)
131
144
-**Environment Configuration**: Strategies for build-time and runtime configuration. Read [environment-configuration.md](references/environment-configuration.md)
0 commit comments