Ansible ai-forge — Community AI Skills for Content Development

Introduction

The ansible-community/ai-forge repository is the official community project for developing AI-powered skills that assist Ansible content developers. These skills help AI assistants understand Ansible conventions, generate correct playbook code, validate automation content, and follow community best practices.

As of May 2026, the project has established its core structure and is actively seeking contributions for new skills, testing strategies, and organizational improvements.

What Are AI Skills?

AI skills are structured instruction sets that teach AI assistants how to perform specific Ansible tasks correctly:

┌──────────────────────────────────────────┐
│  AI Skill: "Write Ansible Role"          │
│                                          │
│  - Directory structure conventions       │
│  - Variable naming patterns              │
│  - Handler best practices                │
│  - Meta/main.yml requirements            │
│  - Molecule test scaffolding             │
│  - Galaxy metadata standards             │
└──────────────────────────────────────────┘
         │
         ▼
   AI generates correct,
   community-standard roles

Repository Structure

ai-forge/
├── skills/
│   ├── role-development/
│   │   ├── SKILL.md           # Skill instructions
│   │   ├── examples/          # Reference examples
│   │   └── tests/             # Validation tests
│   ├── playbook-writing/
│   │   ├── SKILL.md
│   │   └── examples/
│   ├── collection-development/
│   │   ├── SKILL.md
│   │   └── examples/
│   └── module-development/
│       ├── SKILL.md
│       └── examples/
├── CONTRIBUTING.md
├── README.md
└── docs/
    ├── skill-format.md
    └── testing-guide.md

Skill Format

Each skill follows a standard structure:

# SKILL.md — Role Development

## Purpose
Guide AI assistants in creating Ansible roles that follow community standards.

## Context
Use this skill when asked to create, modify, or review an Ansible role.

## Instructions

### Directory Structure
Always create roles with this structure:
├── defaults/main.yml    # Default variables (overridable)
├── handlers/main.yml    # Handler definitions
├── meta/main.yml        # Role metadata and dependencies
├── tasks/main.yml       # Main task file
├── templates/           # Jinja2 templates
├── files/               # Static files
├── vars/main.yml        # Role variables (not overridable)
└── molecule/            # Tests

### Naming Conventions
- Role names: lowercase, underscores (e.g., `install_nginx`)
- Variables: prefix with role name (e.g., `nginx_port`)
- Handlers: descriptive (e.g., `Restart nginx`)

### Required Practices
- Always use FQCNs (e.g., `ansible.builtin.template`)
- Include `ansible_managed` comment in templates
- Set `mode` on all file/template tasks
- Use `ansible.builtin.validate` for config files

Contributing Skills

Step 1: Identify a Gap

# Check existing skills
ls ai-forge/skills/

# Look for open issues requesting skills
# Check the forum discussion for requested topics

Step 2: Create Your Skill

# Fork and clone
git clone https://github.com/YOUR_USER/ai-forge.git
cd ai-forge

# Create skill directory
mkdir -p skills/my-new-skill/examples

# Write the skill
cat > skills/my-new-skill/SKILL.md << 'EOF'
# My New Skill

## Purpose
...

## Instructions
...

## Examples
See `examples/` directory.
EOF

Step 3: Add Examples

# skills/my-new-skill/examples/good-example.yml
---
# GOOD: Follows community standards
- name: Install and configure Nginx
  hosts: webservers
  become: true

  tasks:
    - name: Install Nginx package
      ansible.builtin.package:
        name: nginx
        state: present

    - name: Deploy configuration
      ansible.builtin.template:
        src: nginx.conf.j2
        dest: /etc/nginx/nginx.conf
        owner: root
        group: root
        mode: '0644'
        validate: nginx -t -c %s
      notify: Restart Nginx

  handlers:
    - name: Restart Nginx
      ansible.builtin.systemd:
        name: nginx
        state: restarted
# skills/my-new-skill/examples/bad-example.yml
---
# BAD: Common mistakes to avoid
- hosts: webservers
  tasks:
    - name: install nginx  # lowercase task name
      apt: name=nginx      # not FQCN, inline args
    - template:            # no name, no FQCN
        src: nginx.conf.j2
        dest: /etc/nginx/nginx.conf
        # missing: owner, group, mode, validate, notify

Step 4: Submit PR

git checkout -b add-my-skill
git add skills/my-new-skill/
git commit -m "Add skill: my-new-skill"
git push origin add-my-skill
# Open PR on GitHub

Skill Categories Needed

The project is actively seeking skills for:

CategoryStatusDescription
Role developmentIn progressCreating standards-compliant roles
Playbook writingIn progressTask naming, idempotency, FQCN usage
Collection developmentNeededGalaxy metadata, plugin structure
Module developmentNeededPython module API, argument specs
TestingNeededMolecule, integration tests, CI
SecurityNeededVault, secret management, hardening
Network automationNeededDevice-specific patterns, resource modules
Windows automationNeededWinRM, Windows modules, DSC
Inventory pluginsNeededDynamic inventory development
Filter/test pluginsNeededCustom Jinja2 filters

Testing Skills

# Test that an AI skill produces correct output
# (Testing methodology is still being developed)

# Option 1: Manual review
# Give the skill to an AI, ask it to generate content, review output

# Option 2: Automated validation
# Run ansible-lint on generated content
ansible-lint generated-playbook.yml

# Option 3: Molecule test generated roles
cd generated-role/
molecule test

How to Get Involved

  1. Review existing skills and PRs — provide feedback on quality and completeness
  2. Share feedback on structure — how should skills be organized?
  3. Contribute new skills — fill gaps in the skill catalog
  4. Suggest external skills — know of useful skills from other repos?
  5. Help with testing — how should we validate skill quality?

Resources

  • Repository: github.com/ansible-community/ai-forge
  • Forum Discussion: "Announcing ansible-community/ai-forge repo"
  • Chat: #ansible-community on Matrix

Conclusion

The ai-forge project is shaping how AI assistants understand and generate Ansible automation. By contributing skills, you ensure that AI-generated Ansible code follows community standards, uses FQCNs, includes proper error handling, and follows security best practices. The project is early-stage and actively seeking contributors — now is the time to shape the future of AI-assisted Ansible development.