Agent skill

ansible

Ansible automation and configuration management patterns. Use when writing Ansible playbooks, roles, or automating infrastructure configuration and deployment tasks.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/ansible-jpoutrin-product-forge

SKILL.md

Ansible Skill

This skill provides Ansible automation patterns and best practices.

Playbook Structure

yaml
---
- name: Configure web servers
  hosts: webservers
  become: true
  vars:
    http_port: 80

  tasks:
    - name: Install nginx
      ansible.builtin.apt:
        name: nginx
        state: present
      notify: Restart nginx

  handlers:
    - name: Restart nginx
      ansible.builtin.service:
        name: nginx
        state: restarted

Role Structure

roles/
└── webserver/
    ├── defaults/main.yml    # Default variables
    ├── handlers/main.yml    # Handler definitions
    ├── tasks/main.yml       # Task list
    ├── templates/           # Jinja2 templates
    ├── files/               # Static files
    └── vars/main.yml        # Role variables

Best Practices

Use Fully Qualified Collection Names

yaml
# ✅ Good
- ansible.builtin.apt:
    name: nginx

# ❌ Bad (ambiguous)
- apt:
    name: nginx

Idempotent Tasks

yaml
# Tasks should be safe to run multiple times
- name: Ensure config exists
  ansible.builtin.template:
    src: config.j2
    dest: /etc/app/config.yml
  # Only changes if content differs

Use Handlers for Service Restarts

yaml
tasks:
  - name: Update config
    template:
      src: nginx.conf.j2
      dest: /etc/nginx/nginx.conf
    notify: Restart nginx

handlers:
  - name: Restart nginx
    service:
      name: nginx
      state: restarted

Inventory Best Practices

ini
[webservers]
web1.example.com
web2.example.com

[dbservers]
db1.example.com

[production:children]
webservers
dbservers

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results