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.mdsource content
DevOps Simplicity Checker
Infrastructure should be SIMPLE by default. This skill detects overengineering.
Simplicity Checklist
| Check | Pass | Fail |
|---|---|---|
| File count | ≤8 .tf files | >15 files in nested directories |
| Module usage | None or registry only | Custom modules for <5 resources |
| Directory depth | Flat or 1 level | 3+ levels of nesting |
| Ansible playbooks | Single playbook | Multiple playbooks + custom roles |
| Ansible roles | Galaxy roles only | Custom roles for standard tasks |
| Variables | Inline defaults | Complex 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
| Pattern | Problem | Fix |
|---|---|---|
with single resource | Over-abstraction | Inline the resource |
| Duplication | Use workspaces or tfvars |
for apt packages | Reinventing wheel | Use Galaxy role |
Nested imports | Hard to follow | Flatten structure |
| >10 variable files | Configuration sprawl | Consolidate |
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