Назад към всички

metrics-schema-generator

// Generate metrics schemas for Prometheus, OpenTelemetry, and Grafana dashboards

$ git log --oneline --stat
stars:384
forks:73
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namemetrics-schema-generator
descriptionGenerate metrics schemas for Prometheus, OpenTelemetry, and Grafana dashboards
allowed-toolsBash,Read,Write,Glob

Metrics Schema Generator Skill

Overview

Generates metrics schemas for Prometheus, OpenTelemetry metric definitions, SLI/SLO specifications, and Grafana dashboard configurations.

Capabilities

  • Generate Prometheus metrics schemas
  • OpenTelemetry metric definitions
  • SLI/SLO specification generation
  • Grafana dashboard generation
  • Metric naming conventions
  • Label/tag standardization
  • Recording rules generation
  • Alert rules generation

Target Processes

  • observability-implementation
  • performance-optimization

Input Schema

{
  "type": "object",
  "required": ["services"],
  "properties": {
    "services": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": { "type": "string" },
          "type": { "type": "string" },
          "endpoints": { "type": "array" },
          "slos": { "type": "array" }
        }
      }
    },
    "format": {
      "type": "string",
      "enum": ["prometheus", "opentelemetry", "both"],
      "default": "prometheus"
    },
    "options": {
      "type": "object",
      "properties": {
        "includeStandardMetrics": {
          "type": "boolean",
          "default": true
        },
        "generateDashboards": {
          "type": "boolean",
          "default": true
        },
        "generateAlerts": {
          "type": "boolean",
          "default": true
        },
        "namingConvention": {
          "type": "string",
          "enum": ["prometheus", "opentelemetry"],
          "default": "prometheus"
        }
      }
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "metrics": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": { "type": "string" },
          "type": { "type": "string" },
          "description": { "type": "string" },
          "labels": { "type": "array" },
          "unit": { "type": "string" }
        }
      }
    },
    "sloDefinitions": {
      "type": "array"
    },
    "recordingRules": {
      "type": "string",
      "description": "Prometheus recording rules YAML"
    },
    "alertRules": {
      "type": "string",
      "description": "Prometheus alert rules YAML"
    },
    "dashboards": {
      "type": "array",
      "description": "Grafana dashboard JSON definitions"
    }
  }
}

Usage Example

{
  kind: 'skill',
  skill: {
    name: 'metrics-schema-generator',
    context: {
      services: [
        {
          name: 'api-gateway',
          type: 'http',
          endpoints: ['/api/users', '/api/orders'],
          slos: [{ name: 'availability', target: 99.9 }]
        }
      ],
      format: 'prometheus',
      options: {
        generateDashboards: true,
        generateAlerts: true
      }
    }
  }
}