Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/akin-ozer/cc-devops-skillsnpx agentmods add skills/akin-ozer/cc-devops-skills/ansible-validatorWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/akin-ozer/cc-devops-skills/ansible-validator)<a href="https://agentmods.dev/skills/akin-ozer/cc-devops-skills/ansible-validator"><img src="https://agentmods.dev/badge/skills/akin-ozer/cc-devops-skills/ansible-validator.svg" alt="Measured on agentmods" height="20"></a>- Socket warn
- Snyk warn
- NVIDIA SkillSpector warn
SkillSpector: 5 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high System Prompt Leakage · line 222 Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.Fix: Remove any instructions that reveal, print, or output system prompts or internal rules. System instructions should never be exposed to end users.
- high Tool Misuse · line 282 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
- medium Privilege Escalation · line 717 Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.Fix: Avoid sudo/root unless strictly required. Prefer least-privilege patterns. If elevation is needed, document the justification and scope.
- medium Tool Misuse · line 721 Tool defaults are unsafe or overly permissive (e.g. disabled TLS verification, no authentication, world-writable permissions). Unsafe defaults widen the attack surface.Fix: Override unsafe defaults with secure settings (verify=True, auth required, restrictive permissions). Review and harden all tool configurations.
- low Privilege Escalation · line 720 Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.Fix: Request only the minimum permissions required. Document why each permission is needed. Remove broad permissions like '*' or 'all'.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00027 | $0.09411 |
| Opus 5 | $0.00014 | $0.04705 |
| Sonnet 5 | $0.00005 | $0.01882 |
| Haiku 4.5 | $0.00003 | $0.00941 |
Grade A, and why
ansible-validator scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Asks for rootlowPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
- Over-permissive sudo rules Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.
How it starts
The opening of the file, as written. The whole thing — 1,128 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Ansible Validator
Overview
Comprehensive toolkit for validating, linting, and testing Ansible playbooks, roles, and collections. This skill provides automated workflows for ensuring Ansible code quality, syntax validation, dry-run testing with check mode and molecule, and intelligent documentation lookup for custom modules and collections with version awareness.
Default behavior: When validating any Ansible role with a molecule/ directory, attempt Molecule automatically using bash scripts/test_role.sh <role-path>. If Molecule cannot run due to environment/runtime limits, mark Molecule as BLOCKED, report why, and continue all non-Molecule validation steps.
Trigger Guidance
Use this skill when the request is about validating or debugging existing Ansible code, not generating new code.
Common trigger phrases:
- "validate this playbook"
- "lint this role"
- "why is ansible-lint failing"
- "run check mode safely"
- "test this role with molecule"
- "find security issues in these Ansible files"
- "module not found in this collection"
When to Use This Skill
Apply this skill when encountering any of these scenarios:
- Working with Ansible files (
.yml,.yamlplaybooks, roles, inventories, vars) - Validating Ansible playbook syntax and structure
- Linting and formatting Ansible code
- Performing dry-run testing with
ansible-playbook --check - Testing roles and playbooks with Molecule
- Debugging Ansible errors or misconfigurations
- Understanding custom Ansible modules, collections, or roles
- Ensuring infrastructure-as-code best practices
- Security validation of Ansible playbooks
- Version compatibility checks for collections and modules
Preflight (Run First)
Run preflight before validation to avoid dead ends:
bash scripts/setup_tools.sh
Command path assumption: run commands from this skill root (devops-skills-plugin/skills/ansible-validator) or use absolute paths.
Preflight requirements:
- Baseline validation:
ansible,ansible-playbook,ansible-lint(plusyamllintrecommended) - Molecule execution:
moleculeplus an available runtime (dockerorpodman) - Security scanning:
checkov(wrapper can bootstrap if missing)
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- .gitignore 10 B
- assets/.ansible-lint 2.7 KB
- assets/.yamllint 1.7 KB
- assets/molecule.yml.template 3.2 KB
- references/best_practices.md 19 KB
- references/common_errors.md 14 KB
- references/module_alternatives.md 7.4 KB
- references/security_checklist.md 11 KB
- scripts/check_fqcn.sh 10 KB runs code
- scripts/extract_ansible_info_wrapper.sh 1.0 KB runs code
- scripts/extract_ansible_info.py 12 KB runs code
- scripts/scan_secrets.sh 7.8 KB runs code
- scripts/setup_tools.sh 8.4 KB runs code
- scripts/test_role.sh 9.4 KB runs code
- scripts/validate_inventory.sh 11 KB runs code
- scripts/validate_playbook_security.sh 6.7 KB runs code
- scripts/validate_playbook.sh 7.2 KB runs code
- scripts/validate_role_security.sh 6.8 KB runs code
- scripts/validate_role.sh 11 KB runs code
- test/inventory/localhost-nested.yml 95 B
- test/playbooks/bad-playbook.yml 2.0 KB
- test/playbooks/good-playbook.yml 2.2 KB
- test/playbooks/regression-inline-fqcn.yml 395 B
- test/playbooks/regression-mixed-import.yml 200 B
- test/README.md 10 KB
- test/roles/geerlingguy.mysql/.ansible-lint 38 B
- test/roles/geerlingguy.mysql/.github/FUNDING.yml 91 B
- test/roles/geerlingguy.mysql/.github/workflows/ci.yml 1.8 KB
- test/roles/geerlingguy.mysql/.github/workflows/release.yml 1016 B
- test/roles/geerlingguy.mysql/.github/workflows/stale.yml 1.7 KB
- test/roles/geerlingguy.mysql/.gitignore 8 B
- test/roles/geerlingguy.mysql/.yamllint 117 B
- test/roles/geerlingguy.mysql/defaults/main.yml 4.5 KB
- test/roles/geerlingguy.mysql/handlers/main.yml 105 B
- test/roles/geerlingguy.mysql/LICENSE 1.1 KB
- test/roles/geerlingguy.mysql/meta/main.yml 470 B
- test/roles/geerlingguy.mysql/molecule/default/converge.yml 1.8 KB
- test/roles/geerlingguy.mysql/molecule/default/molecule.yml 477 B
- test/roles/geerlingguy.mysql/README.md 9.2 KB
- test/roles/geerlingguy.mysql/tasks/configure.yml 2.8 KB
- test/roles/geerlingguy.mysql/tasks/databases.yml 346 B
- test/roles/geerlingguy.mysql/tasks/main.yml 1004 B
- test/roles/geerlingguy.mysql/tasks/replication.yml 2.7 KB
- test/roles/geerlingguy.mysql/tasks/secure-installation.yml 4.6 KB
- test/roles/geerlingguy.mysql/tasks/setup-Archlinux.yml 526 B
- test/roles/geerlingguy.mysql/tasks/setup-Debian.yml 1.2 KB
- test/roles/geerlingguy.mysql/tasks/setup-RedHat.yml 225 B
- test/roles/geerlingguy.mysql/tasks/users.yml 606 B
- test/roles/geerlingguy.mysql/tasks/variables.yml 1.9 KB
- test/roles/geerlingguy.mysql/templates/my.cnf.j2 4.2 KB
- test/roles/geerlingguy.mysql/templates/root-my.cnf.j2 376 B
- test/roles/geerlingguy.mysql/templates/user-my.cnf.j2 108 B
- test/roles/geerlingguy.mysql/vars/Archlinux.yml 390 B
- test/roles/geerlingguy.mysql/vars/Debian-10.yml 437 B
- test/roles/geerlingguy.mysql/vars/Debian-11.yml 438 B
- test/roles/geerlingguy.mysql/vars/Debian-12.yml 439 B
- test/roles/geerlingguy.mysql/vars/Debian-13.yml 439 B
- test/roles/geerlingguy.mysql/vars/Debian.yml 450 B
- test/roles/geerlingguy.mysql/vars/RedHat-10.yml 630 B
- test/roles/geerlingguy.mysql/vars/RedHat-7.yml 466 B
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 1,128 lines · 27 tokens per session scan A 7fe3137edee6
ansible-validator is a skill published in the GitHub repository akin-ozer/cc-devops-skills (306 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 27 tokens to every session and 9,411 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (asks for root). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
debug-optimize-lcp
Guides debugging and optimizing Largest Contentful Paint (LCP) using Chrome DevTools MCP tools. Use this skill whenever the user asks about LCP performance, slow page loads, Core Web Vitals optimization, or wants to understand why their page's main content takes too long to appear. Also use when the user mentions…
systematic-debugging
Use when debugging a failing test, build error, or runtime issue that isn't immediately obvious. Guides a 4-phase root cause analysis instead of random fix attempts.
diagnose
Trace from a reproduced symptom to the source code that causes it. Pin the specific file and approximate line, rate confidence in the cause and clarity of the fix independently, and always propose a concrete fix.
repro-admin
Reproduce an EmDash admin UI bug. Attach a container, start the demo dev server, drive the admin with agent-browser using the dev-bypass session, and capture the reproduction as screenshots plus a replayable transcript.
log-error-digest
Analyze log files to troubleshoot errors, identify peak error periods, and produce error clustering, frequency statistics, and time distribution reports. Supports JSON, syslog, and Nginx formats with automatic detection. Use when a user uploads a .log file and asks to analyze errors, find patterns, debug issues, or…
byted-util-volcengine-detect-retry
An orchestration workflow for Volcengine Cloud Detect, a service that checks websites or network endpoints from test locations.