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.
94
71%
Does it follow best practices?
Impact
96%
1.33xAverage score across 16 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./terraform/provider-development/skills/provider-resources/SKILL.mdQuality
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong skill description that clearly identifies a specific technical domain (Terraform Provider development with the Plugin Framework), lists concrete actions, and includes an explicit 'Use when' clause with relevant trigger terms. The description is concise, uses third-person voice, and would be easily distinguishable from other skills in a large skill library.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: implementing resources and data sources, CRUD operations, schema design, state management, and acceptance testing. These are all concrete, well-defined activities in the Terraform provider development domain. | 3 / 3 |
Completeness | Clearly answers both 'what' (implement Terraform Provider resources and data sources using the Plugin Framework) and 'when' (Use when developing CRUD operations, schema design, state management, and acceptance testing for provider resources). The 'Use when' clause is explicit. | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords a developer would use: 'Terraform Provider', 'Plugin Framework', 'CRUD operations', 'schema design', 'state management', 'acceptance testing', 'resources', 'data sources'. These are terms developers naturally use when working on Terraform providers. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive — 'Terraform Provider' and 'Plugin Framework' create a very specific niche. This is unlikely to conflict with general infrastructure-as-code skills, generic testing skills, or other development skills due to the precise domain targeting. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
42%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides highly actionable, executable Go code examples covering the full lifecycle of Terraform provider resource development, which is its primary strength. However, it is severely over-long and monolithic — cramming reference material, testing patterns, documentation templates, and multiple framework patterns into a single file that would consume significant context window. It would benefit greatly from being restructured as a concise overview with references to separate detail files.
Suggestions
Split testing patterns, error handling catalog, and documentation templates into separate reference files (e.g., TESTING.md, ERROR_HANDLING.md, DOCS_TEMPLATE.md) and link from the main skill
Remove the SDKv2 resource pattern since the skill description specifies Plugin Framework — or move it to a separate 'legacy patterns' reference file
Remove the attribute types table and basic validator/plan modifier listings that Claude already knows, keeping only project-specific conventions
Add an explicit numbered workflow for implementing a new resource (e.g., 1. Create model struct, 2. Implement Schema, 3. Implement CRUD, 4. Compile check, 5. Write tests, 6. Run tests, 7. Write docs) with validation gates
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is extremely verbose at 500+ lines, including both SDKv2 and Plugin Framework patterns (the description says Plugin Framework), extensive boilerplate code that Claude already knows how to write, and explanations of basic concepts like attribute types tables. Much of this could be condensed or split into reference files. | 1 / 3 |
Actionability | The code examples are fully executable, complete, and copy-paste ready. Every CRUD operation, test pattern, finder function, and state waiter has concrete, working Go code with proper error handling patterns. | 3 / 3 |
Workflow Clarity | The pre-submission checklist provides a validation sequence, and the file structure is clear, but there's no explicit step-by-step development workflow with validation checkpoints. The content reads more as a reference catalog than a guided process for implementing a resource from start to finish. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of text with all content inline — CRUD operations, schema design, state management, testing, error handling, and documentation standards are all in one massive file. The external references at the bottom are just links to HashiCorp docs rather than split-out detail files. Content like the full testing patterns, error handling catalog, and documentation template should be in separate files. | 1 / 3 |
Total | 7 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (600 lines); consider splitting into references/ and linking | Warning |
Total | 10 / 11 Passed | |
b129bb5
Table of Contents
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.