frontend-angular-form
Use when creating reactive forms with validation, async validators, dependent validation, and FormArrays using platform patterns.
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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/frontend-angular-form/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How frontend-angular-form Compares
| Feature / Agent | frontend-angular-form | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/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 neededRelated Skills
ring:dev-refactor-frontend
Analyzes frontend codebase against Ring standards and generates refactoring tasks for ring:dev-cycle-frontend. Dispatches frontend-specific agents in ANALYSIS mode.
rcr-frontend
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
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
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
Collection of 2026 Frontend Design Formulas (Liquid Glass, Bento, Neo-Brutalism, Eco-Dark).
frontend-react-testing-strategy
Standardized guidelines and patterns for Frontend React Testing Strategy.
frontend-razor
Apply when working with Razor views, MVC layouts, partial views, and tag helpers
Frontend Pages
Create or modify React pages using MUI components, React Router, and the HATEOAS API client.
Frontend Development
พัฒนา Frontend ด้วย Angular, React, Vue, Next.js อย่างมืออาชีพ
frontend-design-ultimate
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
UI/UX design patterns using DaisyUI v5 and TailwindCSS for Splits Network
frontend-design-fixlify
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.