CtrlK
BlogDocsLog inGet started
Tessl Logo

ansible

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

86

Quality

84%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

SKILL.md
Quality
Evals
Security

Ansible Skill

This skill provides Ansible automation patterns and best practices.

Playbook Structure

---
- 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

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

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

Idempotent Tasks

# 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

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

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

[dbservers]
db1.example.com

[production:children]
webservers
dbservers
Repository
jpoutrin/product-forge
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.