
Angular Core
This is a modern Angular coding assistant that enforces current best practices, specifically standalone components and the newer signal-based input/output functions instead of decorators. It's opinionated in a good way: it assumes standalone by default and pushes you toward OnPush change detection. If you're working on a greenfield Angular project or migrating to Angular 14+, this will keep you from falling back into old patterns. The 538 GitHub stars suggest the Gentleman Programming team has credibility in the Angular community. It's narrow in scope but does one thing well: keeping your Angular code current with the framework's direction rather than littered with deprecated patterns.
- skills.sh installs
- 228
- GitHub stars
- 665
- last updated
- Aug 21, 2026
Install
$ npx -y skills add gentleman-programming/gentleman-skills --skill angular-core --agent claude-codeInstalls into .claude/skills of the current project.
Files
Standalone Components (REQUIRED)
Components are standalone by default. Do NOT set standalone: true.
@Component({
selector: 'app-user',
imports: [CommonModule],
changeDetection: ChangeDetectionStrategy.OnPush,
template: `...`
})
export class UserComponent {}
Input/Output Functions (REQUIRED)
// ✅ ALWAYS: Function-based
readonly user = input.required<User>();
readonly disabled = input(false);
readonly selected = output<User>();
readonly checked = model(false); // Two-way binding
// ❌ NEVER: Decorators
@Input() user: User;
@Output() selected = new EventEmitter<User>();
Signals for State (REQUIRED)
readonly count = signal(0);
readonly doubled = computed(() => this.count() * 2);
// Update
this.count.set(5);
this.count.update(prev => prev + 1);
// Side effects
effect(() => localStorage.setItem('count', this.count().toString()));
NO Lifecycle Hooks (REQUIRED)
Signals replace lifecycle hooks. Do NOT use ngOnInit, ngOnChanges, ngOnDestroy.
// ❌ NEVER: Lifecycle hooks
ngOnInit() {
this.loadUser();
}
Sponsors
Details
- Repository
- github.com/gentleman-programming/gentleman-skills
- Category
- Frontend Development
- First seen
- Jun 3, 2026