Babysitter graphql-schema-designer
GraphQL schema design and optimization with federation support
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/sdk-platform-development/skills/graphql-schema-designer" ~/.claude/skills/a5c-ai-babysitter-graphql-schema-designer && rm -rf "$T"
manifest:
library/specializations/sdk-platform-development/skills/graphql-schema-designer/SKILL.mdsource content
GraphQL Schema Designer Skill
Overview
This skill specializes in designing, optimizing, and maintaining GraphQL schemas with support for schema stitching, federation, and advanced patterns. It ensures type-safe, performant, and well-documented GraphQL APIs.
Capabilities
- Design type-safe GraphQL schemas following best practices
- Implement schema stitching and Apollo Federation
- Optimize query complexity and configure depth limits
- Generate comprehensive schema documentation
- Design efficient resolver patterns
- Implement pagination (Relay connections, offset-based)
- Configure subscriptions and real-time features
- Validate schema against design guidelines
Target Processes
- API Design Specification
- Multi-Language SDK Strategy
- SDK Architecture Design
Integration Points
- Apollo Server/Client
- Hasura GraphQL Engine
- graphql-codegen for type generation
- GraphQL Inspector for schema validation
- Relay compiler
Input Requirements
- Domain model or entity definitions
- Query requirements and use cases
- Performance requirements (complexity limits)
- Federation requirements (if microservices)
Output Artifacts
- GraphQL SDL schema files
- Federation subgraph configurations
- Type definitions for client generation
- Schema documentation
- Query complexity analysis report
Usage Example
skill: name: graphql-schema-designer context: domainModel: ./docs/domain-model.md federationEnabled: true complexityLimit: 1000 depthLimit: 10 generateDocumentation: true
Best Practices
- Use meaningful type and field names
- Implement proper nullability patterns
- Design for pagination from the start
- Document all types and fields
- Use interfaces for polymorphism
- Implement proper error handling with union types