🎯

frontend-angular-form

🎯Skill

from duc01226/easyplatform

VibeIndex|
What it does

Generates Angular reactive forms with advanced validation, async validators, dependent validation, and FormArrays using platform-specific design patterns.

frontend-angular-form

Installation

Install skill:
npx skills add https://github.com/duc01226/easyplatform --skill frontend-angular-form
6
AddedJan 27, 2026

Skill Details

SKILL.md

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

Overview

# 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

More from this repository10

🎯
qa-engineer🎯Skill

Generates comprehensive test plans, test cases, and coverage analysis to support QA engineers in systematic software testing and quality assurance.

🎯
learn🎯Skill

Teaches Claude new patterns, preferences, and conventions to remember across coding sessions using explicit learning commands.

🎯
product-owner🎯Skill

Helps Product Owners prioritize ideas, manage backlogs, and communicate product vision through structured decision-making frameworks.

🎯
pdf-to-markdown🎯Skill

pdf-to-markdown skill from duc01226/easyplatform

🎯
business-feature-docs🎯Skill

Generates comprehensive enterprise module documentation with a 26-section structure, creating detailed specs and folder hierarchy for business features.

🎯
readme-improvement🎯Skill

readme-improvement skill from duc01226/easyplatform

🎯
learned-patterns🎯Skill

Manages Claude's learned patterns by listing, viewing, archiving, and dynamically adjusting pattern confidence levels.

🎯
arch-performance-optimization🎯Skill

Optimizes system performance by triaging and routing to specific strategies for database, frontend, API, jobs, and cross-service bottlenecks.

🎯
plan-analysis🎯Skill

Analyzes implementation plans by extracting features, assessing change impacts, mapping specifications, and preparing comprehensive technical and business impact reports.

🎯
shadcn-tailwind🎯Skill

Rapidly build accessible React UI with shadcn/ui components, Radix primitives, and Tailwind CSS utility styling for modern web applications.