CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/trivy-config

Runs Trivy's misconfiguration scanner (`trivy config`) against IaC directories to detect security issues across Terraform, CloudFormation, Kubernetes manifests, Helm charts, Dockerfiles, and Azure ARM templates - installs Trivy, scans with severity gating via `--exit-code`, suppresses findings via `.trivyignore` / `.trivyignore.yaml` or inline annotations, extends built-in checks with custom Rego policies, and emits SARIF for GitHub Code Scanning. Trivy is the tfsec successor - the forward path from tfsec per Aqua Security's own migration guidance - and the legacy tfsec workflow (install, custom YAML rules, ignore annotations, migration steps) is kept in references/tfsec-legacy.md. Use when adopting a consolidated IaC scanner for new projects, migrating away from tfsec (or still operating a Terraform-only tfsec stack), or scanning mixed IaC stacks with a single tool.

72

Quality

91%

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

86%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-engineered skill body: a clearly sequenced seven-step flow with executable commands at every step, exemplary reference splitting verified against the actual bundle, and useful anti-patterns/limitations tables. The two minor weaknesses are a redundant closing References recap that re-explains each already-cited link and the absence of per-step validation checkpoints beyond the install verify.

Suggestions

Cut or compress the closing 'References' section to bare links (or fold each link's purpose into its single first use), since it currently re-describes flags and content already cited inline at Steps 2-7.

Add a short validation step after the first scan (e.g., confirm expected findings appear and check the exit code with `echo $?`), mirroring the existing 'Verify: `trivy --version`' install check.

DimensionReasoningScore

Conciseness

The body is dense with commands, flag tables, and examples, and it does not explain known concepts (no 'what is IaC' or 'what is Rego' padding). One section is trimmable: the closing 'References' section (~25 lines) restates what each inline link already covers, e.g. '[cli][cli] - `trivy config` CLI reference: `--exit-code`, `--severity`...' duplicates per-usage citations at Steps 2-7. That matches 'efficient; minor instances of over-explanation that could be trimmed' rather than the every-token-earns-its-place anchor.

4 / 5

Actionability

Nearly every step ships copy-paste-ready commands: `trivy config --exit-code 1 --severity HIGH,CRITICAL .`, a complete `.trivyignore.yaml` block with paths/statement/expired_at, a full Rego ignore policy, the `--config-check` invocation, and full CI YAML via the reference. This matches the anchor for fully executable guidance whose examples cover the common cases; it is not the level below, which requires minor gaps.

5 / 5

Workflow Clarity

Steps 1-7 form a coherent sequence (install → first scan → gating → output → suppression → custom policies → CI) with an explicit install verification ('Verify: `trivy --version`') and a severity-ratchet pattern that acts as a triage feedback loop. Validation checkpoints are otherwise implicit — after the first scan there is no 'confirm findings render / check exit code' step — so it fits 'clear sequence with most checkpoints present; minor validation gaps' rather than the explicit-validation-steps anchor.

4 / 5

Progressive Disclosure

Heavy material (full METADATA-annotated Rego policy, full GitHub Actions workflow, tfsec legacy workflow) is split into real one-level-deep files, each clearly signaled at point of use ('see [references/trivy-config.md](references/trivy-config.md)') and all three referenced files exist in the bundle. The spine stays a lean overview, matching the clear-overview anchor with no nesting.

5 / 5

Total

18

/

20

Passed

Description

92%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: concrete, comprehensive action list in third-person voice with an explicit 'Use when...' trigger clause covering adoption, tfsec migration, and mixed-stack scanning. The only gap is a handful of natural trigger variations (spelled-out 'infrastructure as code', file extensions) that keep trigger coverage just short of comprehensive.

DimensionReasoningScore

Specificity

The description enumerates multiple concrete actions covering the full workflow: 'installs Trivy, scans with severity gating via `--exit-code`, suppresses findings via `.trivyignore` / `.trivyignore.yaml` or inline annotations, extends built-in checks with custom Rego policies, and emits SARIF for GitHub Code Scanning', plus the six supported IaC types. This matches the anchor for comprehensive, multiple specific concrete actions; it is not the level below, which requires minor gaps in coverage.

5 / 5

Completeness

Both questions are explicitly answered: the 'what' is the enumerated action list above, and the 'when' is the explicit clause 'Use when adopting a consolidated IaC scanner for new projects, migrating away from tfsec (or still operating a Terraform-only tfsec stack), or scanning mixed IaC stacks with a single tool.' This matches the anchor for clearly and explicitly answering both what AND when with concrete trigger phrases; it is not the level below, where 'when' would be present but less specific.

5 / 5

Trigger Term Quality

Good natural keyword coverage including tool names ('Trivy', 'tfsec'), IaC types ('Terraform, CloudFormation, Kubernetes manifests, Helm charts, Dockerfiles'), and migration phrasing ('migrating away from tfsec'). It misses a few natural terms users would say, such as the spelled-out 'infrastructure as code' and file extensions like '.tf', so it fits 'good keyword coverage; a few natural terms missing' rather than the comprehensive synonym-plus-extension anchor.

4 / 5

Distinctiveness Conflict Risk

It carves a clear niche (Trivy's `trivy config` misconfiguration scanner) with tool-specific triggers ('trivy', 'tfsec', specific flag names) and even distinguishes the sister 'checkov-policy' scanner. Conflict risk with generic document- or file-handling skills is minimal, matching the clear-niche anchor.

5 / 5

Total

19

/

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