agentsclimarketplace

Review role

Skill 3A2DEV/ansible-designer/skills/review-role

Claude code ansible skill

Install
npx -y skills add 3A2DEV/ansible-designer --skill review-role

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Review an existing Ansible role and produce a structured severity report grouped by CRITICAL, WARNING, and INFO. Triggered by /review-role. Checks directory structure completeness, task FQCN, tag coverage, no_log on secret tasks, defaults vs vars usage, meta/main.yml validity, and handler correctness. NEVER modifies files.

SKILL.md

4.7 KB, as published. Nobody here has run it

review-role

Review an Ansible role and produce a structured severity report. This command never modifies files.


Required Inputs

  1. role_name or FQCN — The role to review (resolved from discovery if not provided)

Behavior

Step 1 — Discovery

Run discovery per references/discovery.md. Locate the role:

  • By name in roles_path directories
  • By FQCN in collections_path directories

Step 2 — Load Role

Read all files in the role directory: tasks/, defaults/, vars/, handlers/, meta/, templates/.

Step 3 — Generate Severity Report

## Role Review: <role_name>
Path: <role_path>
Reviewed: <timestamp>
Tasks found: <count>  Handlers: <count>

---

### CRITICAL
[Critical issues]

### WARNING
[Warnings]

### INFO
[Informational notes]

---
Summary: <X> critical, <Y> warnings, <Z> info

Checks to Perform

CRITICAL

CheckConditionMessage
Bare module namesAny task uses module without FQCN[tasks/main.yml:line <N>] Task "<name>" uses bare module name '<mod>' — must use FQCN
Missing no_log on secretsTask has password:, secret:, token:, or references vault_* variables without no_log: true[tasks/main.yml:line <N>] Task "<name>" handles secrets without no_log: true
Deprecated include syntaxUse of bare include:[tasks/main.yml:line <N>] Deprecated 'include:' — use ansible.builtin.include_tasks or ansible.builtin.import_tasks
Missing tasks/main.ymlThe file does not existCRITICAL: tasks/main.yml is missing — role has no entry point
Meta/main.yml missing required fieldsgalaxy_info is absent or missing author/description/min_ansible_version[meta/main.yml] Missing required galaxy_info field: <field>

WARNING

CheckConditionMessage
Untagged tasksAny task without tags:[tasks/main.yml:line <N>] Task "<name>" has no tags — add component name + action category
vars/ used for overridable valuesVariable in vars/main.yml that clearly should be in defaults/ (e.g., port, version)[vars/main.yml] Variable '<var>' looks like an operator-overridable default — consider moving to defaults/main.yml
defaults/ used for internal constantsVariable in defaults/main.yml with underscore prefix or clearly internal[defaults/main.yml] Variable '<var>' looks like an internal constant — consider moving to vars/main.yml
Missing directoryStandard dir (files/, templates/, handlers/) absentDirectory '<dir>/' is missing from role structure (not required but recommended)
Handler not referencedHandler defined in handlers/main.yml but no task calls notify: for it[handlers/main.yml] Handler '<name>' is defined but never notified by any task
Orphaned notifyTask notifies a handler name that doesn't exist in handlers/main.yml[tasks/main.yml:line <N>] Task notifies '<name>' but no handler with that name/listen exists
Shell/command without idempotencyansible.builtin.shell or ansible.builtin.command without creates:, removes:, or changed_when:[tasks/main.yml:line <N>] Task "<name>" uses shell/command without idempotency guard
meta/main.yml: min_ansible_version not setmin_ansible_version absent[meta/main.yml] min_ansible_version not set — recommend setting to "2.15"

INFO

CheckConditionMessage
No tests/ directorytests/ absentNo tests/ directory found — consider adding tests/test.yml for smoke testing
No validation guidancerole has example content but no clear smoke-test pathAdd tests/test.yml or README validation guidance aligned with references/testing.md
No README.mdRole has no READMERole is missing a README.md — document variables, dependencies, and usage
tasks/main.yml lacks assertionsNo ansible.builtin.assert in tasks/main.ymlConsider adding an assert to validate minimum Ansible version or required variables
Templates not validatedansible.builtin.template task without validate: parameter[tasks/main.yml:line <N>] Template task for <dest> could use 'validate:' to verify syntax before deployment

Constraints

  • Never modify files. This command is read-only.
  • Do not generate a "fixed" version of any file.
  • Do not suggest sed/awk commands.
  • Conclude with: "Use /ansible-designer:update-role to apply fixes."

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.