Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    secondsky

    graphql-implementation

    secondsky/graphql-implementation
    Coding
    38
    1 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Builds GraphQL APIs with schema design, resolvers, error handling, and performance optimization using Apollo or Graphene...

    SKILL.md

    GraphQL Implementation

    Build GraphQL APIs with proper schema design, resolvers, and performance optimization.

    Schema Definition

    type User {
      id: ID!
      name: String!
      email: String!
      posts(limit: Int = 10): [Post!]!
    }
    
    type Post {
      id: ID!
      title: String!
      content: String!
      author: User!
      createdAt: DateTime!
    }
    
    type Query {
      user(id: ID!): User
      users(limit: Int, offset: Int): [User!]!
      post(id: ID!): Post
    }
    
    type Mutation {
      createUser(input: CreateUserInput!): User!
      createPost(input: CreatePostInput!): Post!
    }
    
    input CreateUserInput {
      name: String!
      email: String!
    }
    

    Apollo Server Setup

    const { ApolloServer } = require('@apollo/server');
    const { startStandaloneServer } = require('@apollo/server/standalone');
    
    const resolvers = {
      Query: {
        user: (_, { id }, { dataSources }) =>
          dataSources.userAPI.getUser(id),
        users: (_, { limit, offset }, { dataSources }) =>
          dataSources.userAPI.getUsers({ limit, offset })
      },
      User: {
        posts: (user, { limit }, { dataSources }) =>
          dataSources.postAPI.getPostsByUser(user.id, limit)
      },
      Mutation: {
        createUser: (_, { input }, { dataSources }) =>
          dataSources.userAPI.createUser(input)
      }
    };
    
    const server = new ApolloServer({ typeDefs, resolvers });
    

    DataLoader for N+1 Prevention

    const DataLoader = require('dataloader');
    
    const userLoader = new DataLoader(async (ids) => {
      const users = await User.find({ _id: { $in: ids } });
      return ids.map(id => users.find(u => u.id === id));
    });
    

    Error Handling

    const { GraphQLError } = require('graphql');
    
    throw new GraphQLError('User not found', {
      extensions: { code: 'NOT_FOUND', argumentName: 'id' }
    });
    

    Best Practices

    • Use DataLoader to batch queries
    • Implement query complexity limits
    • Design schema around client needs
    • Validate all inputs
    • Use descriptive naming conventions

    Python Graphene

    See references/python-graphene.md for complete Flask implementation with:

    • ObjectType definitions
    • Query and Mutation classes
    • Input types
    • Flask integration

    Best Practices

    Do:

    • Use DataLoader to batch queries
    • Implement query complexity limits
    • Design schema around client needs
    • Validate all inputs
    • Use descriptive naming conventions
    • Add subscriptions for real-time data

    Don't:

    • Allow deeply nested queries without limits
    • Expose database internals
    • Ignore N+1 query problems
    • Return unauthorized data
    • Skip input validation
    Recommended Servers
    InstantDB
    InstantDB
    Neon
    Neon
    Vercel Grep
    Vercel Grep
    Repository
    secondsky/claude-skills
    Files