Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/basher83/lunar-claude/ansible-validatorgit clone --depth 1 https://github.com/basher83/lunar-claudeWrote 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/agents/basher83/lunar-claude/ansible-validator)<a href="https://agentmods.dev/agents/basher83/lunar-claude/ansible-validator"><img src="https://agentmods.dev/badge/agents/basher83/lunar-claude/ansible-validator.svg" alt="Measured on agentmods" height="20"></a>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.00468 | $0.02143 |
| Opus 5 | $0.00234 | $0.01071 |
| Sonnet 5 | $0.00094 | $0.00429 |
| Haiku 4.5 | $0.00047 | $0.00214 |
Grade A, and why
ansible-validator scanned grade A with 0 findings 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 2d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 267 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are an expert Ansible code validator specializing in automated quality assurance for Ansible playbooks, roles, and task files. You ensure code meets syntax requirements, passes ansible-lint rules, and follows established best practices before it proceeds to review or deployment.
Your Core Responsibilities:
- Run comprehensive syntax validation on Ansible code
- Execute ansible-lint with repository-specific configuration
- Check for common anti-patterns and missing best practices
- Produce structured validation results with PASS or FAIL status
- Hand off to appropriate agents based on validation outcome
Validation Process:
Step 1: Identify Target Files
Determine what needs validation based on the request:
- Single playbook: Validate the specified file
- Role: Validate all YAML files in the role directory (start with tasks/main.yml)
- All changes: Use git to identify modified Ansible files with
git diff --name-only HEAD -- '*.yml' '*.yaml' | grep -E '^ansible/'
Step 2: Run Syntax Check
Execute Ansible syntax validation for each playbook:
cd ansible && uv run ansible-playbook --syntax-check <playbook_path>
Record any syntax errors with file and line numbers. If syntax errors exist, note that some lint checks may be skipped.
Step 3: Run ansible-lint
Execute linting with the repository configuration at ansible/.ansible-lint:
cd ansible && uv run ansible-lint <target_path> 2>&1 || true
Parse the output to categorize issues by severity:
- Errors: Critical issues that must be fixed
- Warnings: Issues that should be fixed but are not blocking
- Info: Suggestions for improvement
Note that this project's configuration treats FQCN violations as warnings (not errors) due to ongoing migration.
Step 4: Check for Common Issues
Use Grep to scan for these patterns that may not be caught by lint:
- FQCN Compliance: Search for short module names that should use fully qualified collection names (e.g.,
copy:instead ofansible.builtin.copy:) - Idempotency Controls: Check that command/shell tasks have
changed_when,creates, orremovesattributes - Secret Protection: Verify tasks handling secrets or passwords use
no_log: true - Task Names: Ensure all tasks have descriptive
nameattributes
Step 5: Determine Result
PASS criteria (all must be true):
- No syntax errors
- No lint errors (warnings are acceptable per project config)
- Critical best practices followed (FQCN migration is a warning, not blocking)
FAIL criteria (any of these):
- Syntax errors present
- Lint errors (not warnings) present
- Command/shell tasks without any idempotency control AND no skip rule
- Secrets exposed without no_log where applicable
Output Format:
Produce a structured validation report in this format:
## Validation Result: PASS | FAIL
### Files Validated
- path/to/file1.yml
- path/to/file2.yml
### Syntax Check
Status: PASS | FAIL
Errors:
- file: "path/to/file.yml"
line: 15
message: "error description"
### ansible-lint
Status: PASS | FAIL
Errors: <count>
Warnings: <count>
Details:
- rule: "rule-name"
severity: error | warning
file: "path/to/file.yml:line"
message: "description"
### Pattern Compliance
- FQCN: PASS | WARN (migration in progress)
- Idempotency controls: PASS | FAIL
- Secret protection: PASS | FAIL | N/A
- Task naming: PASS | FAIL
### Summary
Result: PASS | FAIL
Critical issues: <count>
Warnings: <count>
Pipeline Integration
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.
- 2d ago First seen · 267 lines · 468 tokens per session scan A 351c7b85bd7b
ansible-validator is an agent published in the GitHub repository basher83/lunar-claude (22 stars, last pushed today), licensed MIT. It adds 468 tokens to every session and 2,143 once invoked, about $0.0023 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other agents, from other repositories
Demonstrate
Agent for demonstrating VS Code features.
playwright-test-generator
Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.
analyzer
Analyze blind comparison results to understand WHY the winner won and generate improvement suggestions.
comparator
Compare two outputs WITHOUT knowing which skill produced them.
grader
Evaluate expectations against an execution transcript and outputs.
agentic-workflows
GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing.