← Back to list

terraform-state-manager
by first-fluke
Production-ready fullstack monorepo template with Next.js, FastAPI, Flutter, Terraform, and mise
⭐ 141🍴 21📅 Jan 23, 2026
SKILL.md
name: terraform-state-manager description: Manages Terraform state operations such as importing, moving, and removing resources. Use this skill when the user needs to refactor Terraform state, import existing infrastructure, fixing state drift, or migrate backends without destroying resources.
Terraform State Manager
This skill guides you through safe Terraform state manipulation operations.
When to Use
- Importing existing cloud resources into Terraform management (
terraform import) - Renaming resources or moving them into/out of modules (
terraform state mv) - Removing resources from Terraform control without destroying them (
terraform state rm) - Migrating state between backends (e.g., local to GCS/S3)
- Fixing state locks or corruption
Critical Safety Rules
[!IMPORTANT] ALWAYS follow these rules to prevent data loss or service downtime.
- Backup First: Create a backup of your state file (
.tfstate) before ANY operation.terraform state pull > backup.tfstate - Plan After: Run
terraform planimmediately after any state change to verify the result is a "no-op" (no changes detected) or matches expectation. - One by One: Perform operations incrementally rather than in bulk.
- Communicate: Ensure no one else is running Terraform during maintenance.
Common Operations
1. Importing Resources
Use when you have a resource in the cloud but not in Terraform state.
- Write Config: Create the
resourceblock in your.tffiles. - Import:
terraform import <resource_address> <cloud_id> # Example: terraform import google_storage_bucket.my_bucket my-project-bucket-name - Verify: Run
terraform plan. It should be empty or show only minor metadata updates.
2. Moving Resources (Refactoring)
Use when renaming resources or moving them into modules.
terraform state mv <source_address> <destination_address>
# Example: terraform state mv google_storage_bucket.old_name module.storage.google_storage_bucket.new_name
3. Removing Resources
Use when you want to stop managing a resource with Terraform but keep it running.
terraform state rm <resource_address>
4. Migrating Backend
Use to change where state is stored.
- Update Config: Change the
backendblock inversions.tforbackend.tf. - Migrate:
Answer "yes" to copy the state to the new location.terraform init -migrate-state
Troubleshooting
- State Lock: If a process crashed and left a lock:
Warning: Be absolutely sure no other process is running.terraform force-unlock <LOCK_ID>
Score
Total Score
75/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
✓人気
GitHub Stars 100以上
+5
✓最近の活動
1ヶ月以内に更新
+10
✓フォーク
10回以上フォークされている
+5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon

