ansible — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ansible (Agent Skill) 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.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
configuration schemas.
documentation cannot be retrieved via live search.
meta/main.yml for every role with explicitly defined dependencies.host_vars and group_vars.defaults/main.yml and override only when necessary.assert module.command or shell modules strictly to scenarios where no dedicated module exists.shell or command modules must be used, require creates or removes parameters to guarantee idempotency.changed_when and failed_when parameters to artificially mask non-idempotent behavior.become explicitly only on tasks that require root privileges.become at the playbook level unless completely unavoidable.become_user when switching to non-root system accounts.tasks.
ansible-lint for all generated code to ensure compliance.verify.yml playbooks to confirm infrastructure state post-execution.git checkout remote/master -- path/to/files to extract specific Ansible AI configuration files into projects.requirements.yml.ansible_os_family or ansible_distribution gathered facts to dynamically route execution to OS-specifictask files.
include_vars module. Never hardcodepackage names directly in task files.
ansible.builtin.aptcommunity.general.pacmanansible.builtin.dnfchocolatey.chocolatey.win_chocolatey. Do not use ansible.windows.win_chocolatey.community.general.homebrewUse block / rescue / always for any task group that modifies system state and may need rollback:
- block:
- name: Deploy application
# ... tasks
rescue:
- name: Rollback on failure
# ... rollback tasks
always:
- name: Send notification
# ... notification tasksrescue block must restore the system to a known-good state and log the failure with the error message.always block must run cleanup tasks (remove temp files, release locks) regardless of success or failure.ansible.cfg (pipelining = True) to reduce SSH connection overhead for multi-taskplaybooks.
ansible.cfg to reuse SSH connections:[ssh_connection]
pipelining = True
ssh_args = -o ControlMaster=auto -o ControlPersist=60sasync with poll: 0 for long-running tasks (package installs, service restarts), then use async_status towait for completion, allowing other tasks to run in parallel.
fact_caching = jsonfile) for large inventories to avoid re-gathering facts on every run.amazon.aws.aws_ec2google.cloud.gcp_computeazure.azcollection.azure_rminventory/ directory as YAML files committed to the repository.filters and keyed_groups to create logical host groups without hardcoding IPs.[Environment] Role/Action Description (e.g.,[Prod] Deploy Web Application).
requirements.yml:collections:
- name: community.general
version: "9.x.x"
- name: amazon.aws
version: "8.x.x"ansible-galaxy collection install -r requirements.yml --force in CI to ensure reproducible collection installs.version: "*" or omit the version field in requirements.yml.Run automation through the following gate sequence in CI before any production execution:
ansible-lint: zero violations.ansible-playbook --syntax-check: zero errors.ansible-playbook --check --diff against a staging inventory: review diff output.verify.yml assertions to confirm the expected infrastructure state.against production by itself. Production execution requires an explicit approval gate, such as an AWX/AAP Job Template with an approval node, or a manually triggered workflow_dispatch run.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.