К основному содержанию
скилл CX Codex

angular-performance — скилл для Claude Code: ускоряет Angular

Скилл для Angular: подсказывает, как грузить картинки через NgOptimizedImage, откладывать тяжёлые компоненты через @defer и настроить SSR с гидратацией.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Gentleman-Programming/Gentleman-Skills --skill angular-performance -a claude-code
npx skills add Gentleman-Programming/Gentleman-Skills --skill performance -a claude-code
Открыть на GitHub

Что делает angular-performance

Скилл включается, когда вы просите агента заняться производительностью Angular-приложения, изображениями или ленивой загрузкой. Внутри — набор правил по четырём темам: оптимизация картинок, отложенная загрузка компонентов, ленивые маршруты и SSR с гидратацией.

По изображениям правило жёсткое: ngSrc вместо src, обязательные width и height либо режим fill, а LCP-картинке нужен атрибут priority. Для fill родитель должен иметь position: relative, fixed или absolute. У @defer расписаны триггеры: on viewport для контента ниже сгиба, on interaction, on idle, on timer(500ms) и when condition, плюс блоки @placeholder, @loading и @error.

Отдельно сказано не трогать reflows и repaints в ngOnInit и ngAfterViewInit — это частая причина тормозов, которую легко пропустить. Для тяжёлых вычислений скилл советует сначала оптимизировать сам алгоритм, а уже потом браться за pure pipes, мемоизацию или computed().

Какие задачи решает

  • настроить загрузку изображений без сдвигов вёрстки
  • отложить загрузку тяжёлого компонента до появления в зоне видимости
  • разбить маршруты на ленивые чанки
  • включить SSR с гидратацией для SEO-страниц
  • убрать reflow из lifecycle-хуков

Примеры запросов агенту

  • пройдись по компонентам и переведи все img на NgOptimizedImage
  • добавь @defer для блока комментариев с триггером on viewport
  • сделай маршрут админки ленивым через loadComponent

Как установить angular-performance

1Через Skills CLI (Vercel)

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

2Вручную: положить файлы

~/.claude/skills/performance/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/performance/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о angular-performance

Как установить angular-performance в Claude?

Выполните npx skills add Gentleman-Programming/Gentleman-Skills --skill angular-performance -a claude-code. Файл скилла окажется в ~/.claude/skills/performance/SKILL.md.

Что делает angular-performance?

Даёт агенту правила по производительности Angular: NgOptimizedImage, @defer, ленивые маршруты, SSR с гидратацией и работа с тяжёлыми вычислениями.

Когда скилл вообще срабатывает?

Триггер — задачи про производительность Angular-приложения, изображения или ленивую загрузку. На других темах он не подключается.

Исходный текст

SKILL.md · MIT
---
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
  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

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

```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()
  ]
});
```

| 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

© gentleman-programming · MIT · Gentleman-Programming/Gentleman-Skills

Похожие скиллы

Всё по теме «Фронтенд и UI» →
angular-developer Copyright 2026 Google LLC Генерирует Angular-код и подсказывает архитектурные решения для компонентов, сервисов, форм, маршрутизации и HTTP. Пригодится для новых и существующих проектов. CX Codex +1 46 100установок angular-ssr analogjs Скилл для задач Angular SSR, гидратации и пререндеринга. Он устарел: текущая версия больше не поддерживается. CX Codex +1 3 900установок seo-images AgriciDaniel Проверяет alt-текст, размер, формат (WebP/AVIF), адаптивность, ленивую загрузку и метаданные изображений на странице. Находит проблемы с CLS и показывает, сколько килобайт можно сэкономить. CX Codex +1 6 800установок angular-new-app Angular Team @ Google Скилл для быстрого создания нового Angular-приложения с помощью Angular CLI. Проверяет окружение, генерирует проект с нужными флагами и направляет разработку по лучшим практикам Angular. CX Codex +1 19 200установок angular-component analogjs Скилл под Angular 20+ с сигнальными входами, OnPush и host bindings, помеченный как deprecated: гайд из него удалён, вместо него — официальные скиллы Angular. CX Codex +1 11 500установок ionic-angular capawesome-team Скилл для ИИ-агента, который ведёт по Angular-паттернам в Ionic: навигация, ленивая загрузка, формы, хуки жизненного цикла страниц. CX Codex +1 1 400установок

Из того же набора4

Спонсоры проекта

Компании, которые помогают держать аналитику открытой