graphql-implementation について
API を設計・実装する開発者向けの GraphQL スキルです。スキーマ設計、リゾルバー、エラー処理、性能改善を扱い、Apollo Server と Graphene のリファレンスも含みます。
主な機能
- 01スキーマと型の設計
- 02リゾルバーとミューテーションのパターン
- 03エラー処理と入力検証
- 04サブスクリプションとリアルタイムデータ
- 05性能とフェデレーションの指針
活用シーン
- 01新しい GraphQL API の設計
- 02リゾルバーとミューテーションの実装
- 03リアルタイムサブスクリプションの追加
- 04API 性能の改善
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill graphql-implementationインストール後、Claude Code で/graphql-implementationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/error-handling.mdgraphql-schema-design.mdnodejs-apollo-server-implementation.mdpython-graphql-implementation-graphene.mdquery-examples.mdscripts/validate-api.shtemplates/api-scaffold.yaml詳細
GraphQL の実装
目次
概要
適切なスキーマ設計、リゾルバーパターン、エラー処理、パフォーマンス最適化により、柔軟なクライアント・サーバー間通信を実現する GraphQL API を実装します。
使用する場面
- 新しい GraphQL API を設計する
- GraphQL のスキーマと型を作成する
- リゾルバーとミューテーションを実装する
- リアルタイムデータ用のサブスクリプションを追加する
- REST から GraphQL に移行する
- GraphQL のパフォーマンスを最適化する
クイックスタート
最小限の動作する例:
type User {
id: ID!
email: String!
firstName: String!
lastName: String!
role: UserRole!
posts: [Post!]!
createdAt: DateTime!
updatedAt: DateTime!
}
enum UserRole {
ADMIN
USER
MODERATOR
}
type Post {
id: ID!
title: String!
content: String!
author: User!
comments: [Comment!]!
publishedAt: DateTime
createdAt: DateTime!
// ... (see reference guides for full implementation)
リファレンスガイド
詳細な実装については、references/ ディレクトリを参照してください:
| ガイド | 内容 |
|---|---|
| GraphQL スキーマ設計 | GraphQL スキーマ設計 |
| Node.js Apollo Server の実装 | Node.js Apollo Server の実装 |
| Python GraphQL の実装(Graphene) | Python GraphQL の実装(Graphene) |
| クエリの例 | クエリの例 |
| エラー処理 | エラー処理 |
ベストプラクティス
✅ 推奨事項
- 明確でわかりやすいフィールド名を使用する
- クライアントのニーズに合わせてスキーマを設計する
- 適切なエラー処理を実装する
- ミューテーションには入力型を使用する
- リアルタイムデータ用のサブスクリプションを追加する
- リゾルバーを効率的にキャッシュする
- 入力データを検証する
- スケーラビリティのためにフェデレーションを使用する
❌ 避けるべき事項
- クエリを過度に深くネストする
- 内部データベース ID を公開する
- 認可なしに機密データを返す
- 過度に複雑なスキーマを作成する
- null 値の処理を忘れる
- N+1 クエリ問題を無視する
- エラーメッセージを省略する
コメント
Markdown 対応