CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

terraform-policy

Write, test, or convert Terraform Policy files (.policy.hcl, .policytest.hcl, Sentinel→tfpolicy). Triggers: policy.hcl, policytest, convert sentinel, tfpolicy, write a policy.

Quality

80%

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/terraform-policy/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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 utility/router skill with genuinely useful version-aware gating and concrete, copy-paste-ready guidance. The main cost is token efficiency: the version bullets duplicate substantial detail already maintained in the sub-skill references, and the third bundle file (verified-syntax.md) is invisible from the top level.

Suggestions

Condense the 0.3.x/0.4.x/0.5.x bullets to the key deltas per version and defer the fine-grained rules (mock attrs requirements, alltrue/anytrue preference, operations combination rules) to the already-anchored sections in tfpolicy-author.md and tfpolicy-test.md, which currently duplicate this detail.

State the actual command for the version gate (e.g., `tfpolicy version` or equivalent) so the first workflow step is executable rather than implied.

Mention verified-syntax.md in the Routing section or sub-skill links so the bundle's declared source-of-truth syntax file is discoverable from SKILL.md instead of only from two levels deep.

DimensionReasoningScore

Conciseness

The routing, DO NOT USE FOR, Examples, and Troubleshooting sections are lean, but the three version bullets are roughly 600 words of dense version-specific detail (mock attrs rules, alltrue/anytrue preferences, operations combination rules) that is duplicated in the anchored sections of the sub-skill references; version-number-laden guidance sits at the top level instead of a condensed delta or old-patterns section, matching 'mostly efficient but could be tightened' rather than the minor-trim anchor.

3 / 5

Actionability

Guidance is mostly executable: concrete version branches, copy-paste-ready snippets ("meta.version != null ? core::semverconstraint(meta.version, \">= 2.0.0\") : false", "operations = [\"create\", \"update\"]"), and runnable npx commands. The gap keeping it from fully-executable is that the opening directive "check the installed tfpolicy CLI version" never states the command to run to check it.

4 / 5

Workflow Clarity

The sequence is clear and correctly ordered — the version gate is explicit and upfront ("Before giving authoring or testing instructions, check the installed tfpolicy CLI version"), branches cover 0.3.x/0.4.x/0.5.x/unknown, and the unknown-version fallback ("ask the user to check it first") acts as a checkpoint. It is not a 5 because the version-check step lacks a concrete command and there are no verification checkpoints after routing.

4 / 5

Progressive Disclosure

The body is a well-organized router: a routing table, example utterances mapped to sub-skills, and anchored one-level-deep links to tfpolicy-author.md and tfpolicy-test.md, both of which exist in the bundle. It falls short of the 5 anchor because verified-syntax.md is only reachable two levels deep (linked from inside the sub-skills, not surfaced in the SKILL.md overview), and the inlined version-matrix detail is content that appropriately belongs in the referenced files.

4 / 5

Total

15

/

20

Passed

Description

83%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: concise, third-person, concrete about actions and file formats, with an explicit trigger clause that satisfies the 'when should this be used' requirement. The only weaknesses are minor — a few missing natural trigger synonyms and one generic phrase ("write a policy") that slightly raises conflict risk with unrelated policy-writing skills.

DimensionReasoningScore

Specificity

"Write, test, or convert Terraform Policy files (.policy.hcl, .policytest.hcl, Sentinel→tfpolicy)" lists several concrete actions with specific file formats, but debugging tests and migrating a Sentinel policy library — both advertised in the skill body — are unstated, matching the 'minor gaps in coverage' anchor rather than comprehensive coverage.

4 / 5

Completeness

It clearly answers what ("Write, test, or convert Terraform Policy files") and when via an explicit "Triggers: policy.hcl, policytest, convert sentinel, tfpolicy, write a policy" clause with concrete trigger phrases, matching the anchor for both what and when explicitly; it is not the 4 anchor because the 'when' is already fully explicit and specific.

5 / 5

Trigger Term Quality

The Triggers clause includes file extensions ("policy.hcl"), natural phrases ("convert sentinel", "write a policy"), and the tool name ("tfpolicy"), giving good keyword coverage; a few natural variations users might say ("sentinel policy", "policy as code", "policy test") are missing, so it falls short of the comprehensive-synonyms anchor.

4 / 5

Distinctiveness Conflict Risk

Extension- and tool-specific triggers ("policy.hcl", "policytest", "tfpolicy") carve out a clear niche with minimal conflict risk, but the bare phrase "write a policy" is generic and could plausibly match IAM or OPA policy requests, placing it at 'mostly distinct; minor overlap risk' rather than the clear-niche anchor.

4 / 5

Total

17

/

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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

hashicorp/agent-skills

Path

plugins/terraform/skills/terraform-policy/SKILL.md

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.