Angular performance: NgOptimizedImage, @defer, lazy loading, SSR.

MITAuto-check passedFrontend & Design

Install Angular Performance

skills CLI
$ npx skills add Gentleman-Programming/Gentleman-Skills --skill angular-performance -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Gentleman-Programming/Gentleman-Skills angular-performance --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Gentleman-Programming/Gentleman-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/curated/angular/performance .claude/skills/angular-performance && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
angular-performance
GitHub stars
657
Token cost
~703 tokens
SKILL.md length
122 words
Files
1
Skills in repo
23
Repo updated
First seen
Licence
MIT

At a glance

Angular performance: NgOptimizedImage, @defer, lazy loading, SSR.

  • Tasks that involve Web performance
  • SKILL.md covers NgOptimizedImage (REQUIRED for…, @defer - Lazy Components, Lazy Routes and SSR & Hydration, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Angular Performance is an agent skill from Gentleman-Programming/Gentleman-Skills. Angular performance: NgOptimizedImage, @defer, lazy loading, SSR. Trigger: When optimizing Angular app performance, images, or lazy loading.

Its SKILL.md is about 700 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Frontend & Design, covering Web performance. It works with Angular. The repository describes itself as: Community-driven AI agent skills for Claude Code, OpenCode, and other AI assistants. Curated patterns and community contributions. The licence is MIT.

When your agent uses it

  • Tasks that involve Web performance

Example prompts

  • “/angular-performance”

What it can do on your machine

Read from SKILL.md and the folder at commit c8036a3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript and html).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • angular.dev

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Angular Performance loads about 703 tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 122 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~40
When it runs · the whole SKILL.md, loaded when a task matches
~703

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Gentleman-Programming/Gentleman-Skills at commit c8036a3, republished under its MIT licence (© Gentleman-Programming). 122 words, ~703 tokens.

