arabelatso/config-consistency-checker
Automatically analyzes configuration files to detect inconsistencies, conflicts, missing keys, and divergent values across environments, versions, or modules. Use when managing multi-environment configurations, detecting config drift, validating configuration changes, or ensuring consistency across microservices. Supports JSON, YAML, TOML, INI, XML, .env, and properties files. Identifies security issues like hardcoded secrets and provides actionable resolution guidance.
npx skills add https://github.com/ArabelaTso/Skills-4-SE --skill config-consistency-checker
Automatically detect inconsistencies, conflicts, and mismatches in configuration files across environments and modules.
Read and parse configuration files in various formats:
Build configuration structure:
Compare across:
Identify:
Provide:
dev.json:
{
"database": {
"host": "localhost",
"port": 5432,
"ssl": false
}
}
prod.json:
{
"database": {
"host": "prod-db.example.com",
"port": 5432
}
}
Issues Detected:
prod.json missing database.sslResolution:
Add "ssl": true to prod.json
config-a.yaml:
timeout: 30
config-b.yaml:
timeout: "30"
Issue: Type mismatch (number vs string)
Resolution: Standardize to number: timeout: 30
config.env:
DATABASE_PASSWORD=secret123
API_KEY=hardcoded-key-here
Issues:
Resolution: Use environment variables or secrets manager
Compare key sets across configs:
Config A keys: {host, port, ssl}
Config B keys: {host, port}
Missing in B: {ssl}
Same key, different values:
dev.timeout = 30
prod.timeout = 60
→ Divergent (may be intentional)
Same key, different types:
config-a.port = 8080 (number)
config-b.port = "8080" (string)
→ Type inconsistency
Detect patterns:
password, secret, key with hardcoded valuesssl: false, debug: true in productionConfiguration Consistency Report
================================
Files Analyzed:
- dev.json
- staging.json
- prod.json
Summary:
- Total Issues: 5
- Critical: 2
- Warnings: 3
Critical Issues:
1. Missing Key: prod.json missing 'database.ssl'
Impact: SSL may be disabled in production
Resolution: Add "ssl": true to prod.json
2. Security Issue: Hardcoded password in dev.json
Impact: Credentials exposed in config file
Resolution: Use environment variable ${DB_PASSWORD}
Warnings:
3. Type Mismatch: timeout is number in dev, string in staging
Resolution: Standardize to number type
4. Divergent Value: max_connections differs (dev:10, prod:100)
Note: May be intentional for different environments
5. Deprecated Key: 'legacy_mode' is deprecated
Resolution: Remove or migrate to new setting
Compare dev, staging, prod configs to ensure consistency while allowing intentional differences.
Validate that shared configuration keys are consistent across services.
Detect missing or changed keys when upgrading configuration versions.
Scan for hardcoded secrets and insecure settings.
Take arabelatso/config-consistency-checker from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.