Generates Ansible playbooks, roles, inventories, and configs for server provisioning, app deployment, service configuration, and idempotent automation.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin ansible-playbook-creatorThis skill is limited to using the following tools:
Generate production-ready Ansible playbooks, roles, and inventories for infrastructure automation. Supports provisioning servers, deploying applications, configuring services, and enforcing desired state across fleets of machines using SSH-based agentless automation.
Guides writing Ansible playbooks, roles, inventories, and module usage for IT automation, configuration management, and infrastructure tasks.
Provides examples and best practices for writing Ansible playbooks to automate configuration management, server setup, and infrastructure orchestration.
Generates or scaffolds Ansible playbooks, roles, tasks, handlers, inventory, and vars from requests. Handles full projects, snippets, or docs with templates and best practices.
Share bugs, ideas, or general feedback.
Generate production-ready Ansible playbooks, roles, and inventories for infrastructure automation. Supports provisioning servers, deploying applications, configuring services, and enforcing desired state across fleets of machines using SSH-based agentless automation.
ansible --version)ansible-lint installed for playbook validationansible.cfg, inventory/, roles/, group_vars/) to understand current structurehosts, become, vars, tasks, handlerstasks/, handlers/, templates/, defaults/, vars/, meta/)group_vars/ and host_vars/ for environment-specific values, keeping secrets in vault-encrypted filesansible-lint and ansible-playbook --check --diff (dry run).yml) with structured tasks, handlers, and variables.j2) for dynamic configuration filesgroup_vars/ and host_vars/ for environment separationansible.cfg with connection and privilege escalation settings| Error | Cause | Solution |
|---|---|---|
unreachable: Failed to connect to host | SSH connection failure or wrong host/port | Verify SSH keys, host IPs, and that port 22 is open with ansible -m ping |
permission denied on become | Missing or incorrect sudo password | Add --ask-become-pass or configure ansible_become_password in vault |
undefined variable | Variable not defined in vars, defaults, or inventory | Check variable precedence; define in defaults/main.yml or group_vars/ |
ansible-lint: syntax-check failed | YAML syntax error or deprecated module usage | Run ansible-lint -v and fix reported issues; replace deprecated modules |
changed on every run (not idempotent) | Using command/shell without creates/removes guards | Add creates: parameter or switch to purpose-built modules (copy, template, file) |