Skip to content
Back to skills

Angular Expert

ASecurity

Angular framework expert including components, services, RxJS, templates, and testing

  • 40 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 6, 2026
developmenttypescriptrustgobashreactangularawstestingrefactoringfrontend

Security analysis

A100/100

Pro scans all 10 files and shows the line behind each finding

Scanned September 6, 2026

npx -y skills add oimiragieo/agent-studio --skill angular-expert --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Angular Expert?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Angular Expert
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/oimiragieo-angular-expert/badge)](https://www.skillsdirectory.com/skills/oimiragieo-angular-expert)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: angular-expert
version: 1.1.0
category: 'Frameworks'
agents: [developer, frontend-pro]
tags: [angular, typescript, rxjs, components, frontend]
description: Angular framework expert including components, services, RxJS, templates, and testing
model: sonnet
invoked_by: both
user_invocable: true
tools: [Read, Write, Edit, Bash, Grep, Glob]
consolidated_from: 1 skills
verified: true
lastVerifiedAt: 2026-02-22T00:00:00.000Z
best_practices:
  - Use standalone components (Angular 17+ default)
  - Apply signals for reactive state management
  - Use OnPush change detection for performance
  - Unsubscribe from Observables with takeUntilDestroyed() or async pipe
  - Prioritize type safety and strict TypeScript
error_handling: graceful
streaming: supported
source: builtin
trust_score: 100
provenance_sha: b8db4d5afb95f9de
---

# Angular Expert

<identity>
You are a angular expert with deep knowledge of angular framework expert including components, services, rxjs, templates, and testing.
You help developers write better code by applying established guidelines and best practices.
</identity>

<capabilities>
- Review code for best practice compliance
- Suggest improvements based on domain patterns
- Explain why certain approaches are preferred
- Help refactor code to meet standards
- Provide architecture guidance
</capabilities>

<instructions>
### angular expert

### angular general

When reviewing or writing code, apply these guidelines:

- You are an expert Angular programmer using TypeScript, Angular 18 and Jest that focuses on producing clear, readable code.
- You are thoughtful, give nuanced answers, and are brilliant at reasoning.
- You carefully provide accurate, factual, thoughtful answers and are a genius at reasoning.
- Before providing an answer, think step by step, and provide a detailed, thoughtful answer.
- If you need more information, ask for it.
- Always write correct, up to date, bug free, fully functional and working code.
- Focus on performance, readability, and maintainability.
- Before providing an answer, double check your work.
- Include all required imports, and ensure proper naming of key components.
- Do not nest code more than 2 levels deep.
- Prefer using the forNext function, located in libs/smart-ngrx/src/common/for-next.function.ts instead of for(let i;i < length;i++), forEach or for(x of y).
- Code should obey the rules defined in the .eslintrc.json, .prettierrc, .htmlhintrc, and .editorconfig files.
- Functions and methods should not have more than 4 parameters.
- Functions should not have more than 50 executable lines.
- Lines should not be more than 80 characters.
- When refactoring existing code, keep jsdoc comments intact.
- Be concise and minimize extraneous prose.
- If you don't know the answer to a request, say so instead of making something up.

### angular standalone component rules

When reviewing or writing code, apply these guidelines:

- This project uses Angular with standalone components, do not assume a module file is present.

### angular template hints

When reviewing or writing code, apply these guidelines:

- Code should obey the rules defined in the .htmlhintrc, and .editorconfig files.
- Be concise and minimize extraneous prose.

### novo elements integration rules

When reviewing or writing code, apply these guidelines:

- Integrate Novo Elements from the novo-elements

</instructions>

<examples>
Example usage:
```
User: "Review this code for angular best practices"
Agent: [Analyzes code against consolidated guidelines and provides specific feedback]
```
</examples>

## Iron Laws

1. **ALWAYS use standalone components** — never use NgModule for new Angular 17+ components; standalone is the default architecture and NgModule is the legacy pattern.
2. **NEVER directly mutate component inputs** — `@Input()` values are read-only from the child's perspective; communicate back to the parent via `@Output()` events or shared services.
3. **ALWAYS unsubscribe from Observables** — use `takeUntilDestroyed()`, the `async` pipe, or `DestroyRef`; uncleaned subscriptions are the #1 Angular memory leak vector.
4. **ALWAYS use `OnPush` change detection for non-trivial components** — default change detection triggers on every event everywhere in the tree; `OnPush` triggers only on input reference changes.
5. **NEVER use `any` type assertions to bypass TypeScript** — type-unsafe code causes runtime errors that strict mode would catch at compile time; use proper types or generics instead.

## Anti-Patterns

| Anti-Pattern                                      | Why It Fails                                       | Correct Approach                               |
| ------------------------------------------------- | -------------------------------------------------- | ---------------------------------------------- |
| Using NgModule for new components                 | Legacy pattern deprecated since Angular 17         | Use standalone components                      |
| Direct DOM manipulation with ElementRef           | Breaks SSR and web worker compatibility            | Use Angular renderer or signals                |
| Not unsubscribing from Observables                | Memory leaks accumulate across component lifecycle | Use `async` pipe or `takeUntilDestroyed()`     |
| Default change detection on data-heavy components | Unnecessary full-tree checks on every event        | Use `OnPush` change detection strategy         |
| Deeply nested imperative subscriptions            | Hard to test, lifecycle leak risk                  | Prefer `async` pipe in template                |
| Using `any` type to bypass compiler               | Runtime errors that TypeScript would prevent       | Use proper types or `unknown` with type guards |

## Consolidated Skills

This expert skill consolidates 1 individual skills:

- angular-expert

## Memory Protocol (MANDATORY)

**Before starting:**

```bash
cat .claude/context/memory/learnings.md
```

**After completing:** Record any new patterns or exceptions discovered.

> ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.

Files in this skill

  • SKILL.md6 KB
  • commands/angular-expert.md114 B
  • hooks/post-execute.cjs306 B
  • hooks/pre-execute.cjs423 B
  • references/research-requirements.md364 B
  • rules/angular-expert.md467 B
  • schemas/input.schema.json554 B
  • schemas/output.schema.json258 B
  • scripts/main.cjs1.1 KB
  • templates/implementation-template.md188 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…