CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/policy-as-code-runner

Configures policy-as-code testing using OPA / Conftest / Cedar - authors policies in Rego (OPA's language), runs Conftest against Kubernetes manifests / Terraform plans / Dockerfiles / arbitrary structured data, integrates with CI for PR-time policy gates. Per OPA's docs: "an open source, general-purpose policy engine that unifies policy enforcement across the stack." Use to express + enforce custom policies (cost limits, tagging requirements, security baselines) that Checkov / tfsec / KICS don't cover.

64

Quality

81%

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

Overview
Quality
Evals
Security
Files

Quality

Content

75%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, executable skill that clearly sequences policy authoring, testing, and CI integration with genuine validation steps and a useful anti-patterns table. The main gaps are minor: a placeholder install URL, an incomplete Gatekeeper ConstraintTemplate, and no explicit fix-and-retry loop when a conftest run fails.

Suggestions

Replace the '<version>' placeholder in Step 1's curl URL with a concrete pinned release URL (as the CI step already does) so the install command is copy-paste ready.

Inline the actual Rego body (or a working excerpt) in Step 9's ConstraintTemplate instead of the '# Same Rego from Step 2' placeholder, since Gatekeeper's rego block needs the complete rule and users cannot copy-paste the example as written.

Add a short 'If conftest fails' note after Step 3 describing the fix-retry loop: read the deny message, decide whether the config or the policy is wrong, fix, and re-run.

DimensionReasoningScore

Conciseness

The body is code-forward and assumes Claude's competence (no padding about what Kubernetes or Terraform are), but the Overview section re-states the frontmatter description and sentences like 'The chart renders to manifests; Conftest validates them' could be trimmed, matching anchor 4 ('efficient; minor instances of over-explanation') rather than the fully lean anchor 5.

4 / 5

Actionability

Mostly executable, copy-paste-ready guidance: complete Rego policies, concrete conftest/helm/terraform commands, and a full CI workflow. Not anchor 5 because Step 1's download URL contains a literal '<version>' placeholder and Step 9's ConstraintTemplate embeds only '# Same Rego from Step 2' instead of the actual rego body.

4 / 5

Workflow Clarity

A clear 9-step sequence (install -> author -> run -> per-target tests -> policy tests -> CI -> Gatekeeper) with an explicit validation checkpoint (Step 7 'opa test policies/', run before the CI gates). Not anchor 5 because there is no explicit error-recovery feedback loop (e.g., what to revise when a conftest run fails); not anchor 3 because validation checkpoints are explicitly present, and the workflow is non-destructive so the validation cap does not apply.

4 / 5

Progressive Disclosure

Good structure with per-step section headers, a clearly labeled References section of external links (one level deep, no nested references), and no bundle files to navigate. Not anchor 5 because the per-domain Rego examples (Terraform, Dockerfile) and the Gatekeeper template are inlined in SKILL.md where a leaner overview pointing to separate policy reference files would fit the anchor's 'content appropriately split'.

4 / 5

Total

16

/

20

Passed

Description

78%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 that clearly states concrete capabilities and an explicit use trigger, well differentiated from sister scanner skills. Its main weaknesses are the unelaborated 'Cedar' mention and a when-clause that misses tool-mention and admission-control triggers.

Suggestions

Drop 'Cedar' from the tool list (or state what it is used for), since no Cedar capability or body content backs the mention.

Broaden the when-clause with tool-mention triggers, e.g. 'Use when the user mentions OPA, Conftest, Rego, or wants Kubernetes admission control via Gatekeeper'.

Remove the quoted OPA documentation sentence; it is marketing filler that consumes description budget without adding a trigger or capability.

DimensionReasoningScore

Specificity

Lists several concrete actions ('authors policies in Rego', 'runs Conftest against Kubernetes manifests / Terraform plans / Dockerfiles / arbitrary structured data', 'integrates with CI for PR-time policy gates') with concrete policy examples (cost limits, tagging, security baselines). Not anchor 5: 'Cedar' is named with no associated action (an over-claim the rest of the description never elaborates), and the quoted OPA marketing sentence is padding that adds no capability.

4 / 5

Completeness

Both what ('authors policies in Rego, runs Conftest against..., integrates with CI') and when are explicitly present ('Use to express + enforce custom policies... that Checkov / tfsec / KICS don't cover'), with concrete trigger examples. Not anchor 5: the when-clause covers only the custom-policy-gap scenario and omits direct tool-mention triggers ('use when the user mentions OPA, Conftest, or Rego' or wants admission control), so the when could be more explicit.

4 / 5

Trigger Term Quality

Good keyword coverage with the exact natural terms users would say: 'policy-as-code', 'OPA', 'Conftest', 'Rego', 'Kubernetes manifests', 'Terraform plans', 'Dockerfiles', 'CI', plus the contrasting scanners 'Checkov / tfsec / KICS'. Not anchor 5: common variations a user would naturally say are missing, notably 'Gatekeeper' / 'admission control' (covered in the body but absent from the description) and 'policy engine' triggers tied to tool mentions.

4 / 5

Distinctiveness Conflict Risk

Clear niche with distinct triggers: it explicitly positions itself as the custom-policy layer that 'Checkov / tfsec / KICS don't cover', and its OPA/Conftest/Rego triggers are disjoint from generic scanner skills, giving minimal conflict risk.

5 / 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.

Reviewed

Table of Contents