test-changes

2
0
Source

Use after making changes to run terraform fmt, validate, and plan against test environment

Install

mkdir -p .claude/skills/test-changes && curl -L -o skill.zip "https://mcp.directory/api/skills/download/3315" && unzip -o skill.zip -d .claude/skills/test-changes && rm skill.zip

Installs to .claude/skills/test-changes

About this skill

Test Terraform Changes

Overview

Run the standard validation suite for terraform changes against the test environment.

Usage

/test-changes

Test Environment

  • Module code: /Volumes/MysticalTech/Code/kube-hetzner
  • Test cluster: /Users/karim/Code/kube-test

Workflow

digraph test_flow {
    rankdir=TB;
    node [shape=box];

    fmt [label="1. terraform fmt"];
    validate [label="2. terraform validate"];
    init [label="3. terraform init -upgrade"];
    plan [label="4. terraform plan"];
    review [label="5. Review plan output"];

    fmt -> validate;
    validate -> init;
    init -> plan;
    plan -> review;
}

Step 1: Format Check

cd /Volumes/MysticalTech/Code/kube-hetzner
terraform fmt -recursive

Must pass before proceeding.

Step 2: Validate Module

cd /Volumes/MysticalTech/Code/kube-hetzner
terraform validate

Must pass before proceeding.

Step 3: Initialize Test Environment

cd /Users/karim/Code/kube-test
terraform init -upgrade

This picks up changes from the local module.

Step 4: Plan Against Test Cluster

cd /Users/karim/Code/kube-test
terraform plan

What to Look For

Good Signs

  • Only expected resources change
  • No unexpected additions/deletions
  • Changes match your intended modifications

Red Flags (STOP!)

OutputMeaningAction
will be destroyedResource recreationSTOP - Breaking change
must be replacedResource recreationSTOP - Breaking change
forces replacementResource recreationSTOP - Breaking change
Unexpected changesSide effectsInvestigate before proceeding

Breaking Change = MAJOR Release

If terraform plan shows ANY resource destruction on existing infrastructure:

  1. STOP - This is NOT backward compatible
  2. The change requires a MAJOR version bump
  3. Migration guide is required
  4. Consider alternative approaches first

Step 5: Review Plan Output

Checklist

  • terraform fmt passes
  • terraform validate passes
  • terraform plan shows expected changes only
  • No resource destruction
  • No unexpected side effects
  • Changes are backward compatible

Quick Reference

# Full test sequence
cd /Volumes/MysticalTech/Code/kube-hetzner && \
terraform fmt -recursive && \
terraform validate && \
cd /Users/karim/Code/kube-test && \
terraform init -upgrade && \
terraform plan

Apply (Optional)

Only if plan looks correct and you want to test on actual infrastructure:

cd /Users/karim/Code/kube-test
terraform apply

Caution: This modifies real infrastructure. Only do this for thorough testing.

Common Issues

"Provider version constraints"

terraform init -upgrade

"Module source has changed"

terraform init -upgrade

"State lock"

Someone else may be running terraform. Wait or:

terraform force-unlock <lock-id>

Validation errors

Check the error message - usually points to:

  • Missing required variable
  • Type mismatch
  • Invalid reference

AI-Assisted Review

For complex changes, get AI review:

# Codex for correctness
codex exec -m gpt-5.2-codex -s read-only -c model_reasoning_effort="xhigh" \
  "Review these terraform changes for issues: $(git diff)"

# Gemini for broad impact
gemini --model gemini-3-pro-preview -p \
  "@locals.tf @variables.tf Analyze impact of these changes: $(git diff)"

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

643969

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

591705

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

318398

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

339397

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

451339

fastapi-templates

wshobson

Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.

304231

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.