Use this when scaffolding a new Terraform provider with the Plugin Framework: workspace layout, go module setup, provider server main.go, and a provider.go with schema and Configure. Also use when a user wants to start building a provider for a new API or asks how to begin a terraform-provider-* project.
Start a fresh conversation. Replace the highlighted placeholders.
Use new-terraform-provider to Scaffold a new Terraform provider for the [api_name] API, including the workspace layout, Go module setup, and initial provider.go schema.
Required inputs
[api_name]
User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗
SKILL.md
name: new-terraform-providerdescription: >- Use this when scaffolding a new Terraform provider with the Plugin Framework: workspace layout, go module setup, provider server main.go, and a provider.go with schema and Configure. Also use when a user wants to start building a provider for a new API or asks how to begin a terraform-provider-* project.license: MPL-2.0metadata: lifecycle-status: active copyright: Copyright IBM Corp. 2026 version: "0.0.1"
To scaffold a new Terraform provider with Plugin Framework:
If I am already in a Terraform provider workspace, then confirm that I want
to create a new workspace. If I do not want to create a new workspace, then
skip all remaining steps.
Create a new workspace root directory. The root directory name should be
prefixed with "terraform-provider-". Perform all subsequent steps in this
new workspace.
Initialize a new Go module.
Run go get -u github.com/hashicorp/terraform-plugin-framework@latest.
Write an internal/provider/provider.go file that follows
the example. Rename the demo provider, the
DEMO_* environment variables, and the authentication attributes to
match the target API.
Remove TODO comments from main.go and provider.go.
Run go mod tidy
Run go build -o /dev/null
Run go test ./...
The scaffold resolves credentials as explicit config with environment
variable fallback. To grow that into a full credential provider chain
(shared credentials files, profiles, platform identity, configure-time
validation), use the provider-configuration skill (if available). To add
the first resource or data source, use the provider-resources skill (if
available).
new-terraform-provider by hashicorp · The Skill Leaderboard