Graphql development
Skill VRIL-LABS/skill-jam/skills/ai-ml/skills-main-2/skills-main/graphql-development
Welcome to the skill-jam ☄️🏀
npx -y skills add VRIL-LABS/skill-jam --skill graphql-developmentAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
GraphQL development guidelines with type-safe clients, schema design, and integration with React and Next.js.
SKILL.md
2.2 KB, 409 tokens by cl100k_base, as published. Nobody here has run it
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