Download SKILL.mdSave it as .claude/skills/angular-performance/SKILL.md (or your agent's skills folder).
name
angular-performance
description
Angular performance: NgOptimizedImage, @defer, lazy loading, SSR. Trigger: When optimizing Angular app performance, images, or lazy loading.
metadata.author
gentleman-programming
metadata.version
1.0

NgOptimizedImage (REQUIRED for images)

typescript
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 width and height (or fill)
  • Add priority to LCP (Largest Contentful Paint) image
  • Use ngSrc not src
  • Parent of fill image must have position: relative/fixed/absolute

@defer - Lazy Components

html
@defer (on viewport) {
  <heavy-component />
} @placeholder {
  <p>Placeholder shown immediately</p>
} @loading (minimum 200ms) {
  <spinner />
} @error {
  <p>Failed to load</p>
}
Triggers
TriggerWhen to Use
on viewportBelow the fold content
on interactionLoad on click/focus/hover
on idleLoad when browser is idle
on timer(500ms)Load after delay
when conditionLoad when expression is true
html
<!-- Multiple triggers -->
@defer (on viewport; on interaction) {
  <comments />
}

<!-- Conditional -->
@defer (when showComments()) {
  <comments />
}

Lazy Routes

typescript
// 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

typescript
bootstrapApplication(AppComponent, {
  providers: [
    provideClientHydration()
  ]
});
ScenarioUse
SEO critical (blog, e-commerce)SSR
Dashboard/AdminCSR
Static marketing siteSSG/Prerender

Slow Computations

SolutionWhen
Optimize algorithmFirst choice always
Pure pipesCache single result
MemoizationCache multiple results
computed()Derived signal state

NEVER trigger reflows/repaints in lifecycle hooks (ngOnInit, ngAfterViewInit).


Resources

© Gentleman-Programming, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in curated/angular/performance of Gentleman-Programming/Gentleman-Skills.

Open the folder on GitHubat commit c8036a3

Compare with similar skills

Angular Performance next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Angular Performance compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Angular Performance this skillGentleman-Programming/Gentleman-Skills657—~703Automated safety check: PassMIT
Igniteui Wc Integrate With FrameworkIgniteUI/igniteui-webcomponents170—~1.4kAutomated safety check: PassMIT
Angular ArchitectJeffallan/claude-skills12k—~1.5kAutomated safety check: PassMIT
Angular ArchitectureHoangNguyen0403/agent-skills-standard570—~849Automated safety check: PassMIT
Angular PerformanceHoangNguyen0403/agent-skills-standard570—~595Automated safety check: PassMIT
Modern Web GuidanceJetBrains/skills3633 repos~1.4kAutomated safety check: PassApache-2.0

Similar skills

  • Igniteui Wc Integrate With Framework

    IgniteUI/igniteui-webcomponents

    Install and integrate Ignite UI Web Components packages into React, Angular, Vue 3, LitElement, or vanilla JS/HTML apps, detecting the framework and applying framework-specific setup (package…

    170 GitHub stars~1.4k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Angular Architect

    Jeffallan/claude-skills

    Builds Angular 17+ features with standalone components, signals, NgRx state, RxJS patterns and lazy-loaded routing, then checks bundle size and test coverage.

    12k GitHub stars~1.5k tokensUpdated 4 days ago
    Frontend & DesignAuto-check passed
  • Angular Architecture

    HoangNguyen0403/agent-skills-standard

    Standards for Angular project structure, feature modules, and lazy loading.

    570 GitHub stars~849 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Angular Performance

    HoangNguyen0403/agent-skills-standard

    Optimization techniques including OnPush, @defer, and Image Optimization.

    570 GitHub stars~595 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Modern Web Guidance

    JetBrains/skills

    Official

    Search tool for modern web development best practices. An agent skill from JetBrains/skills.

    363 GitHub starsUsed in 3 repos~1.4k tokens
    DevOps & CloudAuto-check passed
  • Angular Routing

    Kilo-Org/kilo-marketplace

    Implement routing in Angular v20+ applications with lazy loading, functional guards, resolvers, and route parameters.

    189 GitHub stars~2.2k tokensUpdated 9 days ago
    Backend & APIsAuto-check passed

More from Gentleman-Programming/Gentleman-Skills

All 23 skills in this repo
  • Elixir Antipatterns

    Gentleman-Programming/Gentleman-Skills

    Core catalog of 8 critical Elixir/Phoenix anti-patterns covering error handling, separation of concerns, Ecto queries, and testing.

    657 GitHub stars~2.1k tokensUpdated 6 mo ago
    Auto-check passed
  • Skill Creator

    Gentleman-Programming/Gentleman-Skills

    Creates new AI agent skills following the Agent Skills spec.

    657 GitHub stars~1.1k tokensUpdated 6 mo ago
    Auto-check: notes
  • Angular Architecture

    Gentleman-Programming/Gentleman-Skills

    Angular architecture: Scope Rule, project structure, file naming, style guide.

    657 GitHub stars~823 tokensUpdated 6 mo ago
    Auto-check passed
  • Angular Core

    Gentleman-Programming/Gentleman-Skills

    Angular core patterns: standalone components, signals, inject, control flow, zoneless.

    657 GitHub stars~1.1k tokensUpdated 6 mo ago
    Auto-check passed
  • Angular Forms

    Gentleman-Programming/Gentleman-Skills

    Angular forms: Signal Forms (experimental) and Reactive Forms.

    657 GitHub stars~687 tokensUpdated 6 mo ago
    Auto-check passed
  • Django Drf

    Gentleman-Programming/Gentleman-Skills

    Django REST Framework patterns. An agent skill from Gentleman-Programming/Gentleman-Skills.

    657 GitHub stars~1.2k tokensUpdated 6 mo ago
    Auto-check passed

Works with

Questions about Angular Performance

What does Angular Performance do?

Angular performance: NgOptimizedImage, @defer, lazy loading, SSR. Angular Performance is an agent skill from Gentleman-Programming/Gentleman-Skills. Angular performance: NgOptimizedImage, @defer, lazy loading, SSR.

When should I use Angular Performance?

Angular Performance fits situations like: tasks that involve Web performance.

How do I install Angular Performance in Claude Code?

Run `npx skills add Gentleman-Programming/Gentleman-Skills --skill angular-performance -a claude-code`. Or copy the skill folder (curated/angular/performance in Gentleman-Programming/Gentleman-Skills) into .claude/skills/angular-performance in your project. Claude Code loads it when a task matches its description.

How do I install Angular Performance in Codex?

Run `npx skills add Gentleman-Programming/Gentleman-Skills --skill angular-performance -a codex`. Or copy the skill folder (curated/angular/performance in Gentleman-Programming/Gentleman-Skills) into .agents/skills/angular-performance in your project. Codex loads it when a task matches its description.

Can I use Angular Performance in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Gentleman-Programming/Gentleman-Skills --skill angular-performance -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/angular-performance, .gemini/skills/angular-performance, .github/skills/angular-performance and .opencode/skills/angular-performance in your project.

What does Angular Performance need to run?

SKILL.md names no scripts, command-line tools or credentials: Angular Performance is instructions for the agent only.

Does Angular Performance access the network?

SKILL.md names 1 domain. As links in the text: angular.dev. This is read from the text; nothing was executed.

Is Angular Performance safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Angular Performance use?

Angular Performance is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Angular Performance use?

About 703 tokens (SKILL.md is roughly 2.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Angular Performance?

Skills that share tags, products or a category with Angular Performance: Igniteui Wc Integrate With Framework (IgniteUI/igniteui-webcomponents, 170 stars), Angular Architect (Jeffallan/claude-skills, 12k stars), Angular Architecture (HoangNguyen0403/agent-skills-standard, 570 stars) and Angular Performance (HoangNguyen0403/agent-skills-standard, 570 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Angular Performance?

Gentleman-Programming (a GitHub organization) maintains it in Gentleman-Programming/Gentleman-Skills, which has 657 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on March 28, 2026.

Source: Gentleman-Programming/Gentleman-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.