一键导入
provider-upgrade-analysis
Use when analyzing Terraform provider or module upgrades for breaking changes, deprecations, and migration requirements.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when analyzing Terraform provider or module upgrades for breaking changes, deprecations, and migration requirements.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | provider-upgrade-analysis |
| description | Use when analyzing Terraform provider or module upgrades for breaking changes, deprecations, and migration requirements. |
Analyze the impact of upgrading Terraform providers or modules before making changes. Identify breaking changes, deprecations, and required code modifications.
Announce at start: "I'm using the provider-upgrade-analysis skill to assess this upgrade."
# Current Terraform version
terraform version
# Current provider versions
terraform providers
# Lock file details
cat .terraform.lock.hcl
Determine what version to upgrade to:
For each provider/module upgrade:
# Check CHANGELOG
# https://github.com/hashicorp/terraform-provider-aws/blob/main/CHANGELOG.md
# Check UPGRADE guide for major versions
# https://registry.terraform.io/providers/hashicorp/aws/latest/docs/guides/version-5-upgrade
| Provider | Changelog Location | Upgrade Guide |
|---|---|---|
| AWS | GitHub CHANGELOG.md | /docs/guides/version-X-upgrade |
| Azure | GitHub CHANGELOG.md | /docs/guides/X.0-upgrade-guide |
| GitHub CHANGELOG.md | /docs/guides/version_X_upgrade |
| Category | Impact | Example |
|---|---|---|
| Removed Resources | HIGH | Resource type no longer exists |
| Removed Arguments | HIGH | Required attribute removed |
| Changed Defaults | MEDIUM | Default value changed |
| Renamed Resources | MEDIUM | Resource renamed, state migration needed |
| New Required Args | MEDIUM | New required argument added |
| Deprecations | LOW | Will be removed in future |
Search for affected resources/attributes:
# Find usage of deprecated resource
grep -r "aws_deprecated_resource" --include="*.tf"
# Find usage of removed argument
grep -r "removed_argument" --include="*.tf"
Query memory/global/provider-issues.json for:
## Provider Upgrade Analysis
### Summary
| Provider | Current | Target | Risk Level |
|----------|---------|--------|------------|
| aws | 4.67.0 | 5.0.0 | HIGH |
### Breaking Changes
#### 1. [Change Name]
- **Type:** Removed Argument
- **Affected Resource:** `aws_instance`
- **Attribute:** `ebs_optimized` default changed
- **Impact:** Instances may change on next apply
- **Required Action:** Explicitly set `ebs_optimized = true`
- **Files Affected:**
- `modules/compute/main.tf:45`
- `environments/prod/instances.tf:23`
#### 2. [Change Name]
...
### Deprecations (Future Concern)
| Resource/Attribute | Deprecated In | Removed In | Replacement |
|-------------------|---------------|------------|-------------|
| `aws_old_thing` | 4.50.0 | 5.0.0 | `aws_new_thing` |
### State Migration Required
- [ ] Resource `aws_old` → `aws_new` requires state mv
- [ ] [Other migrations]
### Recommended Upgrade Path
1. **Backup state**
```bash
terraform state pull > backup-$(date +%Y%m%d).tfstate
Update version constraint
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
Run init
terraform init -upgrade
Apply code changes [List of required changes]
Run plan
terraform plan
Review and apply [After careful review]
| Factor | Assessment |
|---|---|
| Breaking changes | X items |
| State migrations | Y required |
| Code changes | Z files |
| Estimated effort | [Low/Medium/High] |
| Recommended timing | [Now/After testing/Wait] |
[From memory or research]
### Step 7: Update Memory
Store findings in `memory/global/provider-issues.json`:
```json
{
"aws": {
"5.0.0": {
"known_issues": [...],
"upgrade_notes": [...],
"last_updated": "2024-01-15"
}
}
}
Before recommending upgrade:
Use when executing implementation plans with independent tasks in the current session
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
Use when generating documentation for Terraform modules, infrastructure, or runbooks. Creates READMEs, operational guides, and architecture docs.
Use before any Terraform or AWS operation to verify correct credentials and profile are active. Prevents cross-environment accidents.
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies