CtrlK
BlogDocsLog inGet started
Tessl Logo

provider-test-patterns

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.

75

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

86%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured patterns reference: executable code throughout, clear lifecycle sequencing with validation, and clean progressive disclosure into three real reference files. Its only weaknesses are mild example repetition across sections and feedback loops that are implied rather than spelled out as checklists.

Suggestions

Reduce repetition of the basic widget example and stateCheckExampleExists across the overview, Check Functions, and Scenario sections by defining them once and referencing back.

Add an explicit validate→fix→retry loop for failing acceptance tests (e.g. read the diff, fix config/checks, rerun the single step with -run) to turn the implicit lifecycle into a concrete recovery checklist.

DimensionReasoningScore

Conciseness

Largely lean prose plus dense code/tables that assumes Claude's competence (e.g. 'Use resource.ParallelTest by default. Use resource.Test only when tests share state'), with minor redundancy — the basic example and stateCheckExampleExists recur across several sections — that could be trimmed.

4 / 5

Actionability

Fully executable, copy-paste-ready Go covering the common cases — complete TestCase/TestStep blocks, custom statecheck.StateCheck implementations, config helpers, and every scenario pattern (basic, update, import, disappears, validation, regression).

5 / 5

Workflow Clarity

The core Test Lifecycle (plan → apply → refresh → final plan → destroy → CheckDestroy) is clearly sequenced with an explicit validation checkpoint ('If the final plan shows a diff, the test fails'), but explicit validate→fix→retry feedback loops are only implicit rather than framed as checklists.

4 / 5

Progressive Disclosure

A clear 'References (load when needed)' block signals three one-level-deep files (checks.md, sweepers.md, ephemeral.md — all present), keeping detailed knownvalue/tfjsonpath/comparer and sweeper/ephemeral material off the main page while the core patterns stay inline.

5 / 5

Total

18

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, third-person description that names a specific niche and enumerates concrete capabilities with explicit, natural trigger phrases covering both what the skill does and when to use it. No padding, no over-claims, and no first/second-person voice.

DimensionReasoningScore

Specificity

Lists many concrete capabilities — 'test structure, TestCase/TestStep fields, ConfigStateChecks ... plan checks, CompareValue ... config helpers, import testing ... sweepers, and scenario patterns ... ephemeral resource testing' — giving comprehensive coverage rather than vague actions.

5 / 5

Completeness

Explicitly answers both 'what' (the enumerated patterns and packages) and 'when' via a concrete 'Use when writing, reviewing, or debugging provider acceptance tests, including questions about ...' clause with concrete triggers.

5 / 5

Trigger Term Quality

Natural trigger phrases a provider author would actually say are comprehensive — 'writing, reviewing, or debugging provider acceptance tests', 'statecheck, plancheck, TestCheckFunc, CheckDestroy, ExpectError, import state verification, ephemeral resources', 'how to structure test files'.

5 / 5

Distinctiveness Conflict Risk

Occupies a clear niche — Terraform provider acceptance tests with terraform-plugin-testing and the Plugin Framework — with distinct triggers (statecheck, plancheck, ephemeral, echoprovider) and minimal overlap risk with other skills.

5 / 5

Total

20

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
hashicorp/agent-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.