Loading...
Loading...
This skill should be used when the user asks "where should I put this", "can X import from Y", "Angular folder structure", mentions feature isolation, lazy loading placement, dependency violations, architecture audit, circular dependency, import cycle, barrel file, bundle size, initial load performance, signal store placement, state management, or when creating/moving Angular components, services, or modules between folders. Also use when reviewing PRs for architectural compliance, scaffolding new features, or setting up eslint-boundaries. Angular enterprise architecture advisor for placement decisions, dependency rules, isolation patterns, and architectural verification.
npx skill4agent add neogenz/skills angular-architecturestandalone: trueprovideZonelessChangeDetection()input()output()model()@if@for@switch*ngIf*ngForinject()ChangeDetectionStrategy.OnPushhttpResource()resource()host: {}@HostBinding@HostListenerGlobGrepGlob: src/**/<name>*.ts
Grep: import.*from.*feature|core|ui|pattern|layout
Read: Understand implementation details| Need | Reference file |
|---|---|
| Which layer, what goes where | |
| Dependency graph, decision tree, sharing rules | |
| Deep theory: bundling, injectors, isolation rationale | |
| Service scoping (root vs route vs component) | |
| State management (signal store pattern, placement) | |
| Automated validation with eslint-plugin-boundaries | |
| Common mistakes Claude makes | |
## Recommendation
**Type**: [core | layout | ui | pattern | feature]
**Location**: `<path>/`
### Reasoning
- [Why this type]
- [Dependency implications]
- [Bundling implications]
### Implementation
- [Specific steps]
### Alternatives Considered
- [Other options and why not chosen]# Feature importing from sibling feature
Grep: import.*from.*['"](@feature|\.\.\/\.\.\/) in each feature/ folder
# UI importing from core
Grep: import.*from.*['"]@core in ui/ folder
# Core importing from feature
Grep: import.*from.*['"]@feature in core/ folder
# Feature services with providedIn: 'root'
Grep: providedIn.*root in feature/ folder| File | Violation | Severity | Fix |
|---|---|---|---|
| Imports from | CRITICAL | Extract to |
Glob: src/**/avatar*.ts → Found in feature/profile/avatar.component.ts
Grep: import.*Avatar → Used in feature/orders, feature/tasks, feature/profileui/avatar/feature/profile/avatar.component.tsui/avatar/avatar.component.tsAvatarUserreferences/gotchas.mdinject(UserService)MatDialogRefElementRefDestroyRefprovidedIn: 'root'providers: []providedIn: 'root'loadComponentloadChildrenloadChildren()loadComponentcore/services/core/guards/core/auth/core/user/core/order/