mcpField
W
workflow-clean-code-angular

workflow-clean-code-angular

github.com/neogenzテスト・品質096 回インストール29 週間前に更新
リポジトリ

workflow-clean-code-angular について

指定範囲の Angular コードを監査・改善する Claude Code スキルです。アーキテクチャ、シグナルパターン、ViewModel 分離を確認し、専門領域ごとの分析から修正と検証まで進められます。

主な機能

  1. 01Angular のアーキテクチャと依存関係の確認
  2. 02シグナルと Store パターンの監査
  3. 03コンポーネント、テンプレート、スタイルの分析
  4. 04AI 生成コードの過剰な記述の検出
  5. 05クイック、詳細、敵対的レビュー
  6. 06修正の適用と品質検証

活用シーン

  1. 01機能ディレクトリの Angular コード監査
  2. 02main との差分のレビュー
  3. 03シグナルと ViewModel の問題の発見
  4. 04重要コードの詳細レビュー

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/neogenz/skills --skill workflow-clean-code-angular

インストール後、Claude Code で/workflow-clean-code-angularを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
evals.json
references/
ai-slop-detection.md
angular-anti-patterns.md
angular-architecture.md
angular-clean-code.md
angular-style-guide.md
testing-patterns.md
viewmodel-patterns.md
steps/
step-01-scan.md
step-02-apply.md
step-03-verify.md

詳細

対象範囲の Angular コードが、シニアデベロッパーが手作業で作り上げたコードの水準を満たすようにします。クリーンで明快であり、AI 生成コード特有の粗雑さがなく、適切なアーキテクチャ、正しいシグナルパターン、明確な ViewModel の分離を備えています。 これはリンターではありません。リンターは構文を検出します。このスキルが検出するのは**設計上の判断**です。シニアエンジニアだけがコードレビューで気づくような問題を見つけます。

シニアが作り上げたコードと AI 生成コードを分ける3つのポイント:

  1. 不要なものがない — 起こり得ない状況に対する防御的なチェック、利用箇所が1つしかない抽象化、コードの内容を言い換えるだけのコメントがない
  2. 適切な責務を適切な場所に置く — ストアはデータ変換を担い、コンポーネントは UI を調整し、テンプレートはバインドだけを行う
  3. パターンに一貫性がある — すべてのストアが同じ構造に従い、すべてのコンポーネントが同じ構成に従い、予想外の規約がない

<quick_start>

/clean-code-angular feature/budget/          # Standard audit
/clean-code-angular -a --deep feature/       # Deep audit, auto mode
/clean-code-angular --quick core/            # Quick surface scan
/clean-code-angular --slop --vm feature/     # Focus: AI slop + ViewModel
/clean-code-angular diff main                # Audit changes vs main
/clean-code-angular pending                  # Audit uncommitted changes

</quick_start>

フラグ説明
-a自動モード — 確認をスキップします
-eエコノミーモード — サブエージェントを使用せず、直接分析のみを行います
-s保存 — レポートを .claude/output/clean-code-angular/ に出力します
-r再開 — 前回の実行から続行します
--quick表層スキャンのみ(grep パターンを使用し、意味解析は行いません)
--deep全領域を対象にした詳細分析:AI 生成コード特有の粗雑さ + ViewModel + ファイル間分析を含みます
--archアーキテクチャ分析を強制します
--signalsシグナルパターン分析を強制します
--stylingスタイリング分析を強制します
--testingテスト分析を強制します
--slopAI 生成コード特有の粗雑さの検出を強制します
--vmViewModel/DataModel 分析を強制します
--adv敵対的レビュー — チームリードのレビュー後、悪魔の代弁者となるエージェントがすべての指摘を検証し、誤検出、見落とし、重大度の過大評価がないかを確認します
--ultra最大深度:5つのクラスターに15の専門エージェントを配置し、各クラスターにリードを置きます。さらに総括テックリードと敵対的レビューも加わります。重要なコードに対する究極の選択肢です。

