---
title: "Provider framework migration: review, setup & limitations · Undominated.ai"
canonical: https://undominated.ai/skills/hashicorp-provider-framework-migration/
description: "Starts by asking whether to migrate at all, then muxes the provider and verifies before claiming the port is done."
---

# Provider framework migration: review, setup & limitations · Undominated.ai

> Starts by asking whether to migrate at all, then muxes the provider and verifies before claiming the port is done.

[← Explore all skills](/skills/)

INFRASTRUCTURE DEVELOPMENT / HashiCorp

# Provider framework migration

Starts by asking whether to migrate at all, then muxes the provider and verifies before claiming the port is done.

 [See setup guidance ↓](#setup)[Original source ↗](https://github.com/hashicorp/agent-skills/tree/f706481af9b8fedb66de909f6243ad29601afa0c/plugins/terraform/skills/provider-framework-migration)

SOURCE REVIEW

 Reviewed 2026-10-15
 Evidence 4 linked sources
 Publisher HashiCorp
 Licence [MPL-2.0 ↗](https://github.com/hashicorp/agent-skills/blob/f706481af9b8fedb66de909f6243ad29601afa0c/LICENSE)
 Revision f706481af9b8
 [Read what was—and wasn’t—checked ↓](#review)

“Migrate Terraform provider resources and data sources from Plugin SDKv2 to the Plugin Framework: muxing both plugins in one provider (terraform-plugin-mux, tf5to6server), per-resource migration workflow, SDKv2-to-Framework schema mapping (ForceNew, ValidateFunc, DiffSuppressFunc, Default, Timeouts, blocks), null-vs-zero-value behavioral traps, and state-compatibility verification. Use when converting or translating SDKv2 resources to the Framework, setting up a muxed provider server, deciding whether a resource should be migrated at all, or debugging plan diffs and state errors that appeared after a migration.”

 [HashiCorp · upstream description ↗](https://github.com/hashicorp/agent-skills/blob/f706481af9b8fedb66de909f6243ad29601afa0c/plugins/terraform/skills/provider-framework-migration/SKILL.md) Our analysis follows below.

01 / THE REASONING

## Why this made the selection.

 - The first heading is Decide Whether to Migrate at All.
- Later steps require a baseline before any port and a verify step after registration moves.

### A good fit for

 - Planning an SDKv2 to Plugin Framework port
- Refusing a migration that has no acceptance baseline
- Verify an SDKv2-to-Framework migration against state produced by the previously released provider.
- Move a migrated resource’s registration without leaving it in both provider implementations.

### Weigh up before choosing

 - MPL-2.0 applies to modified redistributions of this file.
- A compiling port can still break null/zero semantics or HCL block syntax; schema equivalence requires explicit checks.

02 / THE REVIEW RECORD

## What we actually inspected.

Source review has boundaries. A clear record is more useful than a “safe” badge.

### Material inspected

 - plugins/terraform/skills/provider-framework-migration/SKILL.md
- README.md
- LICENSE

### Our findings

 - Headings include Step 1: Mux the Provider and Step 5: Verify.
- The skill tells the reader to baseline before touching anything.
- Mux requirements include identical provider-level schemas and no duplicate resource/data-source registration.
- The migration guidance preserves id on migrated resources even where a net-new Framework resource would omit a redundant id.
- State written by SDKv2 must round-trip, and a redundant id on an old resource must be kept even though a new Framework resource would not need one.
- Mux registration must move a resource from SDKv2 to Framework in the same change because duplicate registration is rejected.

### Not established by this review

 - The skill was not executed inside a host agent.
- Not executed: it was not installed or run.

The review applies to the material and revision named here. A newer upstream release can change its behavior.

03 / PUT IT TO WORK

## Add a skill to your workflow.

[Upstream setup instructions ↗](https://github.com/hashicorp/agent-skills/blob/f706481af9b8fedb66de909f6243ad29601afa0c/README.md)

DOCUMENTED COMMAND

 npx skills add hashicorp/agent-skills/plugins/terraform/skills/provider-framework-migration --skill provider-framework-migration Copy command ↗

Run in your terminal to choose your AI tools, project or global scope, and installation method. This short command follows the current upstream version; the review covers the revision shown above.

 Optional: install the reviewed revision

Keeps the original source and installer version where recorded, while leaving your AI tools and installation scope for you to choose.

 npx skills@1.7.1 add https://github.com/hashicorp/agent-skills/tree/f706481af9b8fedb66de909f6243ad29601afa0c/plugins/terraform/skills/provider-framework-migration --skill provider-framework-migration Copy reviewed-revision command ↗ - Choose your AI tools and project or global installation scope in Skills CLI. The review applies to the source revision shown on this page.
- Retain all supporting files; separately configure companion skills, runtimes and service credentials named in the definition.
- Review the resulting diff and use an isolated target before any migration, deployment, load test or warehouse operation.

### Before you start

 - Go, Terraform, both relevant SDKs/mux libraries and isolated acceptance-test infrastructure.

### Compatibility

Agent Skills-compatible hosts · Terraform Plugin Framework and SDKv2

### Local Markdown instructions

 - Read the installed skill files
- Compatibility tests may create real resources and read existing state containing sensitive values.

### Cost model

Source is free to read under the stated licence. A host agent may charge for use.

04 / FOLLOW THE EVIDENCE

## The source trail.

Our notes are separate from the original resource. Check upstream before adopting a new version.

 - [Skill definition ↗](https://github.com/hashicorp/agent-skills/blob/f706481af9b8fedb66de909f6243ad29601afa0c/plugins/terraform/skills/provider-framework-migration/SKILL.md) Checked 2026-10-14 https://github.com/hashicorp/agent-skills/blob/f706481af9b8fedb66de909f6243ad29601afa0c/plugins/terraform/skills/provider-framework-migration/SKILL.md Supports: Workflow and stated scope
- [Repository licence ↗](https://github.com/hashicorp/agent-skills/blob/f706481af9b8fedb66de909f6243ad29601afa0c/LICENSE) Checked 2026-10-07 https://github.com/hashicorp/agent-skills/blob/f706481af9b8fedb66de909f6243ad29601afa0c/LICENSE Supports: Redistribution terms
- [Install instructions ↗](https://github.com/hashicorp/agent-skills/blob/f706481af9b8fedb66de909f6243ad29601afa0c/README.md) Checked 2026-10-07 https://github.com/hashicorp/agent-skills/blob/f706481af9b8fedb66de909f6243ad29601afa0c/README.md Supports: Documented install path
- [Pinned continuation review C2-W40 ↗](https://raw.githubusercontent.com/hashicorp/agent-skills/f706481af9b8fedb66de909f6243ad29601afa0c/plugins/terraform/skills/provider-framework-migration/SKILL.md) Checked 2026-10-15 https://raw.githubusercontent.com/hashicorp/agent-skills/f706481af9b8fedb66de909f6243ad29601afa0c/plugins/terraform/skills/provider-framework-migration/SKILL.md Supports: review.findings, bestFor

KEEP COMPARING

## Other approaches to consider.

Related by category or shared topics. These are alternatives to inspect, not a measured quality order.

 [### Provider actions ↗ Guides Terraform Plugin Framework action registration, configuration and lifecycle-trigger integration.](/skills/hashicorp-provider-actions/)[### Provider configuration ↗ Builds a provider Configure method as a credential chain and names every source a failed login tried.](/skills/hashicorp-provider-configuration/)[### Terraform ephemeral resources ↗ Implement short-lived values with Open, optional Renew/Close, private lease handles and explicit non-persistence boundaries.](/skills/hashicorp-provider-ephemeral-resources/)

 [AI Tools ↗](/tools/)[Skills ↗](/skills/)[Agents ↗](/agents/)[MCP Servers ↗](/mcp-servers/)[Workflows ↗](/workflows/)

## Continue your investigation

 - [Choose a toolkit](/tools/)
- [Inspect execution hosts](/agents/)
- [Check tool access](/mcp-servers/)
- [Check project dependencies](/check-repo/)
