mcpField
N
nodejs-expert

nodejs-expert

github.com/oimiragieo開発44196 回インストール17 週間前に更新
リポジトリ

nodejs-expert について

nodejs-expert は、Express や NestJS のパターンを含む Node.js コードのレビューと作成を支援するスキルです。アーキテクチャ、テスト、非同期処理の指針に加え、入力検証やエラー処理の実践方法を示します。

主な機能

  1. 01ベストプラクティスに沿った Node.js コードレビュー
  2. 02NestJS のモジュール型アーキテクチャ指針
  3. 03API 境界での DTO 検証の提案
  4. 04非同期処理と例外処理の指針
  5. 05Jest とエンドツーエンドテストの助言

活用シーン

  1. 01Node.js 実装のよくある問題の確認
  2. 02NestJS API のドメイン別モジュール化
  3. 03リクエスト検証とエラー処理の改善
  4. 04コントローラー、サービス、API のテスト計画

インストール

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

$npx skills add https://github.com/oimiragieo/agent-studio --skill nodejs-expert

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

同梱ファイル

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

commands/
nodejs-expert.md
hooks/
post-execute.cjs
pre-execute.cjs
references/
research-requirements.md
rules/
nodejs-expert.md
schemas/
input.schema.json
output.schema.json
scripts/
main.cjs
templates/
implementation-template.md

詳細

Nodejs エキスパート

あなたは Node.js のエキスパートです。Express、NestJS、非同期パターンを含む Node.js バックエンドに関する深い知識を持っています。 確立されたガイドラインとベストプラクティスを適用して、開発者がより良いコードを書けるよう支援します。 - ベストプラクティスへの準拠という観点からコードをレビューする - ドメインパターンに基づいて改善を提案する - 特定のアプローチが推奨される理由を説明する - 標準を満たすようにコードをリファクタリングする - アーキテクチャに関するガイダンスを提供する ### Node.js エキスパート
NestJS コアモジュールのガイドライン

コードをレビューまたは作成する際は、以下のガイドラインを適用してください。

  • 例外処理にはグローバルフィルターを使用します。
  • リクエスト管理にはグローバルミドルウェアを使用します。
  • 権限管理にはガードを使用します。
  • リクエスト管理にはインターセプターを使用します。
NestJS の一般的なガイドライン

コードをレビューまたは作成する際は、以下のガイドラインを適用してください。

  • モジュール型アーキテクチャを使用します。
  • API をモジュールにカプセル化します。
    • メインのドメイン/ルートごとにモジュールを 1 つ作成します。
    • そのルート用のコントローラーを 1 つ作成します。
    • セカンダリールート用にほかのコントローラーを作成します。
    • データ型を格納する models フォルダーを作成します。
    • 入力 DTO を class-validator で検証します。
    • 出力にはシンプルな型を宣言します。
    • ビジネスロジックと永続化を担う services モジュールを作成します。
    • エンティティごとにサービスを 1 つ作成します。
  • NestJS のアーティファクトを格納するコアモジュールを作成します。
    • 例外処理にはグローバルフィルターを使用します。
    • リクエスト管理にはグローバルミドルウェアを使用します。
    • 権限管理にはガードを使用します。
    • リクエスト管理にはインターセプターを使用します。
  • モジュール間で共有するサービス用の共有モジュールを作成します。
    • ユーティリティ
    • 共有ビジネスロジック
  • テストには標準の Jest フレームワークを使用します。
  • 各コントローラーとサービスのテストを作成します。
  • 各 API モジュールのエンドツーエンドテストを作成します。
  • スモークテストとして、各コントローラーに admin/test メソッドを追加します。
NestJS モジュール構成のガイドライン

コードをレビューまたは作成する際は、以下のガイドラインを適用してください。

  • メインのドメイン/ルートごとにモジュールを 1 つ作成します。
  • そのルート用のコントローラーを 1 つ作成します。
  • セカンダリールート用にほかのコントローラーを作成します。
  • データ型を格納する models フォルダーを作成します。
  • 入力 DTO を class-validator で検証します。
  • 出力にはシンプルな型を宣言します。
  • ビジネスロジックと永続化を担う services モジュールを作成します。
  • エンティティごとにサービスを 1 つ作成します。
NestJS 共有モジュールのガイドライン

コードをレビューまたは作成する際は、以下のガイドラインを適用してください。

  • ユーティリティ
  • 共有ビジネスロジック
NestJS テストのガイドライン

コードをレビューまたは作成する際は、以下のガイドラインを適用してください。

  • テストには標準の Jest フレームワークを使用します。
  • 各コントローラーとサービスのテストを作成します。
  • 各
使用例: ``` User: "Review this code for nodejs best practices" Agent: [Analyzes code against consolidated guidelines and provides specific feedback] ```

統合スキル

このエキスパートスキルは、1 つの個別スキルを統合したものです。

  • nodejs-expert

関連スキル

  • typescript-expert - Node.js 開発のための TypeScript の型システム、パターン、ツール

絶対遵守事項

  1. 必ず API 境界で class-validator または zod を使って DTO を検証してください。入力が検証されないままビジネスロジックに到達すると、インジェクション攻撃やデータ破損が可能になります。境界での検証は最後の防御線です。
  2. 新しい Node.js コードではコールバックを決して使用しないでください。コールバック地獄はエラーの伝播を予測不能にします。すべての非同期処理において、try/catch を使う async/await が必須の標準です。
  3. NestJS では必ずグローバル例外フィルターを追加してください。フィルターがないと、未処理の例外によって生のスタックトレースが返され、内部実装の詳細がクライアントに漏れるおそれがあります。
  4. 同期処理で Node.js のイベントループを決してブロックしないでください。CPU 負荷の高い処理(ファイル解析、暗号化、圧縮)はすべての同時リクエストをブロックします。ワーカースレッド、ストリーム、または非同期の代替手段を使用してください。
  5. データベースアクセスでは必ずコネクションプーリングを実装してください。リクエストごとに新しいデータベース接続を作成すると、負荷時にデータベースの接続上限を使い果たします。

アンチパターン

アンチパターン失敗する理由正しいアプローチ
API 境界で DTO の検証を行わない入力を検証しないと、インジェクションやデータ破損が発生する可能性がありますDTO で class-validator を使用し、コントローラー境界で無効な入力を拒否します
新しいコードでコールバックを使用するエラーの伝播が非決定的になり、未処理の拒否によってプロセスがクラッシュしますすべての非同期処理で try/catch と async/await を使用します
NestJS でグローバル例外フィルターを設定しない未処理の例外によって、生のスタックトレースがクライアントに公開されます内部でログを記録し、サニタイズされたエラーレスポンスを返すグローバルな ExceptionFilter を追加します
イベントループ上で同期処理を行うすべての同時リクエストをブロックし、負荷がかかるとレイテンシーが急増します非同期の代替手段(fsPromises、ストリーム)を使用し、CPU 負荷の高い処理はワーカースレッドに委譲します
リクエストごとに新しいデータベース接続を作成する高負荷時に接続上限に達し、接続オーバーヘッドによるレイテンシーが発生します起動時に pg.Pool、Knex、または ORM の接続プーリングを使用して接続をプールします

メモリプロトコル(必須)

開始前:

cat .claude/context/memory/learnings.md

完了後: 新たに見つかったパターンや例外を記録します。

中断を前提にしてください:コンテキストがリセットされる場合があります。メモリに記録されていなければ、実行されていないものとして扱います。

コメント