Back to Skills

detecting-infrastructure-drift

jeremylongshore
Updated Today
27 views
712
74
712
View on GitHub
Othergeneral

About

This skill detects infrastructure drift by comparing actual cloud resources against their Infrastructure as Code definitions. It triggers on phrases like "check for drift" and uses tools like terraform plan or AWS CloudFormation drift detection. Developers can use it to identify configuration discrepancies and maintain desired state compliance.

Quick Install

Claude Code

Recommended
Plugin CommandRecommended
/plugin add https://github.com/jeremylongshore/claude-code-plugins-plus
Git CloneAlternative
git clone https://github.com/jeremylongshore/claude-code-plugins-plus.git ~/.claude/skills/detecting-infrastructure-drift

Copy and paste this command in Claude Code to install this skill

Documentation

Prerequisites

Before using this skill, ensure:

  • Infrastructure as Code (IaC) files are up to date in {baseDir}
  • Cloud provider CLI is installed and authenticated
  • IaC tool (Terraform/CloudFormation/Pulumi) is installed
  • Remote state storage is configured and accessible
  • Appropriate read permissions for infrastructure resources

Instructions

  1. Identify IaC Tool: Determine if using Terraform, CloudFormation, Pulumi, or ARM
  2. Fetch Current State: Retrieve actual infrastructure state from cloud provider
  3. Load Desired State: Read IaC configuration from {baseDir}/terraform or equivalent
  4. Compare States: Execute drift detection command for the IaC platform
  5. Analyze Differences: Identify added, modified, or removed resources
  6. Generate Report: Create detailed report of drift with affected resources
  7. Suggest Remediation: Provide commands to resolve drift (apply or import)
  8. Document Findings: Save drift report to {baseDir}/drift-reports/

Output

Generates drift detection reports:

Terraform Drift Report:

Drift Detection Report - 2025-12-10 10:30:00
==============================================

Resources with Drift: 3

1. aws_instance.web_server
   Status: Modified
   Drift: instance_type changed from "t3.micro" to "t3.small"
   Action: Update IaC to match or revert instance type

2. aws_s3_bucket.assets
   Status: Modified
   Drift: versioning_enabled changed from true to false
   Action: Re-enable versioning or update IaC

3. aws_iam_role.lambda_exec
   Status: Deleted
   Drift: Role no longer exists in AWS
   Action: terraform apply to recreate

Remediation Command:
terraform plan -out=drift-fix.tfplan
terraform apply drift-fix.tfplan

CloudFormation Drift:

StackName: production-vpc
DriftStatus: DRIFTED
Resources:
  - LogicalResourceId: VPC
    ResourceType: AWS::EC2::VPC
    DriftStatus: IN_SYNC
  - LogicalResourceId: PublicSubnet
    ResourceType: AWS::EC2::Subnet
    DriftStatus: MODIFIED
    PropertyDifferences:
      - PropertyPath: /Tags
        ExpectedValue: [{Key: Env, Value: prod}]
        ActualValue: [{Key: Env, Value: production}]

Error Handling

Common issues and solutions:

State Lock Error

  • Error: "Error acquiring state lock"
  • Solution: Ensure no other terraform process is running, or force-unlock if safe

Authentication Failure

  • Error: "Unable to authenticate to cloud provider"
  • Solution: Refresh credentials with aws configure or gcloud auth login

Missing State File

  • Error: "No state file found"
  • Solution: Initialize terraform with terraform init or specify remote backend

Permission Denied

  • Error: "Access denied reading resource"
  • Solution: Grant read-only IAM permissions to service account

State Version Mismatch

  • Error: "State file version too new"
  • Solution: Upgrade Terraform version or use compatible state version

Resources

GitHub Repository

jeremylongshore/claude-code-plugins-plus
Path: plugins/devops/infrastructure-drift-detector/skills/infrastructure-drift-detector
aiautomationclaude-codedevopsmarketplacemcp

Related Skills

subagent-driven-development

Development

This skill executes implementation plans by dispatching a fresh subagent for each independent task, with code review between tasks. It enables fast iteration while maintaining quality gates through this review process. Use it when working on mostly independent tasks within the same session to ensure continuous progress with built-in quality checks.

View skill

algorithmic-art

Meta

This Claude Skill creates original algorithmic art using p5.js with seeded randomness and interactive parameters. It generates .md files for algorithmic philosophies, plus .html and .js files for interactive generative art implementations. Use it when developers need to create flow fields, particle systems, or other computational art while avoiding copyright issues.

View skill

executing-plans

Design

Use the executing-plans skill when you have a complete implementation plan to execute in controlled batches with review checkpoints. It loads and critically reviews the plan, then executes tasks in small batches (default 3 tasks) while reporting progress between each batch for architect review. This ensures systematic implementation with built-in quality control checkpoints.

View skill

cost-optimization

Other

This Claude Skill helps developers optimize cloud costs through resource rightsizing, tagging strategies, and spending analysis. It provides a framework for reducing cloud expenses and implementing cost governance across AWS, Azure, and GCP. Use it when you need to analyze infrastructure costs, right-size resources, or meet budget constraints.

View skill