frontend-angular-form

Use when creating reactive forms with validation, async validators, dependent validation, and FormArrays using platform patterns.

16 stars

Best use case

frontend-angular-form is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when creating reactive forms with validation, async validators, dependent validation, and FormArrays using platform patterns.

Teams using frontend-angular-form should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/frontend-angular-form/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/frontend/frontend-angular-form/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/frontend-angular-form/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How frontend-angular-form Compares

Feature / Agentfrontend-angular-formStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when creating reactive forms with validation, async validators, dependent validation, and FormArrays using platform patterns.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Angular Form Development Workflow

Use when creating/modifying reactive forms with validation, async validators, dependent validation, or FormArrays.

## Decision Tree

```
What type of form?
├── Basic form (no auth)    → PlatformFormComponent
├── Form with auth context  → AppBaseFormComponent (typical choice)
├── With async validation   → AppBaseFormComponent + ifAsyncValidator
├── Cross-field validation  → AppBaseFormComponent + dependentValidations
└── Dynamic fields          → AppBaseFormComponent + FormArray config
```

## Workflow

1. **Search** existing forms: `grep "{Feature}FormComponent" --include="*.ts"`
2. **Read** design system docs (see Read Directives below)
3. **Define** ViewModel interface for form data
4. **Implement** `initialFormConfig()` with controls, validators, dependentValidations
5. **Implement** `initOrReloadVm()` for create/edit mode data loading
6. **Add** `onSubmit()` with `validateForm()` guard
7. **Template** with BEM classes on all form elements
8. **Verify** checklist below

## Key Rules

- Always call `validateForm()` before submit
- Use `ifAsyncValidator(condition, validator)` - never run async validators unconditionally
- Configure `dependentValidations` for cross-field re-validation
- FormArrays use `{ modelItems, itemControl }` config pattern
- Use `formControls('name')` to access control in template
- Loading state: `isLoading$('save')()` in template

## File Location

```
src/Frontend/apps/{app-name}/src/app/features/{feature}/
├── {feature}-form.component.ts|html|scss
```

## ⚠️ MUST READ Before Implementation

**IMPORTANT: You MUST read these files before writing any code. Do NOT skip.**

1. **⚠️ MUST READ** `.claude/skills/shared/angular-design-system.md` — hierarchy, SCSS, platform APIs
2. **⚠️ MUST READ** `.claude/skills/shared/bem-component-examples.md` — BEM form examples
3. **⚠️ MUST READ** `.claude/skills/frontend-angular-form/references/form-patterns.md` — basic, async, dependent, FormArray patterns
4. **⚠️ MUST READ** target app design system: `docs/design-system/03-form-patterns.md`

## Anti-Patterns

- Missing `validateForm()` before submit
- Async validator without `ifAsyncValidator` conditional wrapper
- Missing `[formGroupName]="i"` in FormArray template loops
- Form elements without BEM classes
- Missing error messages for validation rules

## Verification Checklist

- [ ] `initialFormConfig` returns form configuration
- [ ] `initOrReloadVm` handles create + edit modes
- [ ] `validateForm()` called before submit
- [ ] Async validators wrapped with `ifAsyncValidator`
- [ ] `dependentValidations` configured for cross-field rules
- [ ] FormArrays use `modelItems` + `itemControl`
- [ ] Error messages for all validation rules
- [ ] All form elements have BEM classes


## IMPORTANT Task Planning Notes

- Always plan and break many small todo tasks
- Always add a final review todo task to review the works done at the end to find any fix or enhancement needed

Related Skills

ring:dev-refactor-frontend

16
from diegosouzapw/awesome-omni-skill

Analyzes frontend codebase against Ring standards and generates refactoring tasks for ring:dev-cycle-frontend. Dispatches frontend-specific agents in ANALYSIS mode.

rcr-frontend

16
from diegosouzapw/awesome-omni-skill

Component development rules specific to Red Cliff Record. Use when working with React components, Tailwind CSS styling, Radix/Shadcn primitives, icons, buttons, forms, or frontend code in this project. Triggers on component files, styling questions, design tokens, Tailwind v4, Shadcn, Radix, TanStack Forms, Lucide icons, or UI primitive usage patterns (sizing, spacing, layout).

moai-domain-frontend

16
from diegosouzapw/awesome-omni-skill

Frontend development specialist covering React 19, Next.js 16, Vue 3.5, and modern UI/UX patterns with component architecture. Use when building web UIs, implementing components, optimizing frontend performance, or integrating state management.

Frontend Verification & Testing

16
from diegosouzapw/awesome-omni-skill

Verify and test Angular 18 frontend changes using Chrome DevTools MCP. Automatically check console errors, network requests, and visual rendering after implementing tasks or when fixing UI bugs. Use when creating components, debugging visual issues, validating API integration, or ensuring UI requirements are met. File types: .ts, .html, .css, .scss

frontend-trends-2026

16
from diegosouzapw/awesome-omni-skill

Collection of 2026 Frontend Design Formulas (Liquid Glass, Bento, Neo-Brutalism, Eco-Dark).

frontend-react-testing-strategy

16
from diegosouzapw/awesome-omni-skill

Standardized guidelines and patterns for Frontend React Testing Strategy.

frontend-razor

16
from diegosouzapw/awesome-omni-skill

Apply when working with Razor views, MVC layouts, partial views, and tag helpers

Frontend Pages

16
from diegosouzapw/awesome-omni-skill

Create or modify React pages using MUI components, React Router, and the HATEOAS API client.

Frontend Development

16
from diegosouzapw/awesome-omni-skill

พัฒนา Frontend ด้วย Angular, React, Vue, Next.js อย่างมืออาชีพ

frontend-design-ultimate

16
from diegosouzapw/awesome-omni-skill

Create distinctive, production-grade static sites with React, Tailwind CSS, and shadcn/ui — no mockups needed. Generates bold, memorable designs from plain text requirements with anti-AI-slop aesthetics, mobile-first responsive patterns, and single-file bundling. Use when building landing pages, marketing sites, portfolios, dashboards, or any static web UI. Supports both Vite (pure static) and Next.js (Vercel deploy) workflows.

frontend-design

16
from diegosouzapw/awesome-omni-skill

UI/UX design patterns using DaisyUI v5 and TailwindCSS for Splits Network

frontend-design-fixlify

16
from diegosouzapw/awesome-omni-skill

Create distinctive, production-grade frontend interfaces for Fixlify. Automatically activates when building UI components, pages, dashboards, forms, or any visual interface. Uses Fixlify design system with shadcn/ui, Tailwind CSS, and React patterns.