Help us improve
Share bugs, ideas, or general feedback.
From majestic-devops
Scores infrastructure simplicity in Terraform/OpenTofu and Ansible configurations by analyzing file counts, custom modules/roles, directory depth, and variables to detect overengineering.
npx claudepluginhub majesticlabs-dev/majestic-marketplace --plugin majestic-devopsHow this skill is triggered — by the user, by Claude, or both
Slash command
/majestic-devops:devops-simplicity-checkerThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Infrastructure should be SIMPLE by default. This skill detects overengineering.
Verifies DevOps/infrastructure code like Terraform and Ansible YAML against best practices, security, simplicity, maintainability, and documentation. Scores readiness and generates reports.
Analyzes Terraform and similar IaC (OpenTofu, Pulumi) stacks for module structure, state backends, environments, providers, naming/tagging conventions, security patterns, CI/CD, and testing. Activates on *.tf files during discovery.
Audits Terraform codebases for security, compliance, cost optimization, code quality, and architecture issues in AWS resources. Outputs Markdown reports with severity levels, remediations, and HCL fixes.
Share bugs, ideas, or general feedback.
Infrastructure should be SIMPLE by default. This skill detects overengineering.
| 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 |
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)
# 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
| Pattern | Problem | Fix |
|---|---|---|
modules/ with single resource | Over-abstraction | Inline the resource |
environments/{dev,staging,prod}/ | Duplication | Use workspaces or tfvars |
roles/common/ for apt packages | Reinventing wheel | Use Galaxy role |
Nested .tf imports | Hard to follow | Flatten structure |
| >10 variable files | Configuration sprawl | Consolidate |
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