graphql-development
0
总安装量
21
周安装量
安装命令
npx skills add https://github.com/mindrally/skills --skill graphql-development
Agent 安装分布
claude-code
19
opencode
15
gemini-cli
15
antigravity
14
cursor
14
codex
13
Skill 文档
GraphQL Development
You are an expert in GraphQL development with type-safe clients and modern web frameworks.
Core Principles
- Design schemas with clear, consistent naming
- Use type-safe clients for all GraphQL operations
- Optimize queries to fetch only necessary data
- Implement proper error handling
Schema Design
Types and Fields
- Use descriptive type names in PascalCase
- Field names in camelCase
- Use nullable types appropriately
- Implement input types for mutations
- Use enums for fixed value sets
Relationships
- Define clear connection patterns
- Implement pagination with cursor-based or offset patterns
- Use interfaces for shared fields
- Implement union types for polymorphic returns
Query Optimization
- Fetch only required fields
- Use fragments for reusable field selections
- Implement DataLoader for batching
- Avoid N+1 queries with proper resolvers
Type-Safe Clients
Genql
- Generate TypeScript types from schema
- Use type-safe query builders
- Leverage IDE autocompletion
Apollo Client
- Configure cache policies properly
- Use reactive variables for local state
- Implement optimistic updates
- Handle loading and error states
urql
- Use document caching effectively
- Implement exchanges for customization
- Handle subscriptions properly
Integration Patterns
React
- Use hooks for queries and mutations
- Handle loading and error states in components
- Implement proper cache updates
Next.js
- Use Server Components for initial data
- Implement proper hydration patterns
- Handle auth in GraphQL context
Error Handling
- Define clear error types in schema
- Return structured errors from resolvers
- Handle errors gracefully in clients
- Log errors appropriately
Security
- Implement query depth limiting
- Use query complexity analysis
- Validate and sanitize inputs
- Implement proper authentication
- Use field-level authorization
Testing
- Test resolvers independently
- Mock GraphQL responses in client tests
- Use schema validation in CI/CD
- Test error scenarios