Install Angular Performance
Pick your agent. Every command is ready to paste.
npx skills add Gentleman-Programming/Gentleman-Skills --skill angular-performanceThe open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.
01
Install it
Run the command above, or upload the folder in Claude.
02
Ask naturally
Describe the task. Your agent loads angular-performance when the request matches its description.
03
Name it if needed
If it does not trigger, say “use the angular-performance skill”. In Codex, type $angular-performance.
NgOptimizedImage (REQUIRED for images)
import { NgOptimizedImage } from '@angular/common';
@Component({
imports: [NgOptimizedImage],
template: `
<!-- LCP image: add priority -->
<img ngSrc="hero.jpg" width="800" height="400" priority>
<!-- Regular: lazy loaded by default -->
<img ngSrc="thumb.jpg" width="200" height="200">
<!-- Fill mode (parent needs position: relative) -->
<img ngSrc="bg.jpg" fill>
<!-- With placeholder -->
<img ngSrc="photo.jpg" width="400" height="300" placeholder>
`
})
Rules
- ALWAYS set
widthandheight(orfill) - Add
priorityto LCP (Largest Contentful Paint) image - Use
ngSrcnotsrc - Parent of
fillimage must haveposition: relative/fixed/absolute
@defer - Lazy Components
@defer (on viewport) {
<heavy-component />
} @placeholder {
<p>Placeholder shown immediately</p>
} @loading (minimum 200ms) {
<spinner />
} @error {
<p>Failed to load</p>
}
Triggers
| Trigger | When to Use |
|---|---|
on viewport |
Below the fold content |
on interaction |
Load on click/focus/hover |
on idle |
Load when browser is idle |
on timer(500ms) |
Load after delay |
when condition |
Load when expression is true |
<!-- Multiple triggers -->
@defer (on viewport; on interaction) {
<comments />
}
<!-- Conditional -->
@defer (when showComments()) {
<comments />
}
Lazy Routes
// Single component
{
path: 'admin',
loadComponent: () => import('./features/admin/admin').then(c => c.AdminComponent)
}
// Feature with child routes
{
path: 'users',
loadChildren: () => import('./features/users/routes').then(m => m.USERS_ROUTES)
}
SSR & Hydration
bootstrapApplication(AppComponent, {
providers: [
provideClientHydration()
]
});
| Scenario | Use |
|---|---|
| SEO critical (blog, e-commerce) | SSR |
| Dashboard/Admin | CSR |
| Static marketing site | SSG/Prerender |
Slow Computations
| Solution | When |
|---|---|
| Optimize algorithm | First choice always |
| Pure pipes | Cache single result |
| Memoization | Cache multiple results |
computed() |
Derived signal state |
NEVER trigger reflows/repaints in lifecycle hooks (ngOnInit, ngAfterViewInit).
Resources
Tips for Angular Performance
- • Start a fresh session after installing so your agent picks up the new skill.
- • It is part of a pack with 24 skills. Install only the ones you need with --skill to keep triggers precise.
- • If two skills overlap, mention the one you want by name.
Questions about Angular Performance
What does the Angular Performance skill do?
Angular performance: NgOptimizedImage, @defer, lazy loading, SSR. Trigger: When optimizing Angular app performance, images, or lazy loading.
How do I install Angular Performance?
Run "npx skills add Gentleman-Programming/Gentleman-Skills --skill angular-performance" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.
Does Angular Performance work in Cursor and Codex?
Yes. Angular Performance uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.
Is Angular Performance free?
Angular Performance is open source on GitHub under the MIT license. It is free to install; check the license before commercial use.
Who made Angular Performance?
Angular Performance is published by Gentleman-Programming in the Gentleman-Programming/Gentleman-Skills repository, together with 23 other skills.




