Ansible Designer — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Ansible Designer (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
Aggregate score unchanged between these scans.
The primary manifest — the file an agent reads to learn what this artifact does.
▐▛███▜▌ Claude Code
▝▜█████▛▘ Sonnet 4.6 · Claude
▘▘ ▝▝ ansible-designer/
⎿ SessionStart:startup says: [ansible-designer 0.1.7]
──────────────────────────────────────────────────────────
█████╗ ███╗ ██╗███████╗██╗██████╗ ██╗ ███████╗
██╔══██╗████╗ ██║██╔════╝██║██╔══██╗██║ ██╔════╝
███████║██╔██╗ ██║███████╗██║██████╔╝██║ █████╗
██╔══██║██║╚██╗██║╚════██║██║██╔══██╗██║ ██╔══╝
██║ ██║██║ ╚████║███████║██║██████╔╝███████╗███████╗
╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝╚═╝╚═════╝ ╚══════╝╚══════╝
██████╗ ███████╗███████╗██╗ ██████╗ ███╗ ██╗███████╗██████╗
██╔══██╗██╔════╝██╔════╝██║██╔════╝ ████╗ ██║██╔════╝██╔══██╗
██║ ██║█████╗ ███████╗██║██║ ███╗██╔██╗ ██║█████╗ ██████╔╝
██║ ██║██╔══╝ ╚════██║██║██║ ██║██║╚██╗██║██╔══╝ ██╔══██╗
██████╔╝███████╗███████║██║╚██████╔╝██║ ╚████║███████╗██║ ██║
╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚══════╝╚═╝ ╚═╝
───────────────────────────────────────────────────────────────
❯ /ansible-designer
───────────────────────────────────────────────────────────────AI-assisted Ansible authoring toolkit for Claude Code. Scaffolds, reviews, and updates playbooks, roles, collections, and ansible.cfg files following ansible-core 2.15+ conventions and production best practices.
Using Claude Code:
/plugin marketplace add 3A2DEV/ansible-designer/plugin install ansible-designernpx skills add 3A2DEV/ansible-designer --skill '*'Both options register each skill as a top-level command (e.g. /new-playbook, /review-role).
Requirements:
| Command | Description |
|---|---|
/ansible-designer | Show this overview and available commands |
| Playbooks | |
/new-playbook | Create a new playbook (site, component, or AWX-ready) |
/review-playbook | Review a playbook — severity report, no file modification |
/update-playbook | Update a playbook — diff + confirm before writing |
| Roles | |
/new-role | Scaffold a complete role (asks about multi-OS support) |
/review-role | Review a role — severity report, no file modification |
/update-role | Update a role — diff + confirm before writing |
| Collections | |
/new-collection | Scaffold a new collection with galaxy.yml, plugins, roles |
/review-collection | Review a collection — severity report, no file modification |
/update-collection | Update a collection — diff + confirm before writing |
| ansible.cfg | |
/new-conf | Generate annotated ansible.cfg for dev, CI, or AWX |
/review-conf | Review ansible.cfg — severity report, no file modification |
/update-conf | Update ansible.cfg — diff + confirm before writing |
Every command begins by scanning the project for context:
CLAUDE.md → ansible.cfg → README.md → filesystem scanDiscovery extracts:
roles_path — where roles livecollections_paths — where collections liveThis context is used to suggest smart defaults, resolve FQCNs, and skip questions the user doesn't need to answer.
Every command enforces these rules:
ansible.builtin.copy, never copyinstall, configure, service, validate)/new-role
> Role name: nginx
> Location: ./roles/
> Multi-OS support: yes
→ Generates roles/nginx/ with 12 files including OS-specific task and var files/review-playbook deploy-app.yml
## Playbook Review: deploy-app.yml
### CRITICAL
- [tasks:line 15] Task "Restart service" uses bare module name 'service' — must use FQCN 'ansible.builtin.service'
### WARNING
- [tasks:line 22] Task "Run migration" uses shell without idempotency guard
### INFO
- Playbook is missing a documentation header/new-conf
> Environment: awx
→ Generates ./ansible.cfg with Redis fact caching, AWX callback configuration,
strict SSH settings, and annotated vault identity list/update-conf
> Change: enable fact caching with redis
⚠ Warning: 1 line(s) with credential-like values were redacted from this display.
Review the file directly before applying changes.
--- ansible.cfg (original)
+++ ansible.cfg (proposed)
@@ -8,6 +8,10 @@
forks = 10
timeout = 30
+
+# Fact caching: redis (shared across controller nodes; configure auth via REDIS_URL or vault)
+fact_caching = redis
+fact_caching_connection = redis://:{{ vault_redis_password }}@cache.internal:6379/0
+fact_caching_timeout = 86400
Apply this change? (yes/no)/new-collection
> collection_path: ./collections/ansible_collections/
> namespace: myorg
> collection_name: security_baseline
> description: Baseline security hardening collection for RHEL targets
> author: ops-team <[email protected]>
Will create: ./collections/ansible_collections/myorg/security_baseline/ (13 files)
galaxy.yml — namespace: myorg, name: security_baseline, version: 0.1.0
README.md — collection overview
CHANGELOG.md — v0.1.0 initial
LICENSE — Apache 2.0
meta/runtime.yml — requires_ansible: >=2.15.0
plugins/modules/get_info.py
plugins/filter/string_filters.py
plugins/lookup/config_value.py
roles/.gitkeep
tests/integration/.gitkeep
tests/unit/.gitkeep
Proceed? (yes/no)See the examples/ directory for working Ansible projects:
| Example | Description |
|---|---|
simple-playbook/ | Complete site playbook with inventory, group_vars, and bundled example roles |
role-rhel/ | Full nginx role targeting RHEL 8/9 |
role-multiplatform/ | NTP role for RHEL + Solaris + Windows |
local-collection/ | Complete local collection with module, filter, and lookup plugins |
ansible-cfg-profiles/ | Development, CI, and controller-oriented ansible.cfg profiles |
inventory-vault/ | Safe inventory and vault-wrapper example layout |
See CONTRIBUTING.md.
Apache 2.0 — see LICENSE.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.