Create Angular 20 standalone components using modern patterns: Signals for state management, input()/output() functions (not decorators), @if/@for/@switch control flow (not *ngIf/*ngFor), inject() dependency injection (not constructor), and OnPush change detection.
SkillScore92Maintained
Automatic
◆Frontend / UI pack
Last verified 8/21/2026
What it changes
Passed 23 of 25 test cases with the skill, and 14 of 25 without it.
Without skill56%
With skill92%
Checks it passed that the model alone missed
The submit event is defined using output().
The decorator includes ChangeDetectionStrategy.OnPush.
The component specifies ChangeDetectionStrategy.OnPush.
and 10 more in the full report
9 fixed14 passed either way2 still failing0 broke
Pass-rate lift
+36 pp
Tokens
+90%
Agent turns
0%
Response time
-7%
Model gemini-3.6-flashMeasured 8/21/2026v123 of 25 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 9 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 9
Prompt
Write the @Component decorator declaration for an Angular component that imports shared UI modules and child components.
What was checked, without and with the skill
Checked
Without skill
With skill
The decorator includes an imports array.
Passed
Passed
The decorator includes ChangeDetectionStrategy.OnPush.
Missed
Passed
case-18 · gemini-3.6-flash · 8/21/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md362 linessingle file
Angular 20 Standalone Component Skill
This skill helps create Angular 20 components following modern patterns and project standards.
Core Principles
Modern Angular 20 Patterns
Standalone Components: 100% standalone, zero NgModules
Signals: Use signal(), computed(), effect() for state
New Syntax: input(), output(), @if, @for, @switch
inject(): Function-based dependency injection
OnPush: Change detection strategy for performance
Architecture Integration
Presentation Layer: Components handle UI only
Service Integration: Inject services for business logic
No Direct Repository: Never inject repositories directly
Event-Driven: Use EventBus for cross-module communication