devops-maintainability-checker

DevOps Maintainability Checker

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "devops-maintainability-checker" with this command: npx skills add majesticlabs-dev/majestic-marketplace/majesticlabs-dev-majestic-marketplace-devops-maintainability-checker

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

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:

GOOD

resource "aws_instance" "web" { tags = { Name = "${var.project}-${var.environment}-web" } }

BAD

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

Variable Names:

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:

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:

BAD - hardcoded everywhere

resource "aws_instance" "web" { tags = { Project = "myapp", Environment = "prod" } } resource "aws_instance" "api" { tags = { Project = "myapp", Environment = "prod" } }

GOOD - use locals

resource "aws_instance" "web" { tags = local.common_tags }

Version Constraints

GOOD - allows patch updates

terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 5.0" } } }

BAD - exact version (breaks updates)

version = "5.31.0"

BAD - no constraint (unpredictable)

version = ">= 5.0"

Report Format

MAINTAINABILITY SCORE: X/10

Formatting: PASS/FAIL Variable Descriptions: X/Y documented Locals Usage: GOOD/UNDERUSED Naming Consistency: CONSISTENT/INCONSISTENT Version Constraints: PROPER/NEEDS FIX

Issues Found:

  • Run tofu fmt -recursive
  • Add descriptions to variables: X, Y, Z
  • Extract repeated value "us-east-1" to local
  • Change exact version to ~> constraint

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

google-ads-strategy

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

viral-content

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

market-research

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

free-tool-arsenal

No summary provided by upstream source.

Repository SourceNeeds Review