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:
| Category | Status | Description |
|---|---|---|
| Role development | In progress | Creating standards-compliant roles |
| Playbook writing | In progress | Task naming, idempotency, FQCN usage |
| Collection development | Needed | Galaxy metadata, plugin structure |
| Module development | Needed | Python module API, argument specs |
| Testing | Needed | Molecule, integration tests, CI |
| Security | Needed | Vault, secret management, hardening |
| Network automation | Needed | Device-specific patterns, resource modules |
| Windows automation | Needed | WinRM, Windows modules, DSC |
| Inventory plugins | Needed | Dynamic inventory development |
| Filter/test plugins | Needed | Custom 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
- Review existing skills and PRs — provide feedback on quality and completeness
- Share feedback on structure — how should skills be organized?
- Contribute new skills — fill gaps in the skill catalog
- Suggest external skills — know of useful skills from other repos?
- 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-communityon 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.