Agent skill

Terraform Provider Development

by shepherdjerred in shepherdjerred/monorepo

Build, extend, test, document, and migrate Terraform providers with the Plugin Framework.

MPL-2.0Auto-check passedDevOps & Cloud

Install Terraform Provider Development

skills CLI
$ npx skills add shepherdjerred/monorepo --skill terraform-provider-development -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install shepherdjerred/monorepo terraform-provider-development --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/shepherdjerred/monorepo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/dotfiles/dot_agents/skills/terraform-provider-development .claude/skills/terraform-provider-development && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
terraform-provider-development
GitHub stars
112
Token cost
~1.2k tokens
SKILL.md length
559 words
Files
12 (incl. references, assets)
Skills in repo
63
Repo updated
First seen
Licence
MPL-2.0

At a glance

Build, extend, test, document, and migrate Terraform providers with the Plugin Framework.

  • Works in 4 steps: Create or confirm the provider workspace… → Add the Plugin Framework and provider… → Implement provider schema and Configure,… → …
  • Scaffolding a provider
  • SKILL.md covers Scope and safety, New provider scaffold, Provider configuration and Resources, data sources, and…, plus 3 more sections
  • Runs Go scripts from its folder; calls go

What it does

Terraform Provider Development is an agent skill from shepherdjerred/monorepo. Build, extend, test, document, and migrate Terraform providers with the Plugin Framework. Use when scaffolding a provider, implementing provider configuration, resources, data sources, actions, documentation, imports, acceptance tests, or SDKv2-to-Framework migrations.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 18 other files, including reference files and assets (for example `references/hashicorp-provider-configuration/case-studies.md`, `references/hashicorp-provider-configuration/credential-chain.md` and `references/hashicorp-provider-docs/hashicorp-provider-docs.md`).

It sits in DevOps & Cloud, covering Infrastructure as code, Code migrations and End-to-end testing. It works with Terraform. The repository describes itself as: Monorepo for all of my projects. The licence is MPL-2.0.

When your agent uses it

  • Scaffolding a provider
  • Implementing provider configuration
  • Acceptance tests
  • SDKv2-to-Framework migrations

Example prompts

  • “/terraform-provider-development”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Create or confirm the provider workspace and initialize its Go module.
  2. Add the Plugin Framework and provider server entrypoint. The starter
  3. Implement provider schema and Configure, then run go mod tidy,
  4. Add authentication validation and a deterministic credential chain before

What it can do on your machine

Read from SKILL.md and the folder at commit bc57ca5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Go), which the agent can run.

    Shell commands in SKILL.md call:

    • go

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Terraform Provider Development loads about 1.2k tokens when it runs, and up to ~17k if it reads all its reference files. Until then it costs about 75 tokens; SKILL.md has 559 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~75
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~17k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from shepherdjerred/monorepo at commit bc57ca5, republished under its MPL-2.0 licence (© shepherdjerred). 559 words, ~1,192 tokens.

Download SKILL.mdSave it as .claude/skills/terraform-provider-development/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.
name
terraform-provider-development
description
Build, extend, test, document, and migrate Terraform providers with the Plugin Framework. Use when scaffolding a provider, implementing provider configuration, resources, data sources, actions, documentation, imports, acceptance tests, or SDKv2-to-Framework migrations.
license
MPL-2.0

Terraform Provider Development

Use this repo-owned workflow for production-quality Terraform providers. It combines the active HashiCorp provider-development guidance with the local Terraform/OpenTofu safety rules. The copied examples and deeper references are in assets/ and references/; read only the relevant one for the current task.

Scope and safety

  • Confirm the provider API, supported Terraform versions, and whether the provider is SDKv2-only, Framework-only, or muxed before changing code.
  • Keep credentials out of source, plans, state, fixtures, and logs. Provider configuration attributes carrying secrets are optional and sensitive, with documented environment-variable fallbacks and redacted diagnostics.
  • Acceptance tests can create and destroy real infrastructure. Require explicit authorization, use the provider's documented test environment variables, and never turn a missing credential into a skipped test or a false pass.
  • Use Go's repository toolchain and run focused tests before broad verification: go test ./..., go vet ./..., and the provider's configured lint or docs commands. Do not add a dependency only to hide a failing check.

New provider scaffold

For a new terraform-provider-* project:

  1. Create or confirm the provider workspace and initialize its Go module.
  2. Add the Plugin Framework and provider server entrypoint. The starter examples are assets/main.go and assets/provider.go.
  3. Implement provider schema and Configure, then run go mod tidy, go build, and go test ./....
  4. Add authentication validation and a deterministic credential chain before adding resources. Read references/hashicorp-provider-configuration/ for the detailed chain and case studies.

Provider configuration

Model credentials as optional, sensitive schema attributes so configuration, environment variables, shared profiles, or platform identity can be composed. Resolve known values in Configure, report every attempted source without printing secret values, and return diagnostics for missing or invalid credentials. Preserve unknown values until Terraform has enough information to configure the provider; do not silently select an unrelated account.

Show full SKILL.md (267 more words)Show less

Resources, data sources, and actions

  • Use the Plugin Framework for new resources and data sources. Use CRUD methods, validators, plan modifiers, not-found handling, and waiters that match the API's consistency model.
  • Model a data source as a read-only lookup, not a resource with an accidental delete path. Define import behavior and stable identity before implementation.
  • Treat actions as an explicit experimental feature and document lifecycle timing, idempotency, retries, and failure behavior.
  • Add acceptance coverage for every resource/data source and important import, drift, not-found, validation, and eventual-consistency path.

Read references/hashicorp-provider-resources/ and references/hashicorp-provider-test-patterns/ for detailed design and test patterns.

Documentation and release readiness

Keep schema descriptions precise, add only templates for implemented objects, and generate docs with the repository's tfplugindocs workflow. Verify examples against the provider code and ensure provider, resource, data source, action, and guide docs agree. Read references/hashicorp-provider-docs/hashicorp-provider-docs.md before changing templates.

Framework migrations

For SDKv2-to-Framework work, inventory state shape and null/zero-value behavior first. Preserve existing addresses and semantics, use muxing where a staged migration is required, and add regression tests before changing schemas. Read references/hashicorp-provider-framework-migration/schema-mapping.md for the mapping and compatibility traps.

Acceptance and CI

Run unit and protocol tests without credentials first. Run acceptance tests only with explicit authorization and a disposable test account/project. Keep cleanup failures visible, use stable test names, and record the exact Terraform/Go/ provider versions. The upstream acceptance workflow is summarized by the local test-pattern references; this skill does not assume GitHub Actions, a hosted runner, or a particular CI provider.

The upstream source paths, exact commit, and manual-review notes are recorded in public-sources.json. Do not overwrite this skill wholesale during an update.

© shepherdjerred, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 11 other files (references, assets) in packages/dotfiles/dot_agents/skills/terraform-provider-development of shepherdjerred/monorepo.

  • SKILL.md
  • assets/main.go
  • assets/provider.go
  • references/hashicorp-provider-configuration/case-studies.md
  • references/hashicorp-provider-configuration/credential-chain.md
  • references/hashicorp-provider-docs/hashicorp-provider-docs.md
  • references/hashicorp-provider-framework-migration/schema-mapping.md
  • references/hashicorp-provider-resources/design-principles.md
  • references/hashicorp-provider-resources/retries-and-waiters.md
  • references/hashicorp-provider-test-patterns/checks.md
  • references/hashicorp-provider-test-patterns/ephemeral.md
  • references/hashicorp-provider-test-patterns/sweepers.md

Open the folder on GitHubat commit bc57ca5

Compare with similar skills

Terraform Provider Development next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Terraform Provider Development compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Terraform Provider Development this skillshepherdjerred/monorepo112—~1.2kAutomated safety check: PassMPL-2.0
Run DNS Serverhashicorp/terraform-provider-dns149—~352Automated safety check: PassMPL-2.0
Dev OverridesGoogleCloudPlatform/magic-modules974—~432Automated safety check: PassCustom licence
Terraform Provider Upgradethomast1906/github-copilot-agent-skills202—~3.9kAutomated safety check: PassNone
Smt E2E Dataflow DebuggingGoogleCloudPlatform/DataflowTemplates1.3k—~1.8kAutomated safety check: PassApache-2.0
Avm Tf TestingAzure/terraform-azurerm-avm-ptn-alz135—~1.8kAutomated safety check: PassMIT

Similar skills

  • Run DNS Server

    hashicorp/terraform-provider-dns

    Official

    Guide for running a local containerized DNS server. An agent skill from hashicorp/terraform-provider-dns.

    149 GitHub stars~352 tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Dev Overrides

    GoogleCloudPlatform/magic-modules

    Configures Terraform CLI with developer overrides to test locally built provider binaries without full Go acceptance tests, enabling rapid plan/apply cycles.

    974 GitHub stars~432 tokensUpdated today
    DevOps & CloudAuto-check passed
  • Terraform Provider Upgrade

    thomast1906/github-copilot-agent-skills

    Safe Terraform provider upgrades with automatic resource migration, breaking change detection, and state management using moved blocks.

    202 GitHub stars~3.9k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Smt E2E Dataflow Debugging

    GoogleCloudPlatform/DataflowTemplates

    Debugs logical errors and data discrepancies in Dataflow templates by launching jobs via Terraform and comparing source (e.g.

    1.3k GitHub stars~1.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Avm Tf Testing

    Azure/terraform-azurerm-avm-ptn-alz

    Official

    A skill your agent uses for AVM Terraform validation, provider-mocked unit tests, real-Azure integration tests, E2E example tests, PowerShell hooks, OIDC, policy checks, and Avm.Authoring CI behavior.

    135 GitHub stars~1.8k tokensUpdated 3 days ago
    Testing & QAAuto-check passed
  • Schema Coverage

    elastic/terraform-provider-elasticstack

    Official

    Analyzes a Terraform resource schema and compares it to attributes used in the acceptance test suite (configs + assertions).

    210 GitHub stars~1.4k tokensUpdated today
    Testing & QAAuto-check passed

More from shepherdjerred/monorepo

All 63 skills in this repo
  • Bun Runtime Best Practices

    shepherdjerred/monorepo

    Bun runtime APIs and current operational patterns for files, processes, modules, networking, databases, tests, and deployment.

    112 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Bun Test Patterns

    shepherdjerred/monorepo

    Current Bun test runner guidance for discovery, isolation, parallelism, sharding, changed tests, mocks, timers, snapshots, coverage, DOM Testing Library, and integration teardown.

    112 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Bun Workspaces

    shepherdjerred/monorepo

    Current Bun workspace guidance for isolated and hoisted linkers, catalogs, filters, scripts, dependency classes, lockfiles, lifecycle trust, caches, publishing, TypeScript package exports, and…

    112 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Deep Research

    shepherdjerred/monorepo

    This skill should be used when the user asks to "deep research", "research this topic", "investigate thoroughly", "do a deep dive on", "comprehensive research on", "find everything about", "survey…

    112 GitHub stars~4.7k tokensUpdated today
    Auto-check: notes
  • Figma Use

    shepherdjerred/monorepo

    This skill should be used when the user asks to "create a Figma design", "design in Figma", "make a Figma mockup", "create an app icon", "design UI", "render JSX to Figma", "export from Figma"…

    112 GitHub stars~946 tokensUpdated today
    Auto-check passed
  • Fish Helper

    shepherdjerred/monorepo

    Current Fish shell scripting, functions, abbreviations, completions, variables, events, configuration, plugins, testing, and safety guidance.

    112 GitHub stars~2k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Terraform Provider Development

What does Terraform Provider Development do?

Build, extend, test, document, and migrate Terraform providers with the Plugin Framework. Terraform Provider Development is an agent skill from shepherdjerred/monorepo. Build, extend, test, document, and migrate Terraform providers with the Plugin Framework.

When should I use Terraform Provider Development?

Terraform Provider Development fits situations like: scaffolding a provider; implementing provider configuration; acceptance tests; SDKv2-to-Framework migrations.

How do I install Terraform Provider Development in Claude Code?

Run `npx skills add shepherdjerred/monorepo --skill terraform-provider-development -a claude-code`. Or copy the skill folder (packages/dotfiles/dot_agents/skills/terraform-provider-development in shepherdjerred/monorepo) into .claude/skills/terraform-provider-development in your project. Claude Code loads it when a task matches its description.

How do I install Terraform Provider Development in Codex?

Run `npx skills add shepherdjerred/monorepo --skill terraform-provider-development -a codex`. Or copy the skill folder (packages/dotfiles/dot_agents/skills/terraform-provider-development in shepherdjerred/monorepo) into .agents/skills/terraform-provider-development in your project. Codex loads it when a task matches its description.

Can I use Terraform Provider Development in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add shepherdjerred/monorepo --skill terraform-provider-development -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/terraform-provider-development, .gemini/skills/terraform-provider-development, .github/skills/terraform-provider-development and .opencode/skills/terraform-provider-development in your project.

What does Terraform Provider Development need to run?

Going by SKILL.md and its folder, Terraform Provider Development needs Go for the scripts in its folder and the command-line tools its instructions call (go).

Does Terraform Provider Development access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Terraform Provider Development safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Terraform Provider Development use?

Terraform Provider Development is published under the MPL-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Terraform Provider Development use?

About 1.2k tokens (SKILL.md is roughly 4.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 16k tokens, read only when the agent opens those files.

What are the alternatives to Terraform Provider Development?

Skills that share tags, products or a category with Terraform Provider Development: Run DNS Server (hashicorp/terraform-provider-dns, 149 stars), Dev Overrides (GoogleCloudPlatform/magic-modules, 974 stars), Terraform Provider Upgrade (thomast1906/github-copilot-agent-skills, 202 stars) and Smt E2E Dataflow Debugging (GoogleCloudPlatform/DataflowTemplates, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Terraform Provider Development?

shepherdjerred (a GitHub user) maintains it in shepherdjerred/monorepo, which has 112 GitHub stars. The repository holds 63 skills in this directory. The repository was last updated on October 9, 2026.

Source: shepherdjerred/monorepo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.