GraphQL Architect
エンタープライズパターンによるスケーラブルな GraphQL API の設計
本番環境の GraphQL システム構築には、フェデレーション、パフォーマンス、セキュリティに関する専門知識が必要です。このスキルでは、スケーラブルなスキーマ設計と最適化のための実証済みパターンを提供します。
スキルZIPをダウンロード
Claudeでアップロード
設定 → 機能 → スキル → スキルをアップロードへ移動
オンにして利用開始
テストする
「GraphQL Architect」を使用しています。 投稿とコメント付きのユーザープロフィールスキーマを設計してください
期待される結果:
- type User {
- id: ID!
- username: String!
- email: String!
- profile: Profile
- posts: [Post!]!
- createdAt: DateTime!
- }
- type Profile {
- bio: String
- avatar: String
- location: String
- }
- type Post {
- id: ID!
- title: String!
- content: String!
- author: User!
- comments: [Comment!]!
- }
「GraphQL Architect」を使用しています。 ユーザー投稿の取得処理を最適化
期待される結果:
- DataLoader を使用してユーザー投稿の取得をバッチ処理とキャッシュします:
- const postLoader = new DataLoader(async (userIds) => {
- const posts = await Post.findAll({
- where: { userId: userIds },
- include: [User]
- });
- return userIds.map(id => posts.filter(p => p.userId === id));
- });
- これにより N 回のクエリが 1 回のバッチクエリに削減されます。
セキュリティ監査
安全Static analysis scanned 0 files with 0 lines and detected no suspicious patterns. This is a prompt-only skill containing instructional content for GraphQL architecture guidance. No executable code, network access, filesystem operations, or external command execution present.
品質スコア
作れるもの
エンタープライズフェデレーションアーキテクチャ
複数のチームにわたるフェデレートされた GraphQL アーキテクチャを設計し、サブグラフ構成、スキーマガバナンス、チーム間連携パターンを実装します。
パフォーマンス最適化監査
既存の GraphQL スキーマを分析して N+1 クエリを特定し、DataLoader パターンを実装して多段階のキャッシュ戦略を設定します。
セキュリティ強化実装
フィールドレベルの認可、クエリ複雑度分析、レート制限、本番環境向けセキュリティ設定を実装します。
これらのプロンプトを試す
[リソースタイプ] 向けの GraphQL スキーマを CRUD 操作とともに設計してください。適切なスカラー型、ミューテーション用の入力型を含め、命名規則に従ってください。型間の関係についても説明してください。
[ドメイン] 向けの Apollo Federation v2 サブグラフを計画してください。エンティティ、キーディレクティブ、外部型参照を特定し、このサブグラフが全体のフェデレートされたアーキテクチャとどのように統合されるかを示してください。
この GraphQL スキーマとリゾルバー実装をパフォーマンスの観点からレビューしてください。N+1 クエリパターンを特定し、DataLoader 実装を提案し、フィールドレベルとクエリレベルでのキャッシュ戦略を推奨してください。
この GraphQL サーバー構成をセキュリティの脆弱性について監査してください。イントロスペクション設定、CORS 構成、レート制限、クエリ深さ制限、フィールドレベルの認可をチェックし、具体的な修正手順を提供してください。
ベストプラクティス
- スキーマはバージョニングと進化を考慮して設計し、削除前に非推奨マークを使用する
- N+1 クエリ問題を防止するため、すべてのリゾルバー取得で DataLoader を実装する
- 本番デプロイ前にクエリ複雑度分析とレート制限を設定する
回避
- 抽象化レイヤーなしで GraphQL スキーマに直接データベースモデルを公開する
- 接続パターンやページネーションなしで無制限のリストを返す
- 専用サービス層ではなくリゾルバーにビジネスロジックを実装する