Diagnose Config
DevOps & Securitydiagnose-configDiagnose Config is an Agent Skill for devops & security published in the oxsecurity/megalinter repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Diagnose MegaLinter .mega-linter.yml configuration issues. Use when linters aren't running as expected or configuration seems wrong.
QUICK START
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/oxsecurity/megalinter/blob/HEAD/.claude/skills/diagnose-config/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/diagnose-config, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
Diagnose MegaLinter configuration. Read the .mega-linter.yml (or path provided in $ARGUMENTS) and check for:
- Configuration hierarchy: Env vars override
.mega-linter.yml, which overrides descriptor defaults. Both.mega-linter.ymland.megalinter.ymlare recognized. - ENABLE/DISABLE conflicts:
ENABLE_LINTERS/DISABLE_LINTERStake precedence overENABLE/DISABLE(descriptor-level). You can't enable a linter if its descriptor is disabled. - Filter patterns: Validate
FILTER_REGEX_INCLUDE/FILTER_REGEX_EXCLUDEregex syntax - Linter variable naming: Must be UPPERCASE with
_separator matching the generated nameDESCRIPTOR_LINTERNAME(e.g.,PYTHON_PYLINT_ARGUMENTS, notpylint_arguments) - Flavor compatibility: If using a flavor image, verify the enabled linters exist in that flavor by checking
flavors/<flavor>/flavor.json - EXTENDS: If using remote config inheritance via HTTPS URLs, verify they're accessible
- APPLY_FIXES: Check the fix mode is compatible with the CI system — auto-commit requires write access to the branch
- Pre/Post commands: Validate
PRE_COMMANDSandPOST_COMMANDSsyntax (each needscommandandcwdfields,cwdisrootorworkspace) - Common mistakes:
- Using lowercase linter names (must be UPPERCASE)
- Missing
_separator in linter-specific vars - Setting
VALIDATE_ALL_CODEBASE=truein CI (slow — usually want diff-only) - Forgetting
{LINTER}_FILTER_REGEX_INCLUDE/EXCLUDEoverrides global filters
Reference megalinter/config.py for the full resolution logic.