Files
antigravity-skills-reference/skills/angular-ui-patterns
sck_0 aa71e76eb9 chore: release 6.5.0 - Community & Experience
- Add date_added to all 950+ skills for complete tracking
- Update version to 6.5.0 in package.json and README
- Regenerate all indexes and catalog
- Sync all generated files

Features from merged PR #150:
- Stars/Upvotes system for community-driven discovery
- Auto-update mechanism via START_APP.bat
- Interactive Prompt Builder
- Date tracking badges
- Smart auto-categorization

All skills validated and indexed.

Made-with: Cursor
2026-02-27 09:19:41 +01:00
..
2026-02-04 08:58:45 +01:00
2026-02-04 08:58:45 +01:00

Angular UI Patterns

Modern UI patterns for building robust Angular applications optimized for AI agents and LLMs.

Overview

This skill covers essential UI patterns for:

  • Loading States - Skeleton vs spinner decision trees
  • Error Handling - Error boundary hierarchy and recovery
  • Progressive Disclosure - Using @defer for lazy rendering
  • Data Display - Handling empty, loading, and error states
  • Form Patterns - Submission states and validation feedback
  • Dialog/Modal Patterns - Proper dialog lifecycle management

Core Principles

  1. Never show stale UI - Only show loading when no data exists
  2. Surface all errors - Never silently fail
  3. Optimistic updates - Update UI before server confirms
  4. Progressive disclosure - Use @defer to load non-critical content
  5. Graceful degradation - Fallback for failed features

Structure

The SKILL.md file includes:

  1. Golden Rules - Non-negotiable patterns to follow
  2. Decision Trees - When to use skeleton vs spinner
  3. Code Examples - Correct vs incorrect implementations
  4. Anti-patterns - Common mistakes to avoid

Quick Reference

<!-- Angular template pattern for data states -->
@if (error()) {
<app-error-state [error]="error()" (retry)="load()" />
} @else if (loading() && !data()) {
<app-skeleton-state />
} @else if (!data()?.length) {
<app-empty-state message="No items found" />
} @else {
<app-data-display [data]="data()" />
}

Version

Current version: 1.0.0 (February 2026)

References