- Home
- Skills
- Sigridjineth
- Hello Ansible Skills
- Ansible Playbook
ansible-playbook_skill
- Shell
11
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill sigridjineth/hello-ansible-skills --skill ansible-playbook- SKILL.md3.4 KB
Overview
This skill helps you develop, debug, and run Ansible playbooks, roles, and inventory files for infrastructure automation. It focuses on idempotent configuration, common module patterns, and practical checks to avoid typical YAML or runtime errors. Use it to convert shell scripts into reusable Ansible tasks and to enforce reliable, repeatable deployments.
How this skill works
The skill inspects playbook structure, variable placement, and module usage to surface issues like syntax errors, wrong FQCNs, or variable precedence mistakes. It suggests best-fit modules and patterns (file, copy, template, package, service, command), shows handler and error-handling examples, and recommends verification commands and config settings. It also guides on testing with --check, --diff, and inventory validation.
When to use it
- Creating new playbooks, roles, or inventory layouts
- Debugging YAML syntax and indentation errors
- Troubleshooting module parameter failures or unexpected task results
- Resolving variable precedence and scoping issues
- Converting shell scripts into idempotent Ansible tasks
Best practices
- Always use fully qualified collection names (e.g., ansible.builtin.copy) instead of short module names
- Keep secrets and environment-specific values in group_vars/host_vars or use vault, not hardcoded values
- Follow a consistent project structure (ansible.cfg, inventory, group_vars, host_vars, roles, playbooks)
- Add changed_when/failed_when for commands and use handlers with notify and meta: flush_handlers when needed
- Run ansible-playbook --syntax-check and --check --diff before applying changes to production
Example use cases
- Create a role that installs packages, deploys config templates, and ensures services are enabled and started
- Debug a playbook failing due to an unquoted string containing a colon or a YAML indentation issue
- Convert a maintenance shell script into a playbook with idempotent file and service tasks
- Implement a safe upgrade task using block/rescue/always for rollback and cleanup
- Validate inventory and host-specific variables with ansible-inventory --list and --host hostname
FAQ
Run ansible-playbook --check --diff playbook.yml to simulate changes and preview diffs for file edits.
Where should I put default values and environment-specific overrides?
Put defaults in roles/<role>/defaults/main.yml and environment or host overrides in group_vars/ or host_vars/ respectively; extra vars (-e) have the highest precedence.
Why did a handler not run after a notified task?
Handlers run at the end of the play; use meta: flush_handlers before dependent tasks if you need immediate handler execution.