Back to Skills

devops-maintainability-checker

verified

Infrastructure maintainability verification covering naming conventions, formatting, DRY patterns, and version constraints.

View on GitHub

Marketplace

majestic-marketplace

majesticlabs-dev/majestic-marketplace

Plugin

majestic-devops

Repository

majesticlabs-dev/majestic-marketplace
19stars

plugins/majestic-devops/skills/devops-maintainability-checker/SKILL.md

Last Verified

January 24, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/majesticlabs-dev/majestic-marketplace/blob/main/plugins/majestic-devops/skills/devops-maintainability-checker/SKILL.md -a claude-code --skill devops-maintainability-checker

Installation paths:

Claude
.claude/skills/devops-maintainability-checker/
Powered by add-skill CLI

Instructions

# DevOps Maintainability Checker

Verify infrastructure code follows maintainable patterns.

## Maintainability Checklist

| Check | Good | Bad |
|-------|------|-----|
| Resource naming | Consistent `${project}-${env}-${type}` | Random or inconsistent |
| Variable naming | Descriptive with defaults | Cryptic, no descriptions |
| Code formatting | `tofu fmt` passes | Inconsistent indentation |
| DRY principle | Locals for repeated values | Hardcoded values repeated |
| Version constraints | Pinned `~> X.Y` | Unpinned or exact versions |

## Verification Commands

```bash
# Format check
tofu fmt -check -recursive 2>&1 || echo "FAIL: Needs formatting"

# Variable descriptions
grep -L "description" variables.tf && echo "WARN: Variables missing descriptions"

# Locals usage (should have some)
grep -c "local\." *.tf | awk -F: '$2 < 3 {print "WARN: Underusing locals in "$1}'

# Hardcoded values (potential DRY violations)
grep -E '^\s+(region|zone|size)\s*=\s*"[^$]' *.tf

# Provider version constraints
grep -E "version\s*=\s*\"[0-9]" *.tf | grep -v "~>" && echo "WARN: Exact versions, use ~>"
```

## Naming Conventions

**Resource Names:**
```hcl
# GOOD
resource "aws_instance" "web" {
  tags = {
    Name = "${var.project}-${var.environment}-web"
  }
}

# BAD
resource "aws_instance" "instance1" {
  tags = {
    Name = "my-server"
  }
}
```

**Variable Names:**
```hcl
# GOOD
variable "database_instance_class" {
  description = "RDS instance class for the database"
  type        = string
  default     = "db.t3.micro"
}

# BAD
variable "db_class" {
  type = string
}
```

## DRY Patterns

**Use Locals:**
```hcl
locals {
  common_tags = {
    Project     = var.project
    Environment = var.environment
    ManagedBy   = "terraform"
  }
  name_prefix = "${var.project}-${var.environment}"
}

resource "aws_instance" "web" {
  tags = merge(local.common_tags, {
    Name = "${local.name_prefix}-web"
  })
}
```

**Avoid Repetition:**
```hcl
# BAD - hardcoded everywhere
resource "aws_inst

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
2828 chars