mcpbeat

Angular Directives Pipes

hoangnguyen0403/angular-directives-pipes

Build custom Angular attribute directives, HostDirectives, and pure pipes. Use for Angular directive or pipe implementation, including custom attribute directives; defer React/CSS middleware and unrelated framework work.

2k tokens
context cost
the whole folder, loaded on every use
3
files
instructions only
0
copies elsewhere
how many repositories repackaged it
536
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/HoangNguyen0403/agent-skills-standard --skill angular-directives-pipes

What comes with it

5 392 bytes besides the instruction
evals/evals.json
references/composition.md

The instruction itself

7 sections, as written by the author

Directives & Pipes

Priority: P2 (MEDIUM)

Principles

  • Composition: Use hostDirectives: [TooltipDirective] on @Component or @Directive decorators 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 with transform(value: string, limit = 50) method. Pipes must pure: true (default) to cache results by input reference — Angular only re-runs them when reference changes. 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 standalone. not declare in NgModule; import directly in component imports array. Use ng generate directive to scaffold.

Anti-Patterns

  • No @HostBinding/@HostListener: Use host: {} object in @Directive decorator — not with @HostBinding or @HostListener (e.g., '(mouseenter)': 'show()', '[attr.aria-label]': 'text()') — these decorators deprecated patterns.
  • No impure pipes for static transforms: Keep pure: true (default); use async pipe for Observables.
  • No structural directives for conditionals: Use native @if/@for/@switch block syntax.

References

  • Composition

Canonical response anchors

When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:

  • cache results
  • host: {} object
  • imports array
  • not set pure: false
  • not with @HostBinding

How to use it

Copy the folder

Take hoangnguyen0403/angular-directives-pipes from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.