provider-test-patterns agent skill by hashicorp
Guides writing, reviewing, and debugging Terraform provider acceptance tests with terraform-plugin-testing, covering state checks, plan checks, import testing, sweepers, and common scenario patterns.
At a glance
| Publisher | HashiCorp Official |
|---|---|
| Repository | hashicorp/agent-skills (19 listed skills) |
| Category | Testing and QA |
| License | MPL-2.0 |
| Last commit | September 28, 2026 (repository) |
| SKILL.md | 396 lines, 1,174 words |
| Bundled files | 4 files, including references |
| Quality score | 81/100 · B Passes all seven graded checks |
| Security scan | Not scanned |
| README badge | Get the badges for this listing |
Before you install
Read from the skill's files at the directory's October 19, 2026 snapshot: what ships with it, what its code reads, and the terms it is published under.
- Bundled scripts: none.
- License: MPL-2.0, an open-source or open-content license.
Install provider-test-patterns
The skills CLI works with Claude Code, Codex, Cursor and other agents; the other routes copy the folder by hand.
npx skills add https://github.com/hashicorp/agent-skills/tree/main/plugins/terraform/skills/provider-test-patterns
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/hashicorp/agent-skills.git "$tmp/repo"
mkdir -p .claude/skills
cp -R "$tmp/repo/"plugins/terraform/skills/provider-test-patterns .claude/skills/
rm -rf "$tmp"
python3 ~/.codex/skills/.system/skill-installer/scripts/install-skill-from-github.py \
--repo hashicorp/agent-skills \
--path plugins/terraform/skills/provider-test-patterns
hashicorp/agent-skills is third-party code. Read SKILL.md and any bundled scripts before you install it.
How the author describes it
Terraform provider acceptance test patterns using terraform-plugin-testing with the Plugin Framework. Covers test structure, TestCase/TestStep 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.
From the description field of SKILL.md. Agents read this line to decide when to load the skill.
Sections in SKILL.md
- Test Lifecycle
- Test Function Structure
- Provider Factory
- TestCase Fields
- TestStep Fields
- Config Mode
- Import Mode
- Check Functions
- Modern: ConfigStateChecks (preferred)
- Legacy: Check (for CheckDestroy and migration)
- Config Helpers
- Scenario Patterns
- Basic + Update (combine in one test — updates are supersets of basic)
- Import
- Disappears (resource deleted externally)
- Validation (expect error)
Files in the skill folder
SKILL.mdreferences/checks.mdreferences/ephemeral.mdreferences/sweepers.md
Suede Skill Check: 81/100 · B
Report snapshot · · graded-v2
The rubric totals 100 points; published scores are capped at 99. Security scan: not scanned.
Source revision: f706481af9b8. Report version 65ffade2a568. Badge URLs follow the latest listing; save the report to keep this version.
Download report · Request a fresh review
What to review next
- Boundary clause: 0 of 4 points. 4 when the description says when not to use the skill (“Not for …”, “Do not use …”, “Use … instead”).
- Example request: 0 of 3 points. 3 when the description quotes an example request (3–60 characters in quotation marks).
- Description length: 3 of 5 points. 5 for 150–600 characters; 3 for 100–900; 1 for 50–1,024.
Add declarations and bundled files when they describe the skill’s actual needs. Update the source, then request a fresh review with the changed commit or PR.
provider-test-patterns passes the required frontmatter check and all seven graded checks, which cover the SKILL.md format, a declared license and a commit in the last year. Those checks earn 56 of the score’s points; the rest come from description quality, instruction depth, bundled files, maintenance and curated-list citations. How the score works.
See the checks and points
| Check | Result |
|---|---|
| Frontmatter parses and declares a name and a description | Pass |
| Name uses lowercase letters, digits and hyphens, 64 characters or fewer | Pass |
| Name matches the skill's folder name | Pass |
| Description is between 50 and 1,024 characters | Pass |
| Description says when an agent should use the skill | Pass |
| SKILL.md body is 500 lines or fewer | Pass |
| A license is declared in the frontmatter or the repository | Pass |
| Repository has a commit in the last 12 months | Pass |
| Score component | Points |
|---|---|
| Structural checks | 56 of 56 |
| Description length | 3 of 5 |
| Boundary clause | 0 of 4 |
| Example request | 0 of 3 |
| Instruction depth | 7 of 7 |
| Reference files | 3 of 3 |
| Bundled scripts | 0 of 2 |
| Recent maintenance | 9 of 9 |
| Curated-list citations | 3 of 7 |
| Tool permissions declared | 0 of 2 |
| Compatibility declared | 0 of 2 |
Two badges for provider-test-patterns
Choose the numeric badge, the letter badge, or both. Each links to this skill’s Suede listing; either valid linked badge can qualify for the feature offer.
[](https://skills.suedeai.ai/directory/hashicorp/agent-skills/provider-test-patterns/)
[](https://skills.suedeai.ai/directory/hashicorp/agent-skills/provider-test-patterns/)<a href="https://skills.suedeai.ai/directory/hashicorp/agent-skills/provider-test-patterns/"><img src="https://skills.suedeai.ai/directory/hashicorp/agent-skills/provider-test-patterns/score.svg" alt="Suede Skill Check: 81/100" width="160" height="175"></a>
<a href="https://skills.suedeai.ai/directory/hashicorp/agent-skills/provider-test-patterns/"><img src="https://skills.suedeai.ai/directory/hashicorp/agent-skills/provider-test-patterns/badge.svg" alt="Suede Skill Check: Grade B" width="160" height="175"></a>Suede Certified on the shield refers to this published structural quality check. Security scan: not scanned. Read the methodology.
Limited-time feature offer: display either the numeric or letter badge in your repository or skill README (both also qualify), then request badge verification. Eligible skills scoring 80–99 can receive a featured placement after Suede verifies at least one valid badge linked to the skill’s listing. Suede has not announced an end date.
Where this skill is cited
hashicorp/agent-skills appears in 2 curated lists: BehiSecc/awesome-claude-skills, heilcheng/awesome-agent-skills.