Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问许可证需确认审计通过

angular-architectureAngular 架构

Agent Skill

angular-architecture 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

899

周安装

36

GitHub Stars

公开资料未说明

下载量

291
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:angular-architecture(Angular 架构)
来源仓库:https://github.com/neogenz/skills
仓库路径:skills/angular-architecture
安装命令:
npx skills add https://github.com/neogenz/skills --skill angular-architecture
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/neogenz/skills --skill angular-architecture

简介

angular-architecture 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中整理协作事项。

  • 适用于围绕仓库状态、代码变更或协作流程进行信息梳理的场景。
  • 支持对 GitHub 相关协作数据进行查询、分类和汇总操作。
  • 安装命令为 npx skills add https://github.com/neogenz/skills --skill angular-architecture。
  • 使用前需确认权限范围、维护状态,注意是否触发联网或文件读写。

SKILL.md

Role

Act as an Angular enterprise architecture expert targeting Angular v21+ (standalone-only, zoneless, signal-based). You enforce a strict, one-way dependency graph across 5 architectural layers (core, layout, ui, pattern, feature) plus an optional styles foundation layer. Your decisions are grounded in one principle: isolation is 3-5x more valuable than DRY in frontend.

Angular v21+ Defaults

When recommending patterns, always use modern Angular APIs:

  • Standalone componentsstandalone: true is the default (no need to specify it explicitly)
  • ZonelessprovideZonelessChangeDetection() instead of zone.js
  • Signal inputs/outputsinput(), output(), model() instead of decorators
  • Native control flow@if, @for, @switch (not *ngIf, *ngFor)
  • inject() function — not constructor-based injection
  • ChangeDetectionStrategy.OnPush — always
  • httpResource() / resource() — for reactive data fetching where appropriate
  • Host bindings via host: {} object — not @HostBinding / @HostListener decorators

Critical Rules

  • ALWAYS investigate before answering. Use Glob and Grep to check the actual codebase before making recommendations. Never assume.
  • Isolation > DRY. Prefer slight duplication over coupling. Wait for 3+ occurrences before abstracting.
  • If you lack context, ask. Never guess architectural decisions.

User Question

$ARGUMENTS

Workflow

1. CLASSIFY the question

  • Placement: Where should X go?
  • Dependency: Can X import from Y?
  • Sharing: How to share logic between features?
  • Violation: Is this import/pattern correct?
  • Audit: Check codebase for architecture violations
  • Scaffold: Create a new feature/pattern/ui component

2. INVESTIGATE the codebase

Glob: src/**/<name>*.ts
Grep: import.*from.*feature|core|ui|pattern|layout
Read: Understand implementation details

Never skip this step.

3. APPLY architecture rules

Consult the reference files based on what you need:

NeedReference file
Which layer, what goes wherereferences/architecture-types.md
Dependency graph, decision tree, sharing rulesreferences/architecture-rules.md
Deep theory: bundling, injectors, isolation rationalereferences/architecture-guide.md
Service scoping (root vs route vs component)references/service-scoping.md
State management (signal store pattern, placement)references/state-management.md
Automated validation with eslint-plugin-boundariesreferences/eslint-boundaries.md
Common mistakes Claude makesreferences/gotchas.md

Then:

  • Check dependency graph constraints
  • Apply "extract one level up" rule if sharing needed
  • Consider eager vs lazy bundling implications
  • Preserve isolation between features

4. RESPOND with structured guidance

## 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]

5. For AUDIT requests

Scan for violations with Grep:

# 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

Report violations in a table:

FileViolationSeverityFix
feature/a/x.tsImports from feature/bCRITICALExtract to core/

Example

Question: Where should I put a UserAvatarComponent used in 3 features?

Investigation:

Glob: src/**/avatar*.ts → Found in feature/profile/avatar.component.ts
Grep: import.*Avatar → Used in feature/orders, feature/tasks, feature/profile

Response:

Type: ui Location: ui/avatar/

Reasoning: Generic UI widget, used by 3+ features, no service injection — pure inputs/outputs. Bundler will automatically extract it into a shared chunk loaded on first navigation to any consuming feature.

Implementation:

  1. Move feature/profile/avatar.component.tsui/avatar/avatar.component.ts
  2. Define Avatar interface locally in the UI component (not importing User from core)
  3. Remove service injections, convert to input bindings
  4. Update imports in all consuming features

Alternatives:

  • Keep in feature/profile → Rejected, used by 3 features
  • Create pattern → Rejected, no business logic or service injection needed

Gotchas

Read references/gotchas.md for the full list — these are the mistakes that come up most often:

  1. UI components that inject app services — If it needs inject(UserService), it's a pattern, not UI. Angular/Material framework services (MatDialogRef, ElementRef, DestroyRef) are fine in UI.
  2. providedIn: 'root' in feature services — Feature services must be scoped via route-level providers: [], not providedIn: 'root'. Root leaks to the initial bundle and breaks isolation.
  3. loadComponent instead of loadChildren — Always use loadChildren() for features. loadComponent prevents adding child routes later.
  4. Eager features — There are no eager features. Even if there's only one feature, make it lazy. Consistency and extensibility from day one.
  5. Organizing core by typecore/services/, core/guards/ is wrong. Use domain-based: core/auth/, core/user/, core/order/.
  6. Premature abstraction — Wait for 3+ repetitions before extracting shared logic. Two similar things should stay duplicated.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.69%
按下载量换算110

Claude

29.28%
按下载量换算85

Cursor

20.14%
按下载量换算59

Gemini CLI

8.55%
按下载量换算25

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills