Generates Ansible playbooks, roles, inventories, and configs for server provisioning, app deployment, service configuration, and idempotent automation.
From ansible-playbook-creatornpx claudepluginhub nickloveinvesting/nick-love-plugins --plugin ansible-playbook-creatorThis skill is limited to using the following tools:
assets/README.mdassets/playbook_template.ymlassets/validation_rules.ymlreferences/README.mdscripts/README.mdscripts/secure_playbook.pyscripts/test_playbook.shscripts/validate_playbook.pyGuides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
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) |