デフォルトの深度(フラグなし):grep と主要ファイルの対象を絞った意味解析を行います。 --deep はすべての専門領域を有効にします。

``` SCAN ─────────────────► APPLY ─────────────► VERIFY │ │ │ ├─ Parse scope ├─ Load docs/refs ├─ Lint + type-check ├─ Launch specialists ├─ Apply fixes ├─ Run tests │ (up to 10 agents) │ (parallel agents) ├─ Team lead final ├─ Team lead review ├─ Team lead │ craftsman review ├─ Adversarial review │ coherence check ├─ Adversarial final │ (if --adv) └─ Track progress │ challenge (if --adv) └─ Consolidated issues └─ Commit ```

<agent_model>

エージェントのアーキテクチャ

このスキルは、フラグに応じてエージェント数を調整します。

モードエージェント数構成
エコノミー(-e)0直接ツールのみ。サブエージェントなし
標準リードに加えて3~10フラット:専門エージェント → チームリード
詳細(--deep)リードに加えて14単独エージェント8 + シグナル分析担当3 + AI 生成コードの粗雑さ分析担当3 → 合意形成 → チームリード
詳細 + 敵対的レビュー(--deep --adv)リードに加えて14 + 敵対的レビュー担当詳細分析 + 敵対的レビュー
ウルトラ(--ultra)15 + リード5 + 総括リード + 敵対的レビュー担当 = 225つのクラスター → 5人のクラスターリード → 総括テックリード → 敵対的レビュー
標準/詳細モード — フラット構成

最大10の領域特化型専門エージェントを並行して起動します。エージェント数は対象範囲の規模に応じて増減します。

対象範囲エージェント数対象領域
1~4ファイルリードに加えて3アーキテクチャ、Angular/シグナル、TypeScript/スタイリング
5~15ファイルリードに加えて5+ ストアパターン、コンポーネント設計
16~30ファイルリードに加えて7+ テンプレート、AI 生成コード特有の粗雑さ
31ファイル以上リードに加えて1010領域すべて
### 10 のドメイン
#ドメイン焦点
1アーキテクチャと依存関係レイヤー違反、機能間のインポート、依存関係の方向
2シグナルとリアクティビティeffect() の誤用、computed() の活用機会、linkedSignal()、クリーンアップ
3ストアのパターン6 セクションの構成、キャッシュ優先、楽観的更新、リソースの使用
4コンポーネント設計OnPush、責務、サイズ、input()/output()、inject()
5テンプレートの品質制御フロー、式の複雑さ、ラッパーの肥大化、アクセシビリティ
6TypeScript の品質any 型、# フィールド、最新の API、未使用コード
7スタイリング::ng-deep、Material M3 トークン、Tailwind v4、!important
8AI スロップ過剰な設計、不要なコメント、防御的な見せかけ、冗長な命名
9ViewModel とデータフローDataModel と ViewModel、変換の配置、重複した導出
10セキュリティ、パフォーマンス、コードの健全性XSS、回避策/ハック、設計上の問題、@defer、遅延読み込み

--testing、--deep、または --ultra が有効な場合、テストの品質も確認します。テスト専門エージェントは対象範囲の .spec.ts ファイルを読み込み、references/testing-patterns.md に照らして評価します。

Ultra モード — 多層クラスターアーキテクチャ

専任のクラスターリードが付く 5 つのクラスターに、15 の専門エージェントを編成します。各専門エージェントは、必要な参照ファイルだけを正確に読み込み、余計な情報を読み込みません。

クラスター 1:アーキテクチャ → アーキテクチャリード

エージェント焦点読み込むファイル
1aレイヤー違反、機能間のインポートreferences/angular-architecture.md
1bDI パターン、関数型インターセプター、プロバイダーreferences/angular-clean-code.md §3
1c遅延読み込み、ルーティング、@defer の境界references/angular-anti-patterns.md §19-20

クラスター 2:シグナルと状態 → リアクティビティリード

エージェント焦点読み込むファイル
2aシグナルのパターン、computed、effect、afterRenderEffectreferences/angular-clean-code.md §2
2bストアの構成、ミューテーション、リソース APIreferences/angular-clean-code.md §2 + §13
2cRxJS の適切な使い方とアンチパターン、Observable と Signal のブリッジreferences/angular-anti-patterns.md §2 + Valid RxJS table

クラスター 3:コード品質 → 品質リード

エージェント焦点読み込むファイル
3aTypeScript、型、最新の API(toSorted、structuredClone)references/angular-anti-patterns.md §6
3bAI スロップの検出(9 カテゴリーすべて)references/ai-slop-detection.md
3cエラー処理、catch の型指定、リソースのエラー状態references/angular-clean-code.md §13

クラスター 4:UI とテンプレート → フロントエンドリード

エージェント焦点読み込むファイル
4a制御フロー、@defer、テンプレート式references/angular-clean-code.md §4
4bスタイリング、アクセシビリティ、NgOptimizedImagereferences/angular-anti-patterns.md §7 + §20-21
4cパイプ、ViewModel の分離、フォーマットreferences/viewmodel-patterns.md + references/angular-clean-code.md §15

クラスター 5:テストとセキュリティ → セキュリティリード

エージェント焦点読み込むファイル
5aテストの品質、ハーネス、カバレッジreferences/testing-patterns.md
5bセキュリティ、回避策、ゾーンレスの違反references/angular-anti-patterns.md §8 + §15-16
5cSignal Forms、API の検証、フォームのパターンreferences/angular-clean-code.md §14 + §9

フロー:

15 specialists (parallel) → 5 cluster leads (parallel) → Grand Tech Lead → Adversarial
チームリード(Standard/Deep)

専門エージェントの作業完了後に起動します。上級 Angular アーキテクトが次の作業を行います。

  • すべての専門エージェントのレポートを、重複を排除した 1 つのリストに統合します
  • 実際のコードを読み、誤検知を取り除きます
  • 専門エージェント間の矛盾を解決します
  • どの専門エージェントも気づかなかった横断的な所見を追加します
  • 最終的な問題リストに優先順位を付けます
  • step-02 で修正の整合性を確認します
  • step-03 で職人の視点から最終レビューを行います
クラスターリード(Ultra)

各クラスターリードが受け取るのは、3人のスペシャリストの報告のみです。以下を行います。

  • 担当領域内の重複を排除します
  • スペシャリスト間の矛盾を解決します
  • 担当領域に固有の、複数の領域にまたがる所見を追加します
  • 担当領域に焦点を絞ったレポートを出力します(クラスターあたり最大10件の問題)
グランドテックリード(Ultra)

5人のクラスターリードのレポートをすべて受け取ります。以下の役割を担う、Angular のプリンシパルアーキテクトです。

  • すべてのクラスターのレポートを、1つの統合されたリストにまとめます
  • クラスター間の矛盾を解決します(例:「コアに移す」とするアーキテクチャと、「インライン化する」とする品質の見解)
  • クラスター間に共通するシステム的なパターンを特定します(例:「すべてのファイルで DI の問題が同じ」)
  • 技術的な深刻度だけでなく、ビジネスへの影響に基づいて優先順位を付けます
  • 問題を最大30件に制限し、それを超える場合は総数を記載します
  • 「システム全体の診断」セクションを追加します。問題のパターンの根本原因は何でしょうか?
敵対的レビュアー(--adv または --ultra)

チームリード/グランドリードの後に起動します。懐疑的なシニアエンジニアとして、以下を行います。

  • 各所見に異議を唱えます:「これは本当に誤りでしょうか?妥当なアーキテクチャ上の理由があるのではないでしょうか?」
  • 誤検出を探します:指摘された問題ごとに実際のコードを読み、見落とされたコンテキストがないか確認します
  • 見落とされた問題を探します:対象範囲内のすべてのファイルを読み、すべてのスペシャリストとリードが見落とした問題を探します
  • 深刻度を問い直します:「これは本当に重大でしょうか、それとも重要なだけでしょうか?本番環境のユーザーが気づくでしょうか?」
  • RxJS の誤検出を確認します:有効な RxJS パターンがシグナルのアンチパターンとして指摘されていないか確認します
  • Angular のバージョンに関する前提を確認します:推奨事項が Angular 21 以降に合っているか確認します
  • プロジェクトプロファイルとの整合性を確認します:所見が {project_profile} に記載されたプロジェクトの規約に反していないか確認します

出力:リードの所見に対する格上げ、格下げ、削除、追加をまとめた修正表。

</agent_model>

<state_variables>

変数型説明
{task_description}string分析対象の範囲
{task_id}stringケバブケースの識別子
{auto_mode}boolean確認を省略します
{economy_mode}booleanサブエージェントを使用しません
{save_mode}booleanレポートを保存します
{depth}quick / standard / deep分析の深さ
{force_*}booleanドメインごとの強制フラグ
{scoped_files}string[]対象範囲内のファイル
{issues}array統合された問題リスト
{workspace_path}stringangular.json へのパス
{agent_count}number起動するスペシャリストの数
{adversarial_mode}booleanチームリードの後に敵対的レビューを実行します
{ultra_mode}boolean22エージェントによる多層アーキテクチャ全体を使用します
{project_profile}object検出されたプロジェクトの規約、ライブラリ、アーキテクチャ上の決定事項。誤検出の除外に使用します

</state_variables>

<reference_files>

ファイル読み込むタイミング
references/angular-anti-patterns.md常時(スキャン用チェックリスト)
references/angular-clean-code.md常時(正しいパターン)
references/angular-style-guide.md常時(Angular の公式規約)
references/angular-architecture.mdアーキテクチャ上の問題がある場合、または --arch
references/ai-slop-detection.mdDeep モード、--slop
references/viewmodel-patterns.mdDeep モード、--vm
references/testing-patterns.mdテストの問題がある場合、または --testing

</reference_files>

<entry_point>

steps/step-01-scan.md を読み込みます

</entry_point>

<step_files>

ステップファイル目的
01step-01-scan.md対象範囲を解析し、スペシャリストを起動して、チームリードが統合します
02step-02-apply.mdドキュメントを読み込み、修正を適用し、チームリードが一貫性を確認します
03step-03-verify.md品質ゲート、クラフツマンレビュー、コミット

</step_files> <execution_rules>

  • スキャンの前にプロジェクトのコンテキストを把握します — CLAUDE.md、package.json、angular.json、ESLint の設定を読み、{project_profile} を構築します
  • すべての指摘を {project_profile} に照らして判断します — 文書化されたプロジェクトの規約に沿うパターンを指摘してはいけません
  • 一度に 1 ステップずつ読み込みます
  • スコープの規模に応じてエージェント数を調整します(エコノミーモード = エージェント 0、直接ツールのみ)
  • パターン検出には Grep ツールを使用します(bash grep は使用しません)
  • スコープを意識します:指定されたスコープ内のファイルのみを変更します
  • すべての指摘に file:line の参照が必要です
  • すべての修正に出典の引用が必要です
  • チームリードはスキャン後と適用後にレビューします </execution_rules>

<success_criteria> このワークフローの完了後、スコープ内のコードはシニア Angular 開発者が手作業で書いたかのような状態になります:

  • アーキテクチャ違反がゼロ
  • 全体を通して最新のシグナルパターンを採用
  • ストアは適切な ViewModel セレクターを備えた 6 セクション構成に従う
  • AI らしい粗雑さがない — 不要なコメント、抽象化、防御的なコードがない
  • 明確に分離された ViewModel — ストアは変換を担い、コンポーネントはバインドし、テンプレートはシンプルなまま
  • スコープ内のすべてのファイルでパターンが一貫
  • 品質チェックに合格(lint + type-check + format)
  • テストに合格
  • --adv の場合:敵対的レビューで見落としや誤検出が見つからない </success_criteria>

コメント