> angular-directives-pipes
Compose HostDirectives and Pure Pipes in Angular. Use when creating attribute directives with HostDirectives or writing pure pipes in Angular. (triggers: **/*.directive.ts, **/*.pipe.ts, hostDirectives, PipeTransform, pure)
curl "https://skillshub.wtf/HoangNguyen0403/agent-skills-standard/angular-directives-pipes?format=md"Directives & Pipes
Priority: P2 (MEDIUM)
Principles
- Composition: Use hostDirectives: [TooltipDirective] on
@Componentor@Directivedecorators to compose behaviors without inheritance. Expose inputs/outputs via hostDirectives: [{ directive: TooltipDirective, inputs: ['text'] }]. - Pure Pipes: Decorate with
@Pipe({ name: 'truncate', standalone: true, pure: true }). Implement PipeTransform withtransform(value: string, limit = 50)method. Pipes must be pure: true (default) to cache results by input reference — Angular only re-runs them when the reference changes. Do not set pure: false unless handling Observables/Arrays that mutate. - Directive Logic: Encapsulate reusable DOM manipulation or behavioral logic in standalone: true Directives (e.g., selector: '[appHighlight]'). Inject ElementRef/Renderer2 for DOM access.
Guidelines
- Signal Inputs: Directives and Pipes support signal inputs.
- Standalone: All Pipes and Directives must be standalone. Do not declare in NgModule; import directly in component imports array. Use ng generate directive to scaffold.
Anti-Patterns
- No @HostBinding/@HostListener: Use the host: {} object in the
@Directivedecorator — not with @HostBinding or @HostListener (e.g., '(mouseenter)': 'show()', '[attr.aria-label]': 'text()') — these decorators are deprecated patterns. - No impure pipes for static transforms: Keep
pure: true(default); useasyncpipe for Observables. - No structural directives for conditionals: Use native
@if/@for/@switchblock syntax.
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)