Imported from CesarBallardini/ansible-devops-workstation (
.claude/skills/ansible-validate/SKILL.md). Install upstream withnpx skills add CesarBallardini/ansible-devops-workstation --skill ansible-validate. Copyright stays with the author.
Validate Ansible syntax and lint for this project.
Steps
-
Activate the project venv and run syntax check:
source ~/.ansible-venv/bin/activate && ansible-playbook -vv -i tests/inventory tests/test.yml --syntax-check -
Run ansible-lint on the target scope:
- If
$ARGUMENTSis empty, lint the full playbook:source ~/.ansible-venv/bin/activate && ansible-lint site.yml - If
$ARGUMENTSspecifies a role name (e.g.,vagrant), lint that role:source ~/.ansible-venv/bin/activate && ansible-lint local-roles/<role_name>/ - If
$ARGUMENTSspecifies a file path, lint that file:source ~/.ansible-venv/bin/activate && ansible-lint <file_path>
- If
-
Report results clearly:
- If both pass: confirm success
- If either fails: show the errors and suggest fixes based on the project's
.ansible-lintconfig (production profile, see skip_list for tolerated rules)
Notes
- The venv is at
~/.ansible-venv - The lint config is in
.ansible-lint(production profile) - External roles in
roles/are excluded from linting - All working paths are relative to the project root