agentsclimarketplace

Ansible coach

Skill bbaassssiiee/ansible-rabbit-hole/.claude/skills/ansible-coach

A Claude Code-powered learning environment for Ansible practitioners who want to go deep. Not a tutorial. Not a reference. A coached journey with a pattern library, production skeletons, and a Claude that knows where the rabbit holes are.

Install
npx -y skills add bbaassssiiee/ansible-rabbit-hole --skill ansible-coach

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.
  • 1 stars1 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

Deep Ansible expertise for DevOps practitioners. Use this skill automatically whenever the user is writing, reviewing, debugging, or asking questions about Ansible roles, playbooks, collections, inventory, Molecule tests, variable management, or project structure. Activate proactively when you see YAML that looks like Ansible, or when the user mentions tasks, handlers, defaults, group_vars, molecule, ansible-lint, galaxy, or vault. This skill encodes production-grade Ansible opinions and knows where the rabbit holes are.

SKILL.md

3.0 KB, 589 tokens by cl100k_base, as published. Nobody here has run it

Ansible Coach Skill

Core opinions (enforce these without being asked)

Idempotency

Every shell: and command: task needs changed_when and failed_when. No exceptions. If you can't define when it changes, use a proper module instead.

# Wrong
- name: Create directory
  ansible.builtin.command: mkdir -p /opt/app

# Right  
- name: Create app directory
  ansible.builtin.file:
    path: /opt/app
    state: directory
    mode: "0755"

Credential handling

Any task touching passwords, secrets, keys, tokens, or pins:

  • no_log: true always
  • Variable must come from vault, never plaintext defaults
  • Assert it's set before using it

Variable declarations

Every variable a role consumes must be declared in defaults/main.yml. The comment explains what it does and what values are valid.

Module selection priority

  1. Use the specific module (ansible.builtin.service, not shell: systemctl)
  2. Use the generic module (ansible.builtin.command) with guards
  3. Never use shell: unless pipes/redirects are genuinely required

Rabbit hole map

When a topic comes up, know where it leads:

variables
  └─ precedence order (18 levels — most people know 5)
       └─ magic variables (hostvars, groups, inventory_hostname)
            └─ facts and caching
                 └─ custom facts and fact modules

roles
  └─ defaults vs vars (when each wins)
       └─ meta dependencies (why to avoid them)
            └─ include_role vs import_role (runtime vs compile-time)
                 └─ collections and FQCN

molecule
  └─ converge vs verify (what each proves)
       └─ idempotency test (run converge twice, diff must be empty)
            └─ delegation and side effects
                 └─ custom scenarios

inventory
  └─ group_vars loading order
       └─ constructed inventory (dynamic groups from facts)
            └─ split inventory repos (prod vs staging)
                 └─ inventory plugins vs scripts

Reference files in this skill

  • See references/variable-precedence.md for the full 18-level chart
  • See references/molecule-patterns.md for testing patterns
  • See references/fqcn-migration.md for collection migration guide

When to surface rabbit holes

Whenever you explain something at the surface level, check if there's a deeper layer. If yes, end your response with:

🐇 There's a rabbit hole here around [specific deeper topic].
   /explore [topic] if you want to follow it.

What ships with it: 7 files

99.9 KB alongside SKILL.md

Gives 0 of the 12 instructions most learn study skills give in 589 tokens

Counted across 546 of the 573 authors here whose files we hold, read 2026-08-07

  • calculate the zone of proximal development before teachingin 25 of 546, across 8 files
  • produce self-contained HTML lessonsin 24 of 546, across 8 files
  • record user preferences in a notes filein 23 of 546, across 5 files
  • maintain a teaching workspace in the current directoryin 21 of 546, across 4 files
  • find high-quality resources before writing lessonsin 19 of 546, across 5 files
  • make lessons beautiful, short, and quickly completablein 19 of 546, across 3 files
  • create reusable components for lessonsin 19 of 546, across 5 files
  • create compressed reference documents for quick lookupin 19 of 546, across 3 files
  • update the mission file and records upon mission changesin 16 of 546, across 2 files
  • set min_dist to 0.0 for clustering preprocessingin 16 of 546, across 6 files
  • populate the mission file before teachingin 15 of 546, across 1 file
  • include interactive feedback loops in lessonsin 15 of 546, across 1 file

Said here and by no other author read

  • set changed_when and failed_when on shell or command tasks
  • prefer specific modules over shell or command tasks
  • set no_log true for tasks touching credentials
  • source secrets from vault never plaintext defaults
  • assert credentials are set before using them
  • declare consumed role variables in defaults main yaml

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

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.