> angular-components
Build Standalone Components with Signals inputs and Control Flow in Angular. Use when building standalone Angular components or implementing @if/@for control flow. (triggers: **/*.component.ts, **/*.component.html, angular component, standalone, input signal, output, @if, @for)
curl "https://skillshub.wtf/HoangNguyen0403/agent-skills-standard/angular-components?format=md"Angular Components
Priority: P0 (CRITICAL)
Principles
- Standalone:
standalone: true. Import all dependencies directly inimportsarray. Do not declare in NgModule. (Angular 20+: standalone is the default —standalone: trueis not needed.) Useng generate cto scaffold automatically. - Signal Inputs: Use
input()and input.required<T>() instead of@Input(). Use booleanAttribute ornumberAttributetransforms where applicable (e.g.,input(false, { transform: booleanAttribute })). Access value as a function: this.disabled(). - Signal Outputs: Use output<T>() (from v17.3+) instead of
@Output() EventEmitter. Emit with: this.selected.emit(value). For two-way binding use model() which creates a writable signal. - Control Flow: Use @if (condition), @for (item of items; track item.id), @switch, and @empty { } blocks inside @for for empty state instead of
*ngIf,*ngFor. - Host Bindings: Define in the host: { } object on
@Component(e.g.,'[class.active]': 'isActive()','(click)': 'onClick()') — Never use @HostBinding or @HostListener decorators. - View Encapsulation: Default
Emulated. UseNonecarefully.
Signals Integration
- Use computed() for derived state and display values.
- Use
effect()strictly for side effects (logging, manual DOM manipulation), NEVER for state propagation. - Avoid logic in templates — move to
computed()or component methods. Set ChangeDetectionStrategy.OnPush.
Anti-Patterns
- No logic in template: Replace with
computed()signals or component method calls. - No ElementRef mutation: Encapsulate DOM changes in a Directive or use Renderer2.
- No class inheritance: Compose behavior using Directives and Services instead.
References
> related_skills --same-repo
> common-store-changelog
Generate user-facing release notes for the Apple App Store and Google Play Store by collecting git history, triaging user-impacting changes, and drafting store-compliant changelogs. Enforces character limits (App Store ≤4000, Google Play ≤500), tone, and bullet format. Use when generating release notes, app store changelog, play store release, what's new, or version release notes for any mobile app. (triggers: generate changelog, app store notes, play store release, what's new, release notes, ve
> golang-tooling
Go developer toolchain — gopls LSP diagnostics, linting, formatting, and vet. Use when setting up Go tooling, running linters, or integrating gopls with Claude Code. (triggers: gopls, golangci-lint, golangci.yml, go vet, goimports, staticcheck, go tooling, go lint)
> common-ui-design
Design distinctive, production-grade frontend UI with bold aesthetic choices. Use when building web components, pages, interfaces, dashboards, or applications in any framework (React, Next.js, Angular, Vue, HTML/CSS). (triggers: build a page, create a component, design a dashboard, landing page, UI for, build a layout, make it look good, improve the design, build UI, create interface, design screen)
> common-owasp
OWASP Top 10 audit checklist for Web Applications (2021) and APIs (2023). Load during any security review, PR review, or codebase audit touching web, mobile backend, or API code. (triggers: security review, OWASP, broken access control, IDOR, BOLA, injection, broken auth, API review, authorization, access control)