Claude-skill-registry devops-simplicity-checker

Infrastructure simplicity scoring. Detects overengineering in Terraform/OpenTofu and Ansible configurations.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/devops-simplicity-checker" ~/.claude/skills/majiayu000-claude-skill-registry-devops-simplicity-checker && rm -rf "$T"
manifest: skills/data/devops-simplicity-checker/SKILL.md
source content

DevOps Simplicity Checker

Infrastructure should be SIMPLE by default. This skill detects overengineering.

Simplicity Checklist

CheckPassFail
File count≤8 .tf files>15 files in nested directories
Module usageNone or registry onlyCustom modules for <5 resources
Directory depthFlat or 1 level3+ levels of nesting
Ansible playbooksSingle playbookMultiple playbooks + custom roles
Ansible rolesGalaxy roles onlyCustom roles for standard tasks
VariablesInline defaultsComplex variable hierarchies

Complexity Score Calculation

Files: 1 point per .tf file over 5
Modules: 3 points per custom module
Directories: 2 points per level over 1
Ansible roles: 3 points per custom role

Score 0-5: Simple (GOOD)
Score 6-10: Moderate (REVIEW)
Score 11+: Overengineered (SIMPLIFY)

Detection Commands

# Count .tf files
find . -name "*.tf" | wc -l

# Find custom modules (not registry)
grep -r "source\s*=" *.tf | grep -v "registry.terraform.io" | grep -v "github.com" | wc -l

# Directory depth
find . -name "*.tf" -printf '%h\n' | sort -u | awk -F'/' '{print NF-1}' | sort -rn | head -1

# Custom Ansible roles (not Galaxy)
ls roles/ 2>/dev/null | wc -l

# Variable files
find . -name "*.tfvars" -o -name "variables.tf" | wc -l

Questions to Ask

  • Could this be done with fewer files?
  • Is this custom module solving a problem registry modules can't?
  • Would a flat structure work just as well?
  • Does this Ansible role exist in Galaxy already?
  • Are these variable hierarchies necessary or premature abstraction?

Red Flags

PatternProblemFix
modules/
with single resource
Over-abstractionInline the resource
environments/{dev,staging,prod}/
DuplicationUse workspaces or tfvars
roles/common/
for apt packages
Reinventing wheelUse Galaxy role
Nested
.tf
imports
Hard to followFlatten structure
>10 variable filesConfiguration sprawlConsolidate

Scoring Report Format

SIMPLICITY SCORE: X/10

File Count: X files (+Y penalty)
Custom Modules: X modules (+Y penalty)
Directory Depth: X levels (+Y penalty)
Custom Roles: X roles (+Y penalty)

Total Penalty: X points
Verdict: SIMPLE | MODERATE | OVERENGINEERED

Recommendations:
- [ ] Consider flattening directory structure
- [ ] Replace custom module X with registry module
- [ ] Use Galaxy role for standard task