Validates KrakenD configurations with specific error fixes, edition compatibility checks, anti-pattern detection, and Flexible Configuration support
/plugin marketplace add krakend/claude-code-plugin/plugin install krakend-ai-assistant@krakendThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Validates KrakenD configurations with specific error fixes, edition compatibility checks, anti-pattern detection, and automatic Flexible Configuration support. Provides actionable feedback with line numbers and recommendations.
krakend.json)krakend check if available (most accurate)YOU MUST FOLLOW THESE RULES - NO EXCEPTIONS:
✅ DO:
guidance field in every validation result (contains binding instructions)search_documentation tool when uncertain about KrakenD syntax❌ DON'T:
Example:
This skill automatically detects and handles Flexible Configuration (FC):
Community Edition FC: Uses .tmpl files with environment variables
Enterprise Edition FC: Uses flexible_config.json (simpler, no env vars needed)
The skill auto-detects FC variant, adjusts validation commands, and reports FC detection in output. No user configuration needed.
validate_config - Complete validation with smart 3-tier fallback (native → Docker → schema)
check_edition_compatibility - Detect CE vs EE requirementssearch_documentation - Verify syntax against official docs (use when unsure)list_features - Query feature catalog if neededParse the configuration file to catch syntax errors early (missing commas, brackets, etc.)
Use validate_config tool which automatically:
$schema fieldUse check_edition_compatibility to verify CE vs EE requirements and identify any Enterprise-only features.
Show structured report with errors, warnings, edition info, and actionable fixes.
When showing users how to test their config, provide appropriate command based on: (1) Version from $schema, (2) Edition (CE/EE by features), (3) FC detection (.tmpl or flexible_config.json), (4) LICENSE file for EE, (5) Local binary availability.
Examples:
# CE
docker run --rm -v $(pwd):/etc/krakend krakend:VERSION check -tlc /etc/krakend/krakend.json
# EE (LICENSE file in directory)
docker run --rm -v $(pwd):/etc/krakend krakend/krakend-ee:VERSION check -tlc /etc/krakend/krakend.json
Flags: -tlc = test + lint + config (lint detects anti-patterns and best practices violations)
FC: CE requires FC_ENABLE=1 + env vars for settings/templates/partials; EE auto-detects via flexible_config.json.
Images: Use krakend:VERSION (CE) or krakend/krakend-ee:VERSION (EE). Never use deprecated devopsfaith/krakend or krakend/krakend.
Provide a clear, structured report:
# KrakenD Configuration Validation
## Summary
✅ JSON Syntax: Valid
⚠️ Edition: Requires Enterprise Edition
❌ Configuration: 2 errors found
## Details
### Edition Compatibility
Your configuration uses the following Enterprise Edition features:
- `auth/api-keys` - API Key Authentication
- `websocket` - WebSocket Support
**Action**: Upgrade to Enterprise Edition or remove these features.
### Errors
**Error 1**: Missing required field 'alg' in JWT validator
- **Location**: $.endpoints[0].extra_config["auth/validator"]
- **Fix**: Add "alg": "RS256" to the JWT validator configuration
- **Docs**: https://www.krakend.io/docs/authorization/jwt-validation/
**Error 2**: Invalid value for max_rate
- **Location**: $.endpoints[1].extra_config["qos/ratelimit/router"].max_rate
- **Fix**: max_rate must be a positive number (found: -10)
### Best Practices
✓ Circuit breakers configured for all backends
⚠️ Consider adding rate limiting to POST endpoints
⚠️ No CORS configuration - add if serving web clients
## Validation Method
Validated using: **Native KrakenD** (most accurate)
guidance field - Every validation output includes binding instructions for that specific validationsearch_documentation when uncertain - Verify syntax against official docs before suggesting$.endpoints[0].backend[0])Response: "I'll validate your KrakenD configuration for you."
[Use validate_config]
[Use check_edition_compatibility]
[Present structured report]
Response: "I found a JSON syntax error in your configuration:
Error: Invalid character '}' at line 45, column 3 Issue: Extra closing brace Fix: Remove the extra '}' on line 45
Would you like me to fix this for you?"
Response: "Your configuration uses Enterprise Edition features:
EE Features Found:
security/policies - Security Policies Engine (line 67)qos/ratelimit/stateful - Stateful Rate Limiting (line 102)Options:
Which would you prefer?"
config-builder skillfeature-explorer skillsecurity-auditor skillBuild comprehensive attack trees to visualize threat paths. Use when mapping attack scenarios, identifying defense gaps, or communicating security risks to stakeholders.