Babysitter graphql-schema-generator

Generate GraphQL schemas from data models with resolver stubs and 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/software-architecture/skills/graphql-schema-generator" ~/.claude/skills/a5c-ai-babysitter-graphql-schema-generator && rm -rf "$T"
manifest: library/specializations/software-architecture/skills/graphql-schema-generator/SKILL.md
source content

GraphQL Schema Generator Skill

Overview

Generates GraphQL SDL schemas from data models with type inference, resolver stub generation, schema validation, and Apollo Federation support.

Capabilities

  • Generate GraphQL SDL from data models
  • Type inference from existing data structures
  • Resolver stub generation
  • Schema validation and linting
  • Apollo Federation support
  • Subscription type generation
  • Input type and mutation generation

Target Processes

  • api-design-specification

Input Schema

{
  "type": "object",
  "required": ["dataModels"],
  "properties": {
    "dataModels": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": { "type": "string" },
          "fields": { "type": "array" },
          "relationships": { "type": "array" }
        }
      }
    },
    "outputPath": {
      "type": "string",
      "description": "Output schema file path"
    },
    "options": {
      "type": "object",
      "properties": {
        "generateResolvers": {
          "type": "boolean",
          "default": true
        },
        "federation": {
          "type": "boolean",
          "default": false
        },
        "generateSubscriptions": {
          "type": "boolean",
          "default": false
        },
        "generateInputTypes": {
          "type": "boolean",
          "default": true
        }
      }
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "schemaPath": {
      "type": "string"
    },
    "resolversPath": {
      "type": "string"
    },
    "types": {
      "type": "array",
      "items": { "type": "string" }
    },
    "queries": {
      "type": "array"
    },
    "mutations": {
      "type": "array"
    }
  }
}

Usage Example

{
  kind: 'skill',
  skill: {
    name: 'graphql-schema-generator',
    context: {
      dataModels: [
        { name: 'User', fields: ['id', 'name', 'email'] },
        { name: 'Post', fields: ['id', 'title', 'authorId'] }
      ],
      outputPath: 'graphql/schema.graphql',
      options: {
        generateResolvers: true,
        federation: false
      }
    }
  }
}