Agent-skills provider-docs
Create, update, and review Terraform provider documentation for Terraform Registry using HashiCorp-recommended patterns, tfplugindocs templates, and schema descriptions. Use when adding or changing provider configuration, resources, data sources, ephemeral resources, list resources, functions, or guides; when validating generated docs; and when troubleshooting missing or incorrect Registry documentation.
install
source · Clone the upstream repo
git clone https://github.com/hashicorp/agent-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/hashicorp/agent-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/terraform/provider-development/skills/provider-docs" ~/.claude/skills/hashicorp-agent-skills-provider-docs && rm -rf "$T"
manifest:
terraform/provider-development/skills/provider-docs/SKILL.mdsource content
Terraform Provider Docs
Follow This Workflow
- Confirm scope and documentation targets.
- Map code changes to the exact doc targets: provider index, resources, data sources, ephemeral resources, list resources, functions, or guides.
- Decide whether content should come from schema descriptions, templates, or both.
- Write schema descriptions first.
- Add precise user-facing descriptions to schema fields so generated docs stay aligned with behavior.
- Keep wording specific to argument purpose, constraints, defaults, and computed behavior.
- Add or update template files in
.docs/
- Create only files that map to implemented provider objects.
- Use HashiCorp-recommended template paths:
docs/index.md.tmpldocs/data-sources/<name>.md.tmpldocs/resources/<name>.md.tmpldocs/ephemeral-resources/<name>.md.tmpldocs/list-resources/<name>.md.tmpldocs/functions/<name>.md.tmpldocs/guides/<name>.md.tmpl
- Keep templates focused on overview and examples; rely on generated sections for field-by-field details.
- Generate documentation with
.tfplugindocs
- Prefer repository defaults when configured:
go generate ./...
- Otherwise run the generator directly:
go run github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs generate --provider-name <provider_name>
- Re-run generation after every schema or template edit.
- Validate the generated markdown.
- Verify files in
match the current provider implementation.docs/ - Verify examples are valid HCL and reflect current argument/attribute names.
- Verify required/optional/computed semantics in docs match schema behavior.
- Apply Registry publication rules before release.
- Use semantic version tags prefixed with
(for examplev
).v1.2.3 - Create release tags from the default branch.
- Keep
in the repository root.terraform-registry-manifest.json - Expect docs to be versioned in Registry and switchable with the version selector.
- Preview or troubleshoot publication when needed.
- Use the HashiCorp preview process to inspect rendered docs before release when accuracy risk is high.
- If docs are missing in Registry, check tag format, tag source branch, manifest file presence, and provider publication status.
Enforce Quality Bar
- Keep documentation behaviorally accurate; never describe unsupported arguments or attributes.
- Keep examples minimal, realistic, and runnable.
- Keep terminology and naming consistent across provider, resources, and data sources.
- Avoid duplicating generated argument/attribute blocks in manual templates.
- Keep doc changes tied to the same PR as schema/API changes whenever possible.
Load References On Demand
- Read
for source-backed rules and official links.references/hashicorp-provider-docs.md - Load only the sections needed for the current change to keep context lean.