[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-hashicorp-provider-docs":3,"mdc-884w8l-key":34,"related-org-hashicorp-provider-docs":511,"related-repo-hashicorp-provider-docs":666},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":22,"repoUrl":23,"updatedAt":24,"license":25,"forks":26,"topics":27,"repo":29,"sourceUrl":32,"mdContent":33},"provider-docs","generate and review Terraform provider documentation","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.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"hashicorp","HashiCorp","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fhashicorp.png",[12,16,19],{"name":13,"slug":14,"type":15},"Documentation","documentation","tag",{"name":17,"slug":18,"type":15},"Terraform","terraform",{"name":20,"slug":21,"type":15},"Technical Writing","technical-writing",728,"https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fagent-skills","2026-04-06T18:25:09.261559",null,104,[28],"doormat-managed",{"repoUrl":23,"stars":22,"forks":26,"topics":30,"description":31},[28],"A collection of Agent skills and Claude Code plugins for HashiCorp products.","https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fagent-skills\u002Ftree\u002FHEAD\u002Fterraform\u002Fprovider-development\u002Fskills\u002Fprovider-docs","---\nname: provider-docs\ndescription: 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.\n---\n\n# Terraform Provider Docs\n\n## Follow This Workflow\n\n1. Confirm scope and documentation targets.\n- Map code changes to the exact doc targets: provider index, resources, data sources, ephemeral resources, list resources, functions, or guides.\n- Decide whether content should come from schema descriptions, templates, or both.\n\n2. Write schema descriptions first.\n- Add precise user-facing descriptions to schema fields so generated docs stay aligned with behavior.\n- Keep wording specific to argument purpose, constraints, defaults, and computed behavior.\n\n3. Add or update template files in `docs\u002F`.\n- Create only files that map to implemented provider objects.\n- Use HashiCorp-recommended template paths:\n  - `docs\u002Findex.md.tmpl`\n  - `docs\u002Fdata-sources\u002F\u003Cname>.md.tmpl`\n  - `docs\u002Fresources\u002F\u003Cname>.md.tmpl`\n  - `docs\u002Fephemeral-resources\u002F\u003Cname>.md.tmpl`\n  - `docs\u002Flist-resources\u002F\u003Cname>.md.tmpl`\n  - `docs\u002Ffunctions\u002F\u003Cname>.md.tmpl`\n  - `docs\u002Fguides\u002F\u003Cname>.md.tmpl`\n- Keep templates focused on overview and examples; rely on generated sections for field-by-field details.\n\n4. Generate documentation with `tfplugindocs`.\n- Prefer repository defaults when configured:\n```bash\ngo generate .\u002F...\n```\n- Otherwise run the generator directly:\n```bash\ngo run github.com\u002Fhashicorp\u002Fterraform-plugin-docs\u002Fcmd\u002Ftfplugindocs generate --provider-name \u003Cprovider_name>\n```\n- Re-run generation after every schema or template edit.\n\n5. Validate the generated markdown.\n- Verify files in `docs\u002F` match the current provider implementation.\n- Verify examples are valid HCL and reflect current argument\u002Fattribute names.\n- Verify required\u002Foptional\u002Fcomputed semantics in docs match schema behavior.\n\n6. Apply Registry publication rules before release.\n- Use semantic version tags prefixed with `v` (for example `v1.2.3`).\n- Create release tags from the default branch.\n- Keep `terraform-registry-manifest.json` in the repository root.\n- Expect docs to be versioned in Registry and switchable with the version selector.\n\n7. Preview or troubleshoot publication when needed.\n- Use the HashiCorp preview process to inspect rendered docs before release when accuracy risk is high.\n- If docs are missing in Registry, check tag format, tag source branch, manifest file presence, and provider publication status.\n\n## Enforce Quality Bar\n\n- Keep documentation behaviorally accurate; never describe unsupported arguments or attributes.\n- Keep examples minimal, realistic, and runnable.\n- Keep terminology and naming consistent across provider, resources, and data sources.\n- Avoid duplicating generated argument\u002Fattribute blocks in manual templates.\n- Keep doc changes tied to the same PR as schema\u002FAPI changes whenever possible.\n\n## Load References On Demand\n\n- Read `references\u002Fhashicorp-provider-docs.md` for source-backed rules and official links.\n- Load only the sections needed for the current change to keep context lean.\n",{"data":35,"body":36},{"name":4,"description":6},{"type":37,"children":38},"root",[39,48,55,65,79,88,101,119,203,219,227,261,269,324,332,341,366,375,422,431,444,450,478,484,505],{"type":40,"tag":41,"props":42,"children":44},"element","h1",{"id":43},"terraform-provider-docs",[45],{"type":46,"value":47},"text","Terraform Provider Docs",{"type":40,"tag":49,"props":50,"children":52},"h2",{"id":51},"follow-this-workflow",[53],{"type":46,"value":54},"Follow This Workflow",{"type":40,"tag":56,"props":57,"children":58},"ol",{},[59],{"type":40,"tag":60,"props":61,"children":62},"li",{},[63],{"type":46,"value":64},"Confirm scope and documentation targets.",{"type":40,"tag":66,"props":67,"children":68},"ul",{},[69,74],{"type":40,"tag":60,"props":70,"children":71},{},[72],{"type":46,"value":73},"Map code changes to the exact doc targets: provider index, resources, data sources, ephemeral resources, list resources, functions, or guides.",{"type":40,"tag":60,"props":75,"children":76},{},[77],{"type":46,"value":78},"Decide whether content should come from schema descriptions, templates, or both.",{"type":40,"tag":56,"props":80,"children":82},{"start":81},2,[83],{"type":40,"tag":60,"props":84,"children":85},{},[86],{"type":46,"value":87},"Write schema descriptions first.",{"type":40,"tag":66,"props":89,"children":90},{},[91,96],{"type":40,"tag":60,"props":92,"children":93},{},[94],{"type":46,"value":95},"Add precise user-facing descriptions to schema fields so generated docs stay aligned with behavior.",{"type":40,"tag":60,"props":97,"children":98},{},[99],{"type":46,"value":100},"Keep wording specific to argument purpose, constraints, defaults, and computed behavior.",{"type":40,"tag":56,"props":102,"children":104},{"start":103},3,[105],{"type":40,"tag":60,"props":106,"children":107},{},[108,110,117],{"type":46,"value":109},"Add or update template files in ",{"type":40,"tag":111,"props":112,"children":114},"code",{"className":113},[],[115],{"type":46,"value":116},"docs\u002F",{"type":46,"value":118},".",{"type":40,"tag":66,"props":120,"children":121},{},[122,127,198],{"type":40,"tag":60,"props":123,"children":124},{},[125],{"type":46,"value":126},"Create only files that map to implemented provider objects.",{"type":40,"tag":60,"props":128,"children":129},{},[130,132],{"type":46,"value":131},"Use HashiCorp-recommended template paths:\n",{"type":40,"tag":66,"props":133,"children":134},{},[135,144,153,162,171,180,189],{"type":40,"tag":60,"props":136,"children":137},{},[138],{"type":40,"tag":111,"props":139,"children":141},{"className":140},[],[142],{"type":46,"value":143},"docs\u002Findex.md.tmpl",{"type":40,"tag":60,"props":145,"children":146},{},[147],{"type":40,"tag":111,"props":148,"children":150},{"className":149},[],[151],{"type":46,"value":152},"docs\u002Fdata-sources\u002F\u003Cname>.md.tmpl",{"type":40,"tag":60,"props":154,"children":155},{},[156],{"type":40,"tag":111,"props":157,"children":159},{"className":158},[],[160],{"type":46,"value":161},"docs\u002Fresources\u002F\u003Cname>.md.tmpl",{"type":40,"tag":60,"props":163,"children":164},{},[165],{"type":40,"tag":111,"props":166,"children":168},{"className":167},[],[169],{"type":46,"value":170},"docs\u002Fephemeral-resources\u002F\u003Cname>.md.tmpl",{"type":40,"tag":60,"props":172,"children":173},{},[174],{"type":40,"tag":111,"props":175,"children":177},{"className":176},[],[178],{"type":46,"value":179},"docs\u002Flist-resources\u002F\u003Cname>.md.tmpl",{"type":40,"tag":60,"props":181,"children":182},{},[183],{"type":40,"tag":111,"props":184,"children":186},{"className":185},[],[187],{"type":46,"value":188},"docs\u002Ffunctions\u002F\u003Cname>.md.tmpl",{"type":40,"tag":60,"props":190,"children":191},{},[192],{"type":40,"tag":111,"props":193,"children":195},{"className":194},[],[196],{"type":46,"value":197},"docs\u002Fguides\u002F\u003Cname>.md.tmpl",{"type":40,"tag":60,"props":199,"children":200},{},[201],{"type":46,"value":202},"Keep templates focused on overview and examples; rely on generated sections for field-by-field details.",{"type":40,"tag":56,"props":204,"children":206},{"start":205},4,[207],{"type":40,"tag":60,"props":208,"children":209},{},[210,212,218],{"type":46,"value":211},"Generate documentation with ",{"type":40,"tag":111,"props":213,"children":215},{"className":214},[],[216],{"type":46,"value":217},"tfplugindocs",{"type":46,"value":118},{"type":40,"tag":66,"props":220,"children":221},{},[222],{"type":40,"tag":60,"props":223,"children":224},{},[225],{"type":46,"value":226},"Prefer repository defaults when configured:",{"type":40,"tag":228,"props":229,"children":234},"pre",{"className":230,"code":231,"language":232,"meta":233,"style":233},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","go generate .\u002F...\n","bash","",[235],{"type":40,"tag":111,"props":236,"children":237},{"__ignoreMap":233},[238],{"type":40,"tag":239,"props":240,"children":243},"span",{"class":241,"line":242},"line",1,[244,250,256],{"type":40,"tag":239,"props":245,"children":247},{"style":246},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[248],{"type":46,"value":249},"go",{"type":40,"tag":239,"props":251,"children":253},{"style":252},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[254],{"type":46,"value":255}," generate",{"type":40,"tag":239,"props":257,"children":258},{"style":252},[259],{"type":46,"value":260}," .\u002F...\n",{"type":40,"tag":66,"props":262,"children":263},{},[264],{"type":40,"tag":60,"props":265,"children":266},{},[267],{"type":46,"value":268},"Otherwise run the generator directly:",{"type":40,"tag":228,"props":270,"children":272},{"className":230,"code":271,"language":232,"meta":233,"style":233},"go run github.com\u002Fhashicorp\u002Fterraform-plugin-docs\u002Fcmd\u002Ftfplugindocs generate --provider-name \u003Cprovider_name>\n",[273],{"type":40,"tag":111,"props":274,"children":275},{"__ignoreMap":233},[276],{"type":40,"tag":239,"props":277,"children":278},{"class":241,"line":242},[279,283,288,293,297,302,308,313,319],{"type":40,"tag":239,"props":280,"children":281},{"style":246},[282],{"type":46,"value":249},{"type":40,"tag":239,"props":284,"children":285},{"style":252},[286],{"type":46,"value":287}," run",{"type":40,"tag":239,"props":289,"children":290},{"style":252},[291],{"type":46,"value":292}," github.com\u002Fhashicorp\u002Fterraform-plugin-docs\u002Fcmd\u002Ftfplugindocs",{"type":40,"tag":239,"props":294,"children":295},{"style":252},[296],{"type":46,"value":255},{"type":40,"tag":239,"props":298,"children":299},{"style":252},[300],{"type":46,"value":301}," --provider-name",{"type":40,"tag":239,"props":303,"children":305},{"style":304},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[306],{"type":46,"value":307}," \u003C",{"type":40,"tag":239,"props":309,"children":310},{"style":252},[311],{"type":46,"value":312},"provider_nam",{"type":40,"tag":239,"props":314,"children":316},{"style":315},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[317],{"type":46,"value":318},"e",{"type":40,"tag":239,"props":320,"children":321},{"style":304},[322],{"type":46,"value":323},">\n",{"type":40,"tag":66,"props":325,"children":326},{},[327],{"type":40,"tag":60,"props":328,"children":329},{},[330],{"type":46,"value":331},"Re-run generation after every schema or template edit.",{"type":40,"tag":56,"props":333,"children":335},{"start":334},5,[336],{"type":40,"tag":60,"props":337,"children":338},{},[339],{"type":46,"value":340},"Validate the generated markdown.",{"type":40,"tag":66,"props":342,"children":343},{},[344,356,361],{"type":40,"tag":60,"props":345,"children":346},{},[347,349,354],{"type":46,"value":348},"Verify files in ",{"type":40,"tag":111,"props":350,"children":352},{"className":351},[],[353],{"type":46,"value":116},{"type":46,"value":355}," match the current provider implementation.",{"type":40,"tag":60,"props":357,"children":358},{},[359],{"type":46,"value":360},"Verify examples are valid HCL and reflect current argument\u002Fattribute names.",{"type":40,"tag":60,"props":362,"children":363},{},[364],{"type":46,"value":365},"Verify required\u002Foptional\u002Fcomputed semantics in docs match schema behavior.",{"type":40,"tag":56,"props":367,"children":369},{"start":368},6,[370],{"type":40,"tag":60,"props":371,"children":372},{},[373],{"type":46,"value":374},"Apply Registry publication rules before release.",{"type":40,"tag":66,"props":376,"children":377},{},[378,399,404,417],{"type":40,"tag":60,"props":379,"children":380},{},[381,383,389,391,397],{"type":46,"value":382},"Use semantic version tags prefixed with ",{"type":40,"tag":111,"props":384,"children":386},{"className":385},[],[387],{"type":46,"value":388},"v",{"type":46,"value":390}," (for example ",{"type":40,"tag":111,"props":392,"children":394},{"className":393},[],[395],{"type":46,"value":396},"v1.2.3",{"type":46,"value":398},").",{"type":40,"tag":60,"props":400,"children":401},{},[402],{"type":46,"value":403},"Create release tags from the default branch.",{"type":40,"tag":60,"props":405,"children":406},{},[407,409,415],{"type":46,"value":408},"Keep ",{"type":40,"tag":111,"props":410,"children":412},{"className":411},[],[413],{"type":46,"value":414},"terraform-registry-manifest.json",{"type":46,"value":416}," in the repository root.",{"type":40,"tag":60,"props":418,"children":419},{},[420],{"type":46,"value":421},"Expect docs to be versioned in Registry and switchable with the version selector.",{"type":40,"tag":56,"props":423,"children":425},{"start":424},7,[426],{"type":40,"tag":60,"props":427,"children":428},{},[429],{"type":46,"value":430},"Preview or troubleshoot publication when needed.",{"type":40,"tag":66,"props":432,"children":433},{},[434,439],{"type":40,"tag":60,"props":435,"children":436},{},[437],{"type":46,"value":438},"Use the HashiCorp preview process to inspect rendered docs before release when accuracy risk is high.",{"type":40,"tag":60,"props":440,"children":441},{},[442],{"type":46,"value":443},"If docs are missing in Registry, check tag format, tag source branch, manifest file presence, and provider publication status.",{"type":40,"tag":49,"props":445,"children":447},{"id":446},"enforce-quality-bar",[448],{"type":46,"value":449},"Enforce Quality Bar",{"type":40,"tag":66,"props":451,"children":452},{},[453,458,463,468,473],{"type":40,"tag":60,"props":454,"children":455},{},[456],{"type":46,"value":457},"Keep documentation behaviorally accurate; never describe unsupported arguments or attributes.",{"type":40,"tag":60,"props":459,"children":460},{},[461],{"type":46,"value":462},"Keep examples minimal, realistic, and runnable.",{"type":40,"tag":60,"props":464,"children":465},{},[466],{"type":46,"value":467},"Keep terminology and naming consistent across provider, resources, and data sources.",{"type":40,"tag":60,"props":469,"children":470},{},[471],{"type":46,"value":472},"Avoid duplicating generated argument\u002Fattribute blocks in manual templates.",{"type":40,"tag":60,"props":474,"children":475},{},[476],{"type":46,"value":477},"Keep doc changes tied to the same PR as schema\u002FAPI changes whenever possible.",{"type":40,"tag":49,"props":479,"children":481},{"id":480},"load-references-on-demand",[482],{"type":46,"value":483},"Load References On Demand",{"type":40,"tag":66,"props":485,"children":486},{},[487,500],{"type":40,"tag":60,"props":488,"children":489},{},[490,492,498],{"type":46,"value":491},"Read ",{"type":40,"tag":111,"props":493,"children":495},{"className":494},[],[496],{"type":46,"value":497},"references\u002Fhashicorp-provider-docs.md",{"type":46,"value":499}," for source-backed rules and official links.",{"type":40,"tag":60,"props":501,"children":502},{},[503],{"type":46,"value":504},"Load only the sections needed for the current change to keep context lean.",{"type":40,"tag":506,"props":507,"children":508},"style",{},[509],{"type":46,"value":510},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":512,"total":665},[513,532,544,557,571,583,589,599,614,629,641,652],{"slug":514,"name":514,"fn":515,"description":516,"org":517,"tags":518,"stars":22,"repoUrl":23,"updatedAt":531},"aws-ami-builder","build Amazon Machine Images with Packer","Build Amazon Machine Images (AMIs) with Packer using the amazon-ebs builder. Use when creating custom AMIs for EC2 instances.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[519,522,525,528],{"name":520,"slug":521,"type":15},"AWS","aws",{"name":523,"slug":524,"type":15},"Deployment","deployment",{"name":526,"slug":527,"type":15},"Infrastructure as Code","infrastructure-as-code",{"name":529,"slug":530,"type":15},"Packer","packer","2026-04-06T18:25:04.01571",{"slug":533,"name":533,"fn":534,"description":535,"org":536,"tags":537,"stars":22,"repoUrl":23,"updatedAt":543},"azure-image-builder","build Azure managed images with Packer","Build Azure managed images and Azure Compute Gallery images with Packer. Use when creating custom images for Azure VMs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[538,541,542],{"name":539,"slug":540,"type":15},"Azure","azure",{"name":523,"slug":524,"type":15},{"name":529,"slug":530,"type":15},"2026-04-06T18:25:06.590174",{"slug":545,"name":545,"fn":546,"description":547,"org":548,"tags":549,"stars":22,"repoUrl":23,"updatedAt":556},"azure-verified-modules","develop certified Azure Verified Modules","Azure Verified Modules (AVM) requirements and best practices for developing certified Azure Terraform modules. Use when creating or reviewing Azure modules that need AVM certification.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[550,551,554,555],{"name":539,"slug":540,"type":15},{"name":552,"slug":553,"type":15},"Compliance","compliance",{"name":526,"slug":527,"type":15},{"name":17,"slug":18,"type":15},"2026-04-06T18:25:16.88768",{"slug":558,"name":558,"fn":559,"description":560,"org":561,"tags":562,"stars":22,"repoUrl":23,"updatedAt":570},"new-terraform-provider","scaffold new Terraform providers","Use this when scaffolding a new Terraform provider.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[563,566,569],{"name":564,"slug":565,"type":15},"Plugin Development","plugin-development",{"name":567,"slug":568,"type":15},"Templates","templates",{"name":17,"slug":18,"type":15},"2026-04-06T18:25:11.814973",{"slug":572,"name":572,"fn":573,"description":574,"org":575,"tags":576,"stars":22,"repoUrl":23,"updatedAt":582},"provider-actions","implement Terraform Provider lifecycle actions","Implement Terraform Provider actions using the Plugin Framework. Use when developing imperative operations that execute at lifecycle events (before\u002Fafter create, update, destroy).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[577,580,581],{"name":578,"slug":579,"type":15},"API Development","api-development",{"name":564,"slug":565,"type":15},{"name":17,"slug":18,"type":15},"2026-04-06T18:25:07.880533",{"slug":4,"name":4,"fn":5,"description":6,"org":584,"tags":585,"stars":22,"repoUrl":23,"updatedAt":24},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[586,587,588],{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"slug":590,"name":590,"fn":591,"description":592,"org":593,"tags":594,"stars":22,"repoUrl":23,"updatedAt":598},"provider-resources","implement Terraform Provider resources and data sources","Implement Terraform Provider resources and data sources using the Plugin Framework. Use when developing CRUD operations, schema design, state management, and acceptance testing for provider resources.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[595,596,597],{"name":578,"slug":579,"type":15},{"name":564,"slug":565,"type":15},{"name":17,"slug":18,"type":15},"2026-04-06T18:25:10.56237",{"slug":600,"name":600,"fn":601,"description":602,"org":603,"tags":604,"stars":22,"repoUrl":23,"updatedAt":613},"provider-test-patterns","implement Terraform provider acceptance test patterns","Terraform provider acceptance test patterns using terraform-plugin-testing with the Plugin Framework. Covers test structure, TestCase\u002FTestStep fields, ConfigStateChecks with custom statecheck.StateCheck implementations, plan checks, CompareValue for cross-step assertions, config helpers, import testing with ImportStateKind, sweepers, and scenario patterns (basic, update, disappears, validation, regression), and ephemeral resource testing with the echoprovider package. Use when writing, reviewing, or debugging provider acceptance tests, including questions about statecheck, plancheck, TestCheckFunc, CheckDestroy, ExpectError, import state verification, ephemeral resources, or how to structure test files.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[605,606,609,610],{"name":564,"slug":565,"type":15},{"name":607,"slug":608,"type":15},"QA","qa",{"name":17,"slug":18,"type":15},{"name":611,"slug":612,"type":15},"Testing","testing","2026-04-06T18:25:14.352781",{"slug":615,"name":615,"fn":616,"description":617,"org":618,"tags":619,"stars":22,"repoUrl":23,"updatedAt":628},"push-to-registry","push Packer build metadata to HCP registry","Push Packer build metadata to HCP Packer registry for tracking and managing image lifecycle. Use when integrating Packer builds with HCP Packer for version control and governance.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[620,621,624,627],{"name":523,"slug":524,"type":15},{"name":622,"slug":623,"type":15},"Governance","governance",{"name":625,"slug":626,"type":15},"HCP","hcp",{"name":529,"slug":530,"type":15},"2026-04-06T18:25:02.749563",{"slug":630,"name":630,"fn":631,"description":632,"org":633,"tags":634,"stars":22,"repoUrl":23,"updatedAt":640},"refactor-module","refactor Terraform configurations into reusable modules","Transform monolithic Terraform configurations into reusable, maintainable modules following HashiCorp's module design principles and community best practices.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[635,638,639],{"name":636,"slug":637,"type":15},"Architecture","architecture",{"name":526,"slug":527,"type":15},{"name":17,"slug":18,"type":15},"2026-04-06T18:25:20.953737",{"slug":642,"name":642,"fn":643,"description":644,"org":645,"tags":646,"stars":22,"repoUrl":23,"updatedAt":651},"run-acceptance-tests","run acceptance tests for Terraform providers","Guide for running acceptance tests for a Terraform provider. Use this when asked to run an acceptance test or to run a test with the prefix `TestAcc`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[647,648,649,650],{"name":564,"slug":565,"type":15},{"name":607,"slug":608,"type":15},{"name":17,"slug":18,"type":15},{"name":611,"slug":612,"type":15},"2026-04-06T18:25:13.098191",{"slug":653,"name":653,"fn":654,"description":655,"org":656,"tags":657,"stars":22,"repoUrl":23,"updatedAt":664},"terraform-policy","write and test Terraform policy files","Write, test, or convert Terraform Policy files (.policy.hcl, .policytest.hcl, Sentinel→tfpolicy). Triggers: policy.hcl, policytest, convert sentinel, tfpolicy, write a policy.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[658,659,660,663],{"name":552,"slug":553,"type":15},{"name":526,"slug":527,"type":15},{"name":661,"slug":662,"type":15},"Security","security",{"name":17,"slug":18,"type":15},"2026-07-18T05:48:20.299442",18,{"items":667,"total":712},[668,675,681,688,694,700,706],{"slug":514,"name":514,"fn":515,"description":516,"org":669,"tags":670,"stars":22,"repoUrl":23,"updatedAt":531},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[671,672,673,674],{"name":520,"slug":521,"type":15},{"name":523,"slug":524,"type":15},{"name":526,"slug":527,"type":15},{"name":529,"slug":530,"type":15},{"slug":533,"name":533,"fn":534,"description":535,"org":676,"tags":677,"stars":22,"repoUrl":23,"updatedAt":543},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[678,679,680],{"name":539,"slug":540,"type":15},{"name":523,"slug":524,"type":15},{"name":529,"slug":530,"type":15},{"slug":545,"name":545,"fn":546,"description":547,"org":682,"tags":683,"stars":22,"repoUrl":23,"updatedAt":556},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[684,685,686,687],{"name":539,"slug":540,"type":15},{"name":552,"slug":553,"type":15},{"name":526,"slug":527,"type":15},{"name":17,"slug":18,"type":15},{"slug":558,"name":558,"fn":559,"description":560,"org":689,"tags":690,"stars":22,"repoUrl":23,"updatedAt":570},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[691,692,693],{"name":564,"slug":565,"type":15},{"name":567,"slug":568,"type":15},{"name":17,"slug":18,"type":15},{"slug":572,"name":572,"fn":573,"description":574,"org":695,"tags":696,"stars":22,"repoUrl":23,"updatedAt":582},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[697,698,699],{"name":578,"slug":579,"type":15},{"name":564,"slug":565,"type":15},{"name":17,"slug":18,"type":15},{"slug":4,"name":4,"fn":5,"description":6,"org":701,"tags":702,"stars":22,"repoUrl":23,"updatedAt":24},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[703,704,705],{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"slug":590,"name":590,"fn":591,"description":592,"org":707,"tags":708,"stars":22,"repoUrl":23,"updatedAt":598},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[709,710,711],{"name":578,"slug":579,"type":15},{"name":564,"slug":565,"type":15},{"name":17,"slug":18,"type":15},17]