CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ansible-validator

Comprehensive toolkit for validating, linting, testing, and automating Ansible playbooks, roles, and collections. Use this skill when working with Ansible files (.yml, .yaml playbooks, roles, inventories), validating automation code, debugging playbook execution, performing dry-run testing with check mode, or working with custom modules and collections.

66

Quality

83%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

75%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A highly actionable, well-referenced body with strong progressive disclosure and a clearly gated validation workflow. The main costs are repetition (each script listed up to four times across sections), a duplicated/mislabeled step numbering in the decision tree, and sections restating Ansible knowledge Claude already has.

Suggestions

Consolidate script usage into the single Scripts Reference table and have the decision tree, Quick Start, and capability sections reference that table instead of restating each command (e.g., 'Step 3 → run scripts/check_fqcn.sh per Scripts Reference').

Fix the decision-tree numbering where step 6 appears twice (Custom Module/Collection Analysis and Security Review) and merge it with the 'Validation order' note into one authoritative sequence.

Trim the 'Security and Best Practices' section and the check-mode output interpretation to pointers into references/security_checklist.md and references/best_practices.md, keeping only the skill-specific policy deltas; also point the yamllint example at the bundled asset path (assets/.yamllint).

DimensionReasoningScore

Conciseness

The body is mostly efficient command-and-table material, but there is avoidable repetition and restatement of knowledge Claude already has: every script appears in the Quick Start, the decision tree, the capability sections, and again in the Scripts Reference table; the 'Security and Best Practices' bullets ('never hardcode credentials', 'enforce HTTPS') and the check-mode output interpretation ('ok = no change, changed = would change') restate general Ansible knowledge. This fits 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than 4's 'minor instances'.

3 / 5

Actionability

Nearly everything is copy-paste executable: exact script invocations with arguments ('bash scripts/test_role.sh <role-dir> [scenario]'), runnable tool commands ('ansible-lint -x yaml[line-length] playbook.yml', 'molecule test -s alternative'), a concrete BAD/GOOD get_url example, an error-to-solution table, and exact MCP tool names and search query templates for doc lookup. This matches 'fully executable; copy-paste ready code or commands; specific examples cover the common cases'.

5 / 5

Workflow Clarity

The numbered decision tree gives a clear gated sequence (syntax → lint → security → check mode → molecule) with explicit blocker handling ('document the blocker and continue') and error-recovery pointers ('Read references/common_errors.md when errors detected'), and the Anti-Patterns add validate-after-fix loops. It falls short of 5 because the tree has a numbering defect — step '6' appears twice (Custom Module/Collection Analysis and Security Review) so steps are mislabeled — and the tree partially duplicates the 'Validation order' note rather than one authoritative sequence.

4 / 5

Progressive Disclosure

Structure is good: a References table with per-file purposes, all referenced files (4 reference docs, 9 scripts, 3 assets) verified to exist and one level deep, with contextual read-when guidance ('when errors detected', 'when security issues found'). It is not 5 because the ~70-line inline Anti-Patterns section is content that could live in a reference file, and the yamllint example 'yamllint -c .yamllint .' points at a repo-root config while the shipped asset is 'assets/.yamllint' — minor organization gaps matching the 4 anchor.

4 / 5

Total

16

/

20

Passed

Description

83%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description that clearly states both what the skill does and when to use it, with natural trigger phrases and file extensions. Minor improvements possible by adding the skill's security-scanning capability and a few more concrete trigger keywords (ansible-lint, molecule), which would sharpen distinctiveness against neighboring validator skills.

DimensionReasoningScore

Specificity

The description lists several concrete actions — 'validating, linting, testing, and automating Ansible playbooks, roles, and collections' plus 'performing dry-run testing with check mode' — matching the anchor for several specific actions with minor coverage gaps (security scanning and molecule testing, both core to the skill, are absent). It does not reach 5 because the opening 'Comprehensive toolkit' is padding and the action list is not fully comprehensive; it is above 3 because far more than 1-2 concrete actions are named.

4 / 5

Completeness

It explicitly answers both parts: 'what' via 'validating, linting, testing, and automating Ansible playbooks, roles, and collections' and 'when' via 'Use this skill when working with Ansible files (.yml, .yaml playbooks, roles, inventories), validating automation code, debugging playbook execution, performing dry-run testing with check mode, or working with custom modules and collections' — concrete trigger phrases matching the 5 anchor exactly. It is not 4 because the 'when' clause is already explicit and specific, not merely adequate.

5 / 5

Trigger Term Quality

Good natural-term coverage including file extensions ('.yml, .yaml playbooks, roles, inventories') and action phrases users would actually say ('debugging playbook execution', 'dry-run testing with check mode', 'working with custom modules and collections'). It falls short of 5 because a few natural terms are missing (e.g., 'ansible-lint', 'molecule', 'security scan', 'syntax check'), while clearly exceeding the 3 anchor's 'missing common variations' level.

4 / 5

Distinctiveness Conflict Risk

The Ansible niche is clear and triggers are domain-specific, but there is minor overlap risk: generic '.yml, .yaml' triggers and the broad phrase 'validating automation code' could also match other validator skills (the skill body itself names k8s-yaml-validator and terraform-validator as neighbors). This fits 'mostly distinct; minor overlap risk with closely related skills' rather than 5's 'minimal conflict risk'.

4 / 5

Total

17

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

pantheon-org/tekhne

Path

skills/infrastructure/ansible/validator/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.