Install
$ agentstack add skill-gentleman-programming-gentleman-skills-performance ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
NgOptimizedImage (REQUIRED for images)
import { NgOptimizedImage } from '@angular/common';
@Component({
imports: [NgOptimizedImage],
template: `
`
})
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) {
} @placeholder {
Placeholder shown immediately
} @loading (minimum 200ms) {
} @error {
Failed to load
}
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 |
@defer (on viewport; on interaction) {
}
@defer (when showComments()) {
}
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
- https://angular.dev/guide/image-optimization
- https://angular.dev/guide/defer
- https://angular.dev/best-practices/runtime-performance
- https://angular.dev/guide/ssr
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Gentleman-Programming
- Source: Gentleman-Programming/Gentleman-Skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.