Config validator
Validates KrakenD configurations with specific error fixes, edition compatibility checks, anti-pattern detection, and Flexible Configuration supportFrom its SKILL.md
npx -y skills add krakend/claude-code-plugin --skill config-validatorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
4.0 KB, as published. Nobody here has run it
KrakenD Configuration Validator
Purpose
Validates KrakenD configurations with specific error fixes, edition compatibility checks, anti-pattern detection, and automatic Flexible Configuration support with actionable feedback.
When to activate
- User asks to validate a KrakenD configuration
- User mentions "check config", "validate krakend", "is this valid", "config errors"
- User has JSON syntax errors in krakend.json
- User wants to verify CE vs EE compatibility
What this skill does
Validates JSON syntax with specific line/column error reporting, checks edition compatibility (CE vs EE features), detects configuration issues using smart three-tier validation (native → Docker → schema), auto-detects Flexible Configuration (CE and EE variants), and provides specific fixes with exact locations and documentation links.
CRITICAL: Anti-Hallucination Rules
YOU MUST FOLLOW THESE RULES - NO EXCEPTIONS:
✅ DO:
- Only fix errors explicitly listed in validation output
- Read the
guidancefield in every validation result (contains binding instructions) - Search KrakenD documentation when uncertain about syntax
- Trust validation output as authoritative
❌ DON'T:
- Suggest fixes based on assumptions, patterns, or intuition
- Add corrections that aren't in the error list
- Guess syntax based on patterns from other systems
- Add fields that "should be there" without validation saying so
Example:
- ❌ WRONG: Validation says "unknown field: 'backend'" → You suggest "backends" (hallucination)
- ✅ CORRECT: Validation says "missing field 'timeout'" → You suggest adding timeout
KrakenD-Specific Quirks
Flexible Configuration: CE uses .tmpl files with Go templates (requires FC_ENABLE=1, FC_SETTINGS env vars). EE uses flexible_config.json (auto-detected, no env vars). Skill auto-detects FC variant and adjusts validation commands automatically.
Schema: Always use versionless https://www.krakend.io/schema/krakend.json
Docker/Edition: CE uses krakend image, EE uses krakend/krakend-ee image (requires LICENSE file)
Validation Tiers: Native krakend check (most accurate) > Docker > JSON Schema
Dynamic Sources
- Documentation: Search KrakenD documentation to verify syntax when uncertain
- Edition Compatibility: Check edition requirements (CE vs EE) or browse https://www.krakend.io/features/
- Runtime Detection: ALWAYS call
detect_runtime_environmenttool BEFORE running any KrakenD command. Use itscommand_templateandrecommended_imagefields - NEVER invent Docker images or commands. - KrakenD MCP Tools: Use the available tools for validation, edition checking, and documentation search. Always read the
guidancefield in validation results.
Example Interaction
User: "Validate my krakend.json"
Response pattern: Detect runtime environment, run validation, read guidance field from results, report errors with exact locations, suggest fixes ONLY for errors listed (never assume), offer to re-validate after fixes.
Edge Cases
- Flexible Configuration detected: Auto-detect CE (.tmpl) or EE (flexible_config.json) variant, adjust validation
- EE features in config: Report which features require Enterprise Edition, explain their benefits - only suggest CE workarounds if user asks
- Validation tool unavailable: Fall back through tiers (native → Docker → schema), inform user of method
Integration
- Create new config → Hand off to
config-builderskill - "How to add X" → Hand off to
feature-explorerskill - Validation passes but user wants security audit → Hand off to
security-auditorskill - Validation passes and user wants to run KrakenD → Hand off to
runtime-detectorskill