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. It 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 in this domain. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with a clear niche: Terraform Provider development using the Plugin Framework. The combination of 'Terraform Provider', 'Plugin Framework', and specific activities like 'CRUD operations' and 'acceptance testing' makes it very unlikely to conflict with other skills. | 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.
This skill provides highly actionable, executable Go code examples for Terraform provider development, which is its primary strength. However, it is severely over-long and monolithic—cramming schema design, all CRUD operations, state management, testing patterns, error handling, and documentation templates into a single file without progressive disclosure. Much of the content explains patterns Claude already understands, and the lack of a clear end-to-end development workflow with validation checkpoints weakens its utility as a guide.
Suggestions
Split content into separate files: keep SKILL.md as a concise overview with quick-start patterns, and move detailed testing patterns to TESTING.md, error handling to ERRORS.md, and documentation templates to DOCS_TEMPLATE.md
Remove the SDKv2 resource pattern section since the skill description specifies Plugin Framework; if both are needed, put SDKv2 in a separate SDKV2_MIGRATION.md
Add an explicit numbered workflow for developing a new resource end-to-end, with validation checkpoints (e.g., 'compile after schema, run basic test after Create+Read, add remaining CRUD, validate all tests pass')
Cut explanatory text like 'Resources represent infrastructure objects that Terraform manages through CRUD operations' and the overview paragraph—Claude knows what Terraform resources are
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | This is extremely verbose at 400+ lines, with massive amounts of boilerplate code that Claude already knows how to write. The SDKv2 pattern is included alongside the Plugin Framework pattern despite the skill description focusing on Plugin Framework. The overview explains what resources are ('Resources represent infrastructure objects that Terraform manages through CRUD operations') which Claude already knows. Much of this content (error handling patterns, diagnostics API, documentation templates) is standard Terraform provider knowledge. | 1 / 3 |
Actionability | The code examples are fully executable, complete, and copy-paste ready. Every section provides concrete Go code with proper imports context, specific test commands with flags, and real patterns including finder functions, state waiters, and test helpers. | 3 / 3 |
Workflow Clarity | The content presents individual CRUD operations and testing patterns clearly, and includes a pre-submission checklist. However, there's no explicit sequenced workflow for developing a resource end-to-end (e.g., 'first implement the model, then schema, then CRUD, then validate compilation, then write tests'). The checklist at the end is helpful but lacks validation checkpoints integrated into the development flow. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of text with no bundle files to offload content to. All content—schema design, CRUD operations, state management, testing, error handling, documentation standards—is inlined in a single massive file. The external references are only to HashiCorp documentation, not to companion files that could hold the detailed code examples. Content like the full testing patterns, documentation template, and error handling catalog 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 | |
339a113
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.