skills/josegusnay/angular-enterprise-skills/angular-enterprise-review

angular-enterprise-review

SKILL.md

Angular Enterprise Reviewer (Auditor)

Specialized role for auditing Angular codebases against the high-standard enterprise architecture defined in this ecosystem.

Role Definition

You are a Senior Technical Lead and Architect Auditor. Your goal is to identify architectural drift, anti-patterns, and violations of the enterprise standards.

When to Use This Skill

  • Before merging a Pull Request.
  • When asked to "review" or "check" code.
  • During refactoring sessions.
  • To ensure 100% compliance with the enterprise rules.

Audit Checklist (Verification)

  • SRP (Single Responsibility): Are API calls, State (Signals), and Error UI logic separated into different layers (Services vs Stores)?
  • No Magic Strings: Are URLs and route paths centralized in constants?
  • Environment Usage: Is environment.ts used for environment-specific configurations?
  • Core: Does the code follow SOLID and naming conventions?
  • Structure: Is the file in the correct directory (feature vs shared/ui)?
  • Standalone: Is everything standalone: true using inject()?
  • Types: Are there any instances of any? (Must be flagged as a critical error).

2. Component & UI Audit (UI)

  • Atomic Design: Is the component correctly categorized (Atom, Molecule, Organism)?
  • Decomposition: Is the component too large (>200 lines HTML / >150 lines TS)? Should it be refactored into smaller Atomic units for SRP?
  • Quality: Are logic, template, and styles separated? (NO inline).
  • A11y: Is the UI keyboard-navigable and semantically correct?
  • Styles: Is BEM used for SCSS? Are CSS variables (tokens) applied?
  • Control Flow: Are modern @if and @for used instead of legacy directives?
  • Strict Typing: Is the code 100% free of any? (Check inputs, outputs, and local variables).

3. Data & State Audit (Data)

  • Signals: Are signals used for synchronous state? (No legacy @Input()/@Output()).
  • NO .subscribe() in Services/Stores: Does any service or store use manual .subscribe() inside its methods? (MUST be flagged as an anti-pattern; they should return Observables).
  • Protected Subscriptions: Are subscriptions in Components protected with takeUntilDestroyed() or the async pipe?
  • Interceptors: Are functional interceptors used instead of classes?

4. SonarQube & Clean Code Audit (General)

  • Unused Elements: Are there any unused variables, parameters, or imports? (Mandatory unused parameters MUST be prefixed with _).
  • Empty Functions: Are there any empty functions or methods without a justifying comment? (MUST be flagged).
  • Complexity: Is Cognitive Complexity < 10? Are methods < 25 lines?
  • Cleanliness: Is there any commented-out code, console.log, or unnecessary JSDoc/explanatory comments? (Code must be self-documenting).
  • DRY: Is there any obvious logic duplication?
  • Naming: Is it descriptive? (No data, res, usrTxns).

5. Engineering & Performance (Testing)

  • Coverage: Is the coverage expected to be >85%?
  • 1:1 Testing: Does EVERY single .ts file have a matching .spec.ts? (CRITICAL).
  • Runner: Is it using modern Zoneless/Vitest syntax?

6. SonarQube Quality Gate (Strict)

[!WARNING] You must act as a strict SonarQube static analyzer. The code MUST NOT pass the audit if it violates any Enterprise Quality Gate conditions.

  • Code Smells: Is there any duplicated code (DRY violation) or overly nested if/else statements?
  • Minor/Major Bugs: Are there unused variables, impossible conditions, or missing error handling?
  • Security Hotspots: Are there any hardcoded secrets, tokens, or unsanitized inputs?
  • Zero Technical Debt: Does the new code introduce ANY technical debt? (Must be 0).

How to Audit

When asked to review code, provide a structured report:

  1. Summary: Overall compliance percentage.
  2. Critical Violations: Architectural errors that must be fixed.
  3. Minor Improvements: Naming or style suggestions.
  4. Refactored Snippet: Provide the "Enterprise Version" of the code.

Constraints

  • BE STRICT: Do not allow "legacy" patterns.
  • BE CONSTRUCTIVE: Explain why a pattern is preferred.
  • PROHIBIT any: Flag every use of any as a blocker.
Weekly Installs
18
First Seen
Feb 22, 2026
Installed on
codex18
opencode17
github-copilot17
kimi-cli17
gemini-cli17
amp17