provider-docs
About
This skill helps developers create and maintain Terraform provider documentation for the Terraform Registry using HashiCorp standards and tfplugindocs. It's used when adding or modifying provider components like resources, data sources, or functions, and for validating or troubleshooting documentation. The workflow focuses on writing schema descriptions and using templates to ensure accurate, generated docs.
Quick Install
Claude Code
Recommendednpx skills add hashicorp/agent-skills -a claude-code/plugin add https://github.com/hashicorp/agent-skillsgit clone https://github.com/hashicorp/agent-skills.git ~/.claude/skills/provider-docsCopy and paste this command in Claude Code to install this skill
Documentation
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
docs/match the current provider implementation. - 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
v(for examplev1.2.3). - Create release tags from the default branch.
- Keep
terraform-registry-manifest.jsonin the repository root. - 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
references/hashicorp-provider-docs.mdfor source-backed rules and official links. - Load only the sections needed for the current change to keep context lean.
GitHub Repository
Related Skills
content-collections
MetaThis skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.
polymarket
MetaThis skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.
creating-opencode-plugins
MetaThis skill helps developers create OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It provides the plugin structure, event API specifications, and implementation patterns for JavaScript/TypeScript modules. Use it when you need to intercept, monitor, or extend the OpenCode AI assistant's lifecycle with custom event-driven logic.
sglang
MetaSGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.
