detecting-infrastructure-drift
Execute use when detecting infrastructure drift from desired state. Trigger with phrases like "check for drift", "infrastructure drift detection", "compare actual vs desired state", or "detect configuration changes". Identifies discrepancies between current infrastructure and IaC definitions using terraform plan, cloudformation drift detection, or manual comparison.
- License 许可
- MIT
- 最近更新
- 2026-11-13
- Stars
- ★ 2.0k
- Forks
- 233
01 前言 Front Matter
- name
- detecting-infrastructure-drift
- author
- Jeremy Longshore <jeremy@intentsolutions.io>
- license
- MIT
- version
- 1.0.0
- description
- Execute use when detecting infrastructure drift from desired state. Trigger with phrases like "check for drift", "infrastructure drift detection", "compare actual vs desired state", or "detect configuration changes". Identifies discrepancies between current infrastructure and IaC definitions using terraform plan, cloudformation drift detection, or manual comparison.
- allowed-tools
- Read, Write, Edit, Grep, Glob, Bash(terraform:*), Bash(aws:*), Bash(gcloud:*)
02 资源文件 4
- 资产文件assets/README.md525 B
- 参考文档references/README.md580 B
- 脚本scripts/drift-check.sh893 B
- 脚本scripts/README.md622 B
03 SKILL.md 正文
Infrastructure Drift Detector
This skill provides automated assistance for infrastructure drift detector tasks.
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
- Identify IaC Tool: Determine if using Terraform, CloudFormation, Pulumi, or ARM
- Fetch Current State: Retrieve actual infrastructure state from cloud provider
- Load Desired State: Read IaC configuration from {baseDir}/terraform or equivalent
- Compare States: Execute drift detection command for the IaC platform
- Analyze Differences: Identify added, modified, or removed resources
- Generate Report: Create detailed report of drift with affected resources
- Suggest Remediation: Provide commands to resolve drift (apply or import)
- 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 configureorgcloud auth login
Missing State File
- Error: "No state file found"
- Solution: Initialize terraform with
terraform initor 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
- Terraform drift documentation: https://www.terraform.io/docs/cli/state/
- AWS CloudFormation drift detection: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/detect-drift-stack.html
- Drift remediation best practices in {baseDir}/docs/drift-remediation.md
- Automated drift detection scripts in {baseDir}/scripts/drift-check.sh
Overview
This skill provides automated assistance for the described functionality.
Examples
Example usage patterns will be demonstrated in context.
04 同仓库更多 Skills
web-artifacts-builder
Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
webapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
neuropixels-analysis
Neuropixels neural recording analysis. Load SpikeGLX/OpenEphys data, preprocess, motion correction, Kilosort4 spike sorting, quality metrics, Allen/IBL curation, AI-assisted visual analysis, for Neuropixels 1.0/2.0 extracellular electrophysiology. Use when working with neural recordings, spike sorting, extracellular electrophysiology, or when the user mentions Neuropixels, SpikeGLX, Open Ephys, Kilosort, quality metrics, or unit curation.
skill-creator
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
notebooklm
Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-only responses.
slack-gif-creator
Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like "make me a GIF of X doing Y for Slack."