review-collection — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited review-collection (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.
Review an Ansible collection and produce a structured severity report. This command never modifies files.
namespace.name or path to collection root (resolved from discovery if not provided)Run discovery per references/discovery.md. Locate the collection:
namespace.name in collections_path directoriesRead galaxy.yml, meta/runtime.yml, README.md, CHANGELOG.md, LICENSE. Scan plugins/, roles/, playbooks/, tests/ directories.
## Collection Review: <namespace>.<name>
Path: <collection_path>
Version: <version>
Reviewed: <timestamp>
---
### CRITICAL
[Critical issues]
### WARNING
[Warnings]
### INFO
[Informational notes]
---
Summary: <X> critical, <Y> warnings, <Z> info| Check | Condition | Message |
|---|---|---|
| galaxy.yml missing | File does not exist | CRITICAL: galaxy.yml is missing — collection is not valid without it |
| galaxy.yml: namespace missing | namespace field absent or empty | [galaxy.yml] Required field 'namespace' is missing |
| galaxy.yml: name missing | name field absent or empty | [galaxy.yml] Required field 'name' is missing |
| galaxy.yml: version missing | version field absent or empty | [galaxy.yml] Required field 'version' is missing |
| galaxy.yml: invalid version | Version is not semver (MAJOR.MINOR.PATCH) | [galaxy.yml] Version '<ver>' is not valid semantic versioning (expected MAJOR.MINOR.PATCH) |
| galaxy.yml: authors missing | authors list is empty or absent | [galaxy.yml] Required field 'authors' is missing or empty |
| Module syntax error | A plugin file has a Python syntax error | [plugins/modules/<file>] Python syntax error: <error> |
| Check | Condition | Message |
|---|---|---|
| README.md missing | File does not exist | README.md is missing — add a collection overview with installation and usage instructions |
| CHANGELOG.md missing | File does not exist | CHANGELOG.md is missing — document version history for users |
| LICENSE missing | File does not exist | LICENSE file is missing — add a license (Apache 2.0 recommended) |
| meta/runtime.yml missing | File does not exist | meta/runtime.yml is missing — add 'requires_ansible' constraint |
| meta/runtime.yml: no requires_ansible | requires_ansible absent | [meta/runtime.yml] 'requires_ansible' not set — recommend adding ">=2.15.0" |
| galaxy.yml: no dependencies listed | Dependencies field absent or empty when community collections are likely needed | [galaxy.yml] No dependencies declared — if this collection uses community.general or similar, add them |
| galaxy.yml: no tags | tags field absent or empty | [galaxy.yml] No tags set — add relevant tags to improve Galaxy discoverability |
| Role quality issues | Any role fails review-role checks | For each failing role, add a WARNING with the role name and check that failed |
| Module missing DOCUMENTATION | A plugin module lacks the DOCUMENTATION constant | [plugins/modules/<file>] Module is missing DOCUMENTATION block — required for ansible-doc |
| Module missing EXAMPLES | A plugin module lacks the EXAMPLES constant | [plugins/modules/<file>] Module is missing EXAMPLES block |
| Module missing RETURN | A plugin module lacks the RETURN constant | [plugins/modules/<file>] Module is missing RETURN block |
| Missing test guidance for plugins | Collection contains plugins but no ansible-test or usage guidance | [tests/] Collection contains plugins but has no clear validation path aligned with references/testing.md |
| Check | Condition | Message |
|---|---|---|
| No roles defined | roles/ directory is empty | No roles found in roles/ — use /ansible-designer:new-role to add a role |
| No tests defined | tests/ directory is empty | No tests found — consider adding integration tests for CI validation |
| No playbooks | playbooks/ directory is empty | No example playbooks found — consider adding a usage example in playbooks/ |
| galaxy.yml: no repository | repository field absent | [galaxy.yml] No repository URL set |
| galaxy.yml: description too long | description > 255 characters | [galaxy.yml] Description is <N> characters — Galaxy recommends under 255 |
For each role found in roles/:
[roles/<role_name>]/ansible-designer:update-collection to apply fixes."~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.