provider-docs — Claude Code skill: what it does, how to install
Guides Terraform provider documentation workflows for the Terraform Registry. It coordinates schema descriptions, docs templates, and tfplugindocs generation.
npx skills add hashicorp/agent-skills --skill provider-docs -a claude-codeWhat provider-docs does
This skill directs how to write and maintain documentation for Terraform providers. The process starts in Go schema descriptions for arguments and computed attributes, then moves to templates in the docs/ directory. Output markdown is generated with tfplugindocs through go generate or the standalone CLI command. Every generated page gets verified against current provider code.
Strict formatting rules apply to HCL snippets. Sample configurations belong in the examples/ folder, isolated to one scenario per file and imported via tffile. They cannot include terraform, provider, or output blocks. When documenting actions introduced in Terraform v1.14.0+, templates must link action and action_trigger lifecycle wiring without attribute sections. Ignoring these details causes broken rendering in the public Registry.
Publication requires specific release metadata. The root folder must hold terraform-registry-manifest.json, and release tags must follow semantic versioning with a v prefix such as v1.2.3 from the default branch. Missing manifest files or non-standard branch tags prevent the Registry from parsing doc updates.
What it helps with
- structure docs templates for new provider resources and functions
- align Go schema attribute descriptions with generated registry pages
- clean HCL examples of disallowed provider and terraform blocks
- run tfplugindocs generation across provider schema changes
- verify registry manifest and release tag formatting before publishing
Example prompts for the agent
- Update provider documentation templates for our new data source and run tfplugindocs
- Audit HCL snippets in the examples directory against Terraform Registry requirements
- Set up an action template with action_trigger lifecycle wiring for Terraform v1.14.0+
How to install provider-docs
1Skills CLI (Vercel)
npx skills add hashicorp/agent-skills --skill provider-docs -a claude-code2Manually: put the files in place
~/.claude/skills/provider-docs/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/provider-docs/
1Skills CLI (Vercel)
npx skills add hashicorp/agent-skills --skill provider-docs -a codex2Manually: put the files in place
.agents/skills/provider-docs/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add hashicorp/agent-skills --skill provider-docs -a cursor2Manually: put the files in place
.cursor/skills/provider-docs/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install hashicorp/agent-skills provider-docs2Manually: put the files in place
.github/skills/provider-docs/SKILL.md1Skills CLI (Vercel)
npx skills add hashicorp/agent-skills --skill provider-docs -a gemini-cli2Platform CLI
gemini skills install https://github.com/hashicorp/agent-skills --path plugins/terraform/skills/provider-docsManually: put the files in place
.devin/skills/provider-docs/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add hashicorp/agent-skills --skill provider-docs -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about provider-docs
How do I install provider-docs in Claude Code?
Run npx skills add hashicorp/agent-skills --skill provider-docs -a claude-code. The skill file is placed at ~/.claude/skills/provider-docs/SKILL.md.
What does provider-docs do?
It walks agents through crafting provider docs, writing schema descriptions, maintaining templates, and running tfplugindocs for Terraform Registry.
What are the rules for HCL examples in provider documentation?
Store each example as an independent file in the examples/ directory and reference it with tffile. Examples must omit terraform, provider, and output blocks.