← ClaudeAtlas

update-rolelisted

Update an existing Ansible role. Triggered by /update-role. Reads specific role files, applies the requested change following all global rules (FQCN, tags, no_log), shows a unified diff per file, waits for explicit user confirmation, then writes. Never overwrites silently.
3A2DEV/ansible-designer · ★ 5 · Data & Documents · score 63
Install: claude install-skill 3A2DEV/ansible-designer
# update-role Update one or more files in an existing Ansible role. Always shows a diff and waits for confirmation before writing. --- ## Required Inputs 1. **role_name or FQCN** — The role to update (resolved from discovery) 2. **change_description** — What to change (e.g., "add Windows support", "fix bare module names in tasks/main.yml", "add SELinux task to RedHat.yml") --- ## Behavior ### Step 1 — Discovery Locate the role via discovery (`references/discovery.md`). ### Step 2 — Load Target Files Read only the files relevant to the requested change. If the change affects multiple files (e.g., "add multi-OS support"), read all affected files. ### Step 2a — Secret Scan (before any output) Before displaying any content or diff — especially for `defaults/main.yml`, `vars/*.yml`, and `group_vars/` files — scan every loaded file for credential-like values: - Match lines or YAML values where the key contains `password`, `secret`, `token`, `api_key`, `private_key`, `pass`, or `credential` - **Skip** lines where the value is already a vault reference (`{{ vault_* }}`), a task option (`no_log`, `register`, `when`), empty, or `None` - For any remaining matches, **redact the value** in all output: `db_password: "***REDACTED***"` - Emit a warning at the top of each affected file's diff block: ``` ⚠ Warning: N line(s) with credential-like values were redacted from this display. Review the file directly before applying changes. ``` - Never output actual credential valu