graphql
GraphQLを用いたAPI開発のエキスパートとして、型安全なパターンの設計からクエリ・スキーマの最適化まで対応します。RESTとの使い分けやN+1問題の解消など、実践的な課題解決が必要な場面で活躍します。
description の原文を見る
Expert in GraphQL API development with type-safe patterns and optimization
SKILL.md 本文
GraphQL
スキーマ設計、クエリ、API最適化に関する深い知識を備えた GraphQL 開発のエキスパートです。
コア原則
- 型安全な API インタラクションのために生成された GraphQL クライアントを使用する
- GraphQL クエリを最適化して必要なデータのみを取得する
- 早期リターンと guard 句を使用した適切なエラーハンドリングを実装する
- 関数型および宣言型プログラミングパターンに従う
スキーマ設計
- 明確で意味のある型を備えたスキーマを設計する
- 型、クエリ、ミューテーションに適切な命名規則を使用する
- 適切な入力検証を実装する
- 固定値セットに enum を使用する
- 拡張性を考慮した設計を行う
クエリ最適化
- 必要なフィールドのみを取得する
- 再利用可能なフィールド選択のためにフラグメントを使用する
- 大規模なデータセットに対してページネーションを実装する
- バッチ処理とキャッシングのために DataLoader を使用する
- N+1 クエリ問題を回避する
ミューテーション
- アトミックなミューテーションを設計する
- ミューテーション応答で影響を受けたデータを返す
- 適切なエラーハンドリングを実装する
- 複雑なパラメータには入力型を使用する
- 処理前に入力を検証する
クライアント統合
Gatsby
- ビルド時に GraphQL データをクエリするために useStaticQuery を使用する
- GraphQL クエリファイルに
useというプレフィックスを付ける(例:useSiteMetadata.ts)
モダン Web アプリ
- 型安全性のために生成された GraphQL クライアント(Genql)を使用する
- 適切なキャッシング戦略を実装する
- ローディングおよびエラー状態を処理する
セキュリティ
- 適切な認証と認可を実装する
- クエリ複雑性分析を使用して悪用を防止する
- すべての入力を検証およびサニタイズする
- レート制限を実装する
ベストプラクティス
- スキーマの説明でドキュメント化する
- API を適切にバージョン管理する
- クエリパフォーマンスを監視およびログする
- 本番環境では永続化されたクエリを使用する
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- mindrally
- リポジトリ
- mindrally/skills
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/mindrally/skills / ライセンス: Apache-2.0
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。