CtrlK
BlogDocsLog inGet started
Tessl Logo

windows-builder

Build Windows images with Packer using WinRM communicator and PowerShell provisioners. Use when creating Windows AMIs, Azure images, or VMware templates.

63

Quality

76%

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/packer/skills/windows-builder/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%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 lean, largely executable reference with strong code examples and useful operational warnings, undermined by the absence of validation checkpoints in an expensive batch workflow and by inline content (notably a phantom scripts/setup-winrm.ps1) that should either exist as bundle files or be restructured as references. The description-quality frontmatter is better developed than the body's workflow and file organization.

Suggestions

Add explicit validation checkpoints to the workflow: e.g., a step to verify WinRM connectivity before running provisioners, and a concrete post-build cleanup verification command (listing running instances/images) instead of the bare 'always verify cleanup' warning.

Either create the actual scripts/setup-winrm.ps1 bundle file (matching the user_data_file reference and the section heading) or retitle the inline section so it does not name a nonexistent path; consider moving provider-specific examples (AWS, Azure) into references/ files.

Make the examples fully executable: define the locals block providing local.timestamp (or use a timestamp function), and note the Azure var.* prerequisites or provide a variables snippet.

DimensionReasoningScore

Conciseness

The body is code-dominated with minimal padding and assumes Claude's competence about Packer/Windows basics, but a few tokens could be trimmed: the WinRM Communicator link appears twice (top note and bottom References), "Windows requires WinRM for Packer communication" states a known fact, and the Set-ExecutionPolicy pattern repeats in two sections. This fits anchor 4 (efficient, minor instances to trim) rather than anchor 5 (every token earns its place).

4 / 5

Actionability

Mostly executable guidance: complete-looking HCL source blocks for AWS and Azure plus copy-paste PowerShell for install, updates, restart, and cleanup. Minor gaps keep it below anchor 5: `${local.timestamp}` is used without a `locals` block, the Azure block depends on undefined `var.*` values, and `user_data_file = "scripts/setup-winrm.ps1"` references a file that is not present in any bundle. It clearly exceeds anchor 3 (pseudocode/incomplete).

4 / 5

Workflow Clarity

A coherent sequence is present (WinRM setup → provisioning → updates/reboot → cleanup) with a Common Issues section for error recovery, but validation checkpoints are missing or implicit: no step verifies WinRM connectivity before provisioning, and the warning "always verify cleanup" gives no concrete check. Per the rubric cap for expensive/batch operations without validation steps, workflow clarity is capped at 3; it is above anchor 2 because the sequence itself is well-defined.

3 / 5

Progressive Disclosure

Sections are clearly labeled and external links are one level deep, but ~190 lines are entirely inline in SKILL.md, including a WinRM script presented under a heading naming a `scripts/setup-winrm.ps1` path that does not exist in the bundle, plus provider-specific examples (AWS, Azure) that would fit separate reference files. This matches anchor 3 (some structure, but content that should be separate is inline) rather than anchor 4's mostly-appropriate placement.

3 / 5

Total

14

/

20

Passed

Description

87%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 description: it states concrete capabilities in third person and pairs them with an explicit, multi-platform 'Use when' trigger clause. The only weakness is that trigger coverage stops slightly short of full synonym breadth (no "EC2" or "golden image" variants).

DimensionReasoningScore

Specificity

Names the domain ("Build Windows images with Packer") and several concrete actions ("using WinRM communicator and PowerShell provisioners"), but coverage has minor gaps — updates, reboots, and cleanup are core parts of the skill yet unmentioned. It lists several specific actions (anchor 4) rather than comprehensive coverage (anchor 5), and clearly exceeds the 1-2 actions of anchor 3.

4 / 5

Completeness

Explicitly answers both: "what" ("Build Windows images with Packer using WinRM communicator and PowerShell provisioners") and "when" ("Use when creating Windows AMIs, Azure images, or VMware templates") with concrete trigger phrases. This matches the anchor-5 example pattern exactly; it exceeds anchor 4 because the 'when' clause is explicit and specific rather than vague.

5 / 5

Trigger Term Quality

Natural phrases users would say are present: "Windows AMIs", "Azure images", "VMware templates", "Packer", "WinRM", "PowerShell". A few natural variants are missing (e.g., "EC2", "golden image", "Windows Server"), so it fits anchor 4 (good coverage, a few terms missing) rather than anchor 5's comprehensive synonym/extension breadth.

4 / 5

Distinctiveness Conflict Risk

Clear niche (Packer Windows image builds) with distinct platform triggers (AMIs, Azure images, VMware templates) — minimal conflict risk with other skills. Uses third-person imperative voice ("Build Windows images..."), so no voice penalty applies.

5 / 5

Total

18

/

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

metadata_version

'metadata.version' is missing

Warning

referenced_paths_exist

Referenced path issues: 2 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.