CtrlK
BlogDocsLog inGet started
Tessl Logo

refactor-module

Transform monolithic Terraform configurations into reusable, maintainable modules following HashiCorp's module design principles and community best practices.

52

Quality

58%

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

Fix and improve this skill with Tessl

tessl review fix ./plugins/terraform/skills/refactor-module/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%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.

The body is a well-sequenced, highly actionable refactoring guide with strong executable Terraform code and real state-migration safety checkpoints. Its weaknesses are length (~550 lines with a padded README template and testing primer) and zero progressive disclosure — everything is inlined in one file rather than split into references.

Suggestions

Move the testing guide, module documentation template, and refactoring patterns into references/ files, leaving SKILL.md as a concise overview with well-signaled one-level-deep links.

Trim the before/after example to skeletal resource shapes and cut the README template — Claude already knows how to write module READMEs; keep only the skill-specific conventions (e.g. input/output table format).

Replace the bare "Use skill terraform-test" line with an explicit path or link, and add a feedback loop for state migration (what to do when the post-migration plan shows changes) to reach anchor 5 on workflow clarity.

DimensionReasoningScore

Conciseness

Mostly on-task with extensive executable HCL, but padded sections exist: a complete README template ("# VPC Module ... ## Examples"), a primer on basic Terraform test constructs ("**Test Block**: Optional configuration block that defines test-wide settings"), and ~175 lines of before/after code that could be skeletal. Fits anchor 3 (mostly efficient, some unnecessary explanation) more than anchor 2, since the verbosity is concentrated in a few sections rather than pervasive.

3 / 5

Actionability

Largely executable and copy-paste ready: concrete "moved { from = ... to = ... }" blocks, exact "terraform state mv" commands, full variables.tf/outputs.tf, and "terraform show -json | jq '.values.root_module'". Falls short of anchor 5 due to minor gaps — the dangling "Use skill terraform-test" reference with no path, and bullet-only guidance in the Analysis Phase ("Group resources by logical function").

4 / 5

Workflow Clarity

Six clearly numbered phases (Analysis → Design → Transformation → State Migration → Documentation → Testing) with real validation for the destructive state-migration step: "terraform plan -out=migration.tfplan", "Apply only if plan shows no changes", and "Always test migration in non-production first", plus a Success Criteria checklist. Matches anchor 4 rather than 5 because there is no explicit fix-and-retry feedback loop when the post-migration plan shows differences.

4 / 5

Progressive Disclosure

A single ~550-line SKILL.md with no bundle files; sections are well organized, but content that clearly belongs in separate reference files is inlined — the testing guide, the module documentation template, and the refactoring patterns catalog. Anchor 3 (some structure, content that should be separate is inline) fits better than anchor 2 given the genuinely clear section headers, and better than anchor 4 since nothing is split out.

3 / 5

Total

14

/

20

Passed

Description

53%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.

The description clearly states what the skill does in a well-defined domain, but it is a single-action statement with no 'when to use' trigger guidance and without the natural vocabulary (refactor, modularize) users would employ. It is distinguishable from other skills but under-specified for triggering.

Suggestions

Add a 'Use when...' clause, e.g. "Use when refactoring, modularizing, or breaking monolithic Terraform configurations into modules, or when migrating state after extracting a module."

Include the natural trigger verbs users say ("refactor", "modularize", "extract module") and file/registry context terms so the skill surfaces for those phrasings.

Enumerate the concrete capabilities the body actually covers (interface design, state migration via moved blocks, testing, documentation) to strengthen specificity.

DimensionReasoningScore

Specificity

Names the domain and one concrete action ("Transform monolithic Terraform configurations into reusable, maintainable modules") but offers no further actions; "following HashiCorp's module design principles" describes a standard, not a capability. This matches anchor 3 (1-2 concrete actions) rather than anchor 4, which expects several specific actions.

3 / 5

Completeness

Has a clear 'what' (transform monolithic configurations into reusable modules) but no 'Use when...' clause or equivalent trigger guidance, capping this dimension at 3 per the judging guidelines. Not 4 because the 'when' is entirely absent rather than merely weak.

3 / 5

Trigger Term Quality

Includes relevant keywords ("Terraform", "monolithic", "modules") but misses the natural phrases a user would actually say — "refactor", "modularize", "break into modules". Anchor 3 (some relevant keywords, missing common variations) fits better than anchor 4 since the most likely user verb ("refactor") is absent.

3 / 5

Distinctiveness Conflict Risk

"Monolithic Terraform configurations" and "modules" carve out a distinct niche with low conflict risk. Minor overlap exists with sibling skills like module creation or the Terraform style guide, matching anchor 4 rather than anchor 5's fully distinct triggers.

4 / 5

Total

13

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (561 lines); consider splitting into references/ and linking

Warning

relative_links

Relative link issues: 1 missing

Warning

Total

14

/

16

Passed

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.