angular-architecture
Standardizes the structure and organization of Angular applications.
Install
mkdir -p .claude/skills/angular-architecture && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14670" && unzip -o skill.zip -d .claude/skills/angular-architecture && rm skill.zipInstalls to .claude/skills/angular-architecture
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Angular architecture: Scope Rule, project structure, file naming, style guide. Trigger: When structuring Angular projects or deciding where to place components.Key capabilities
- →Determine component placement based on usage
- →Structure Angular projects with feature and shared modules
- →Enforce file naming conventions without suffixes
- →Apply Angular style guide principles
- →Override official style guide recommendations when necessary
- →Generate new Angular projects, components, services, and guards
How it works
The skill enforces Angular architecture principles, including the 'Scope Rule' for component placement, project structure, file naming conventions, and style guide adherence, to ensure consistency.
Inputs & outputs
When to use angular-architecture
- →Structuring Angular apps
- →Placing shared components
- →Organizing feature modules
About this skill
The Scope Rule (REQUIRED)
"Scope determines structure" - Where a component lives depends on its usage.
| Usage | Placement |
|---|---|
| Used by 1 feature | features/[feature]/components/ |
| Used by 2+ features | features/shared/components/ |
Example
features/
shopping-cart/
shopping-cart.ts # Main component = feature name
components/
cart-item.ts # Used ONLY by shopping-cart
cart-summary.ts # Used ONLY by shopping-cart
checkout/
checkout.ts
components/
payment-form.ts # Used ONLY by checkout
shared/
components/
button.ts # Used by shopping-cart AND checkout
modal.ts # Used by multiple features
Project Structure
src/app/
features/
[feature-name]/
[feature-name].ts # Main component (same name as folder)
components/ # Feature-specific components
services/ # Feature-specific services
models/ # Feature-specific types
shared/ # ONLY for 2+ feature usage
components/
services/
pipes/
core/ # App-wide singletons
services/
interceptors/
guards/
app.ts
app.config.ts
routes.ts
main.ts
File Naming (REQUIRED)
No .component, .service, .model suffixes. The folder tells you what it is.
✅ user-profile.ts
❌ user-profile.component.ts
✅ cart.ts
❌ cart.service.ts
✅ user.ts
❌ user.model.ts
Style Guide
What We Follow (from official docs)
inject()over constructor injectionclassandstylebindings overngClass/ngStyleprotectedfor template-only membersreadonlyfor inputs, outputs, queries- Name handlers for action (
saveUser) not event (handleClick) - Keep lifecycle hooks simple - delegate to well-named methods
- One concept per file
@Component({...})
export class UserProfileComponent {
// 1. Injected dependencies
private readonly userService = inject(UserService);
// 2. Inputs/Outputs
readonly userId = input.required<string>();
readonly userSaved = output<User>();
// 3. Internal state
private readonly _loading = signal(false);
readonly loading = this._loading.asReadonly();
// 4. Computed
protected readonly displayName = computed(() => ...);
// 5. Methods
save(): void { ... }
}
What We Override
| Official Says | We Do | Why |
|---|---|---|
user-profile.component.ts | user-profile.ts | Redundant - folder tells context |
user.service.ts | user.ts | Same |
Commands
# New project
ng new my-app --style=scss --ssr=false
# Component in feature
ng g c features/products/components/product-card --flat
# Service in feature
ng g s features/products/services/product --flat
# Guard in core
ng g g core/guards/auth --functional
Resources
When not to use it
- →When not working with Angular projects
- →When the task does not involve structuring, naming, or styling Angular components
- →When the project does not adhere to the 'Scope Rule'
Prerequisites
Limitations
- →The skill enforces a specific Angular architecture and style guide.
- →The 'Scope Rule' is a required principle.
- →File naming conventions prohibit suffixes like `.component`.
How it compares
This skill provides a prescriptive Angular architecture, including specific overrides to official style guides and a 'Scope Rule' for component placement, unlike general Angular documentation.
Compared to similar skills
angular-architecture side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| angular-architecture (this skill) | 0 | 6mo | Review | Intermediate |
| create-mfe | 0 | 2mo | Review | Advanced |
| angular | 100 | 4mo | Review | Advanced |
| angular-state-management | 8 | 4mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
create-mfe
chrisjwalk
>
angular
sickn33
Modern Angular (v20+) expert with deep knowledge of Signals, Standalone Components, Zoneless applications, SSR/Hydration, and reactive patterns. Use PROACTIVELY for Angular development, component architecture, state management, performance optimization, and migration to modern patterns.
angular-state-management
sickn33
Master modern Angular state management with Signals, NgRx, and RxJS. Use when setting up global state, managing component stores, choosing between state solutions, or migrating from legacy patterns.
angular-ui-patterns
sickn33
Modern Angular UI patterns for loading states, error handling, and data display. Use when building UI components, handling async data, or managing component states.
angular-modernization
bitwarden
Modernizes Angular code such as components and directives to follow best practices using both automatic CLI migrations and Bitwarden-specific patterns. YOU must use this skill when someone requests modernizing Angular code. DO NOT invoke for general Angular discussions unrelated to modernization.
technology-stack
ag-grid
Technology choices and architectural constraints for AG Grid. Use when choosing technologies, adding dependencies, or understanding zero-dependency requirements.