analyzer-config について
.NET リポジトリのアナライザー設定を扱うコーディングエージェント向けスキルです。ルールの方針をルートの `.editorconfig` に集約し、計画、反復レビュー、検証を通じて具体的な変更を行います。
主な機能
- 01設定作業の計画と反復
- 02アナライザー重大度の一元管理
- 03ルート `.editorconfig` の作成
- 04MSBuild とエディター設定の分離
- 05ビルドと最終検証
活用シーン
- 01リポジトリにルート `.editorconfig` を作成
- 02アナライザールールの管理元を明確化
- 03重大度設定の競合を解消
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ managedcode/ dotnet-skills --skill analyzer-configインストール後、Claude Code で/analyzer-configを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
manifest.jsonreferences/analyzer-config.mdrules.mdtemplate.md詳細
.NET アナライザー構成
対象となるケース
- リポジトリのルートに
.editorconfigが必要な場合 - アナライザーの重大度やスタイルの管理場所が不明確な場合
- ルール構成の信頼できる唯一の情報源をチームが求めている場合
価値
- コード、ドキュメント、構成、テスト、CI、レビュー成果物など、具体的なプロジェクト差分を作成します
- 明示的な計画、検証、最終確認のスキルによって曖昧さを減らします
- 再利用可能なプロジェクトのコンテキストを残し、今後の作業をより迅速かつ安全にします
使用しないケース
- 構成を変更せずにアナライザーを選定する場合
- 構成の管理場所について検討せず、フォーマットのみを実行する場合
入力
- 最も近い
AGENTS.md - 現在の
.editorconfig Directory.Build.propsによる上書き設定
クイックスタート
- 最も近い
AGENTS.mdを読み、対象範囲と制約を確認します。 - 成果が許容できるものになるまで、このスキルの
Workflowに従ってRalph Loopを実行します。 - 具体的な成果物と検証の証拠を含めて、
Required Result Formatに従って返します。
ワークフロー
root = trueを指定した、リポジトリルートの.editorconfigを1つ用意することを優先します。- より厳格なルール、生成コードの異なる扱い、テストやレガシーコードに対する異なるポリシーなど、サブツリーに明確なスコープ上の目的がある場合は、ネストした
.editorconfigファイルを追加します。 - 重大度は IDE の設定に分散させず、
.editorconfigに記述します。 - 作成するファイルは、独自の「.NET 版」ではなく、正規の EditorConfig 形式にします。
- ファイル名は小文字の
.editorconfig - プリアンブルに
root = true - インラインコメントなし
- glob にはスラッシュを使用
- ファイル名は小文字の
EnableNETAnalyzersのような一括切り替え設定は.editorconfigではなく、MSBuild ファイルに記述します。.globalconfigは例外的なケースとして扱い、通常のリポジトリ構成にはしません。
未設定の場合の初期設定
アナライザー構成が求められているものの、まだ構成されていない場合:
- 現在の状態を確認します。
rg --files -g '.editorconfig' -g '.globalconfig'rg -n "EnableNETAnalyzers|AnalysisLevel|AnalysisMode" -g '*.csproj' -g 'Directory.Build.*' .
root = trueを指定した、リポジトリルートの.editorconfigを1つ作成するか、既存のものを整理します。- ルールの重大度を
.editorconfigに移し、一括アナライザー切り替え設定はプロジェクトまたは MSBuild の構成に残します。 - サブツリーで異なるスコープのポリシーが実際に必要な場合に限り、ネストした
.editorconfigファイルを追加します。 dotnet build SOLUTION_OR_PROJECTを実行し、status: configuredまたはstatus: improvedを返します。- リポジトリで別の文書化済みアナライザー構成管理モデルを意図的に使用している場合は、
status: not_applicableを返します。
成果物
- 明確に定義されたアナライザー構成管理モデルを1つ
- エージェントが安全に拡張できる、ルートの
.editorconfig構成
検証
- ルールの重大度がローカルビルドと CI ビルドで再現可能であること
- IDE のみの設定が、リポジトリのポリシーを暗黙に上書きしないこと
- 既定の方法がルートの
.editorconfigであり、予期しない代替手段ではないこと
Ralph Loop
ドキュメント、アーキテクチャ、テスト、ツールの作業を含め、すべてのタスクで Ralph Loop を使用します。
- まず計画を立てます(必須)。
- 現在の状態を分析する
- 目標、制約、リスクを定義する
- 詳細な実行計画を作成する
- 最後に実行する検証スキルを、順序と理由とともに列挙する
- 計画したステップを1つ実行し、具体的な差分を作成します。
- 結果をレビューし、実行可能な次の修正とともに所見を記録します。
- 小さな単位で修正を適用し、関連するチェックやレビュー手順を再実行します。
- 各イテレーションの後に計画を更新します。
- 成果が許容できるものになるか、明示的な例外だけが残るまで繰り返します。
- 依存関係が不足している場合は、それを初期設定するか、明確な理由と代替手段を示して
status: not_applicableを返します。
必須の結果形式
status:complete|clean|improved|configured|not_applicable|blockedplan: 簡潔な計画と現在のイテレーションのステップactions_taken: 実施した具体的な変更validation_skills: 最後に実行したスキル、または省略した場合はその理由verification: コマンド、チェック、レビューの証拠の概要remaining: 未解決の主な項目、またはnone
実行を伴わないセットアップのみの依頼では、status: configured と次に実行する正確なコマンドを返します。
参照資料を読み込む
リクエスト例
- 「
.editorconfigを信頼できる唯一の情報源にしてください。」 - 「このリポジトリ用に、適切なルート
.editorconfigを作成してください。」 - 「この .NET リポジトリで、競合するアナライザーの重大度を修正してください。」
コメント
Markdown 対応