| name | metrics-schema-generator |
| description | Generate metrics schemas for Prometheus, OpenTelemetry, and Grafana dashboards |
| allowed-tools | ["Bash","Read","Write","Glob"] |
| graph | {"domains":["domain:software-engineering"],"specializations":["specialization:software-architecture"],"skillAreas":["skill-area:metrics-dashboarding","skill-area:observability-instrumentation"],"roles":["role:sre","role:architect"],"topics":["topic:observability-driven-development"]} |
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"
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
}
}
}
}