Skip to content
alyn
Gentleman-Programming

Angular Forms skill

Angular forms: Signal Forms (experimental) and Reactive Forms. Trigger: When working with forms, validation, or form state in Angular.

$npx skills add Gentleman-Programming/Gentleman-Skills --skill angular-forms
View this skill on GitHubGentleman-Programming/Gentleman-Skills/curated/angular/forms/SKILL.md
Pack stars
665
Pack installs
5.6k
Alyn Score
41/99
Updated
8 months ago
License
MIT
– views – installs via Alyn

Gentleman-Programming

Angular Forms

Install Angular Forms

Pick your agent. Every command is ready to paste.

$npx skills add Gentleman-Programming/Gentleman-Skills --skill angular-forms

The open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.

01

Install it

Run the command above, or upload the folder in Claude.

02

Ask naturally

Describe the task. Your agent loads angular-forms when the request matches its description.

03

Name it if needed

If it does not trigger, say “use the angular-forms skill”. In Codex, type $angular-forms.

The skill itself

SKILL.md

FolderGitHub

When to Use What

Use Case Recommendation
New apps with signals Signal Forms (experimental)
Production apps Reactive Forms
Simple forms Template-driven

Signal Forms (v21+, experimental)

import { form, FormField, required, email } from '@angular/forms/signals';

@Component({
  imports: [FormField],
  template: `
    <form>
      <input [formField]="emailField" type="email" />
      <input [formField]="passwordField" type="password" />
      <button (click)="submit()">Login</button>
    </form>
  `
})
export class LoginComponent {
  readonly loginForm = form({
    email: ['', [required, email]],
    password: ['', required]
  });
  
  readonly emailField = this.loginForm.controls.email;
  readonly passwordField = this.loginForm.controls.password;
  
  submit() {
    if (this.loginForm.valid()) {
      const values = this.loginForm.value();
    }
  }
}

Signal Forms Benefits

  • Automatic two-way binding
  • Type-safe field access
  • Schema-based validation
  • Built on signals

Reactive Forms (production)

import { FormBuilder, Validators, ReactiveFormsModule } from '@angular/forms';

@Component({
  imports: [ReactiveFormsModule],
  template: `
    <form [formGroup]="form" (ngSubmit)="submit()">
      <input formControlName="email" type="email" />
      <input formControlName="password" type="password" />
      <button type="submit" [disabled]="form.invalid">Login</button>
    </form>
  `
})
export class LoginComponent {
  private readonly fb = inject(FormBuilder);

  form = this.fb.nonNullable.group({
    email: ['', [Validators.required, Validators.email]],
    password: ['', [Validators.required, Validators.minLength(8)]],
  });
  
  submit() {
    if (this.form.valid) {
      const { email, password } = this.form.getRawValue();
    }
  }
}

Key Points

  • ALWAYS use fb.nonNullable.group() for type safety
  • Use getRawValue() to get typed values
  • Reactive Forms are synchronous (easier to test)

Nested Forms & FormArray

form = this.fb.nonNullable.group({
  name: [''],
  address: this.fb.group({
    street: [''],
    city: [''],
  }),
  phones: this.fb.array([this.fb.control('')]),
});

get phones() {
  return this.form.get('phones') as FormArray;
}

addPhone() {
  this.phones.push(this.fb.control(''));
}

Resources

Tips for Angular Forms

  • • Start a fresh session after installing so your agent picks up the new skill.
  • • It is part of a pack with 24 skills. Install only the ones you need with --skill to keep triggers precise.
  • • If two skills overlap, mention the one you want by name.

Questions about Angular Forms

What does the Angular Forms skill do?

Angular forms: Signal Forms (experimental) and Reactive Forms. Trigger: When working with forms, validation, or form state in Angular.

How do I install Angular Forms?

Run "npx skills add Gentleman-Programming/Gentleman-Skills --skill angular-forms" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.

Does Angular Forms work in Cursor and Codex?

Yes. Angular Forms uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.

Is Angular Forms free?

Angular Forms is open source on GitHub under the MIT license. It is free to install; check the license before commercial use.

Who made Angular Forms?

Angular Forms is published by Gentleman-Programming in the Gentleman-Programming/Gentleman-Skills repository, together with 23 other skills.

Similar skills. From other creators.