neo-dotnet-webapi について
neo-dotnet-webapiは、ASP.NET Core Web APIの作成、デバッグ、リファクタリング、レビューを支援するスキルです。.NETのバージョンや構成に応じて、エラー処理やDTO、検証の指針を示します。
主な機能
- 01プロジェクトのバージョンと構成の分析
- 02コントローラーとAPI設計の指針
- 03バージョンに応じた例外処理
- 04型付き・不変DTOの提案
- 05Null許容と非同期処理の検証
活用シーン
- 01ASP.NET Core APIエンドポイントの作成
- 02APIエラー処理のモダン化
- 03キャンセルトークンとNull安全性のレビュー
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ benknightdark/ neo-skills --skill neo-dotnet-webapiインストール後、Claude Code で/neo-dotnet-webapiを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
reference/anti-patterns.mdcoding-style.mdpatterns.md詳細
.NET Web API エキスパートスキル
起動条件
- ASP.NET Core Web API の作成、デバッグ、リファクタリング、レビューをユーザーが依頼した場合。
- プロジェクトに
Controllersディレクトリがあり、ControllerBaseを継承している場合。 - ターゲットフレームワークが .NET 6.0(LTS)以降の場合。
- API コードのモダナイゼーションが必要な場合(例:ミドルウェアによる例外処理から .NET 8+ の
IExceptionHandlerへの移行)。
ワークフロー
- 把握(アーキテクチャの認識):
.csprojを確認してTargetFrameworkを特定します。- プロジェクト構造を分析し、N-Tier アーキテクチャまたは Vertical Slice を採用しているか確認します。
- 既存の横断的関心事の処理方法(フィルター、ミドルウェア)を特定します。
- 検討(計画フェーズ):
- 「Problem Details」標準を導入するかどうかを評価します。
- .NET 8+ のグローバル例外処理メカニズムを使用するかどうかを判断します。
- プロジェクトの規模に応じて適切なバージョニング戦略を選択します。
- 実行(実装フェーズ):
[ApiController]の規約に準拠した高品質なコントローラーを作成します。- 型安全でイミュータブルな DTO を実装します(
recordを優先)。 - 依存性注入を導入し、Primary Constructor(C# 12+)を優先します。
- 検証(標準的な検証):
- アクションの戻り値の型が
ActionResult<T>の仕様に準拠しているか検証します。 - NRT(Nullable Reference Types)の安全性を確認します。
- 非同期処理で
CancellationTokenが正しく引き渡されていることを確認します。
- アクションの戻り値の型が
機能ロードマップ(.NET 6~10)
.NET 6 & 7(基盤)
- コントローラーアーキテクチャ:従来型のコントローラーパターンと属性ルーティング。
- Problem Details:統一されたエラーレスポンス標準。
- 出力キャッシュ:高パフォーマンスなサーバー側キャッシュ。
- Nullable Reference Types:包括的な null 安全性のサポート。
.NET 8 & 9(生産性)
- IExceptionHandler:より洗練された一元的な例外処理。
- Antiforgery:Web API 向けの組み込み CSRF 対策サポート。
- キー付きサービス:より柔軟な依存性注入の選択肢。
- HybridCache:マルチレベルのキャッシュ最適化。
.NET 10+(バージョン固有の機能)
- コントローラーの拡張メンバー:基底コントローラーの機能を拡張します。
- シリアル化の強化:大きなペイロードに対応する JSON の最適化。
コーディング規約
- 強い型付け:Swagger のサポートを向上させるため、
ActionResult<T>を優先します。 - NRT 準拠:実行時エラーを減らすため、null 安全性を厳格に適用します。
- 非同期処理のベストプラクティス:常に
CancellationTokenを受け取り、引き渡します。 - 命名:コントローラー名は
Controllerで終わる必要があります。非同期メソッド名はAsyncで終わる必要があります。
提供内容
- バージョンに最適化された Web API コード:ターゲットバージョンに適したモダナイズ済みのコントローラーと構成を提供します。
- アーキテクチャに関する知見:N-Tier または Clean Architecture 向けのリファクタリング案を提示します。
- セキュリティに関する推奨事項:Problem Details と例外処理に関するセキュリティ上の提案を行います。
検証
- コードが C# 10+ の最新の構文標準に準拠していることを確認します。
- エンドポイントが RFC 7807 に準拠したエラー形式を正しく返すことを検証します。
- テスト環境でコードにリソースリークがないこと(
usingと非同期処理の適切な使用)を確認します。
ドキュメント
公式リファレンス
- ASP.NET Core Web API の概要
- ASP.NET Core Web API でのエラー処理(Problem Details)
- ASP.NET Core Web API におけるコントローラーアクションの戻り値の型
内部リファレンス
コメント
Markdown 対応