CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

configure-container-scan

Add container image scanning steps to existing Harness pipelines using Harness STO scanners. Supports Harness SCA (default), Aqua Trivy, Grype, Snyk, Prisma Cloud, Anchore, Black Duck, and Wiz. Supports Docker Hub, ECR, GCR, and other Third-Party registries as well as Harness and Local registries. Can insert the scan step into an existing CI stage or create a dedicated SecurityTests stage. Use when asked to add container scanning, configure image scanning, set up SCA for Docker images, scan container images for vulnerabilities, or add container security checks to a pipeline. Trigger phrases: add container scan, scan docker image, configure image scanning, set up SCA, add vulnerability scan for container, scan container before deploy, add Trivy scan, add Grype scan, add Snyk container scan.

Quality

84%

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

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.

The body delivers highly actionable, executable guidance — concrete MCP calls, complete YAML templates, auth-field tables, and sensible defaults — but suffers from significant duplication (the same step YAML repeated three times, scanners enumerated twice, a Performance Notes section restating the steps), a duplicate "Step 4" numbering bug, and no validation checkpoint before the pipeline-overwriting MCP update. As a monolithic 485-line single file, it also misses the opportunity to split scanner variants and troubleshooting into reference files.

Suggestions

Deduplicate the YAML: keep one full HarnessSCA template in Step 5 and have Step 6's scenarios reference it (showing only the surrounding stage/execution context) instead of repeating the entire step spec three times; likewise derive the AquaTrivy/Grype/Snyk examples from a single template noting the type, name, and auth differences.

Fix the duplicate step numbering (two steps are both labeled "Step 4", making the "Use the image block generated in Step 4" cross-reference ambiguous) and add an explicit pre-update validation checkpoint, e.g. re-fetch or lint the merged pipeline YAML and show the user the diff before calling harness_update.

Move the per-scanner YAML variants and the Troubleshooting detail into a one-level-deep references/ file (e.g. references/scanners.md and references/troubleshooting.md) to slim SKILL.md into an overview with clearly signaled navigation, and trim the Performance Notes section to only the points not already covered in Steps 3–5.

DimensionReasoningScore

Conciseness

The body avoids explaining known concepts and is information-dense, but contains substantial redundancy: the full HarnessSCA step YAML is repeated three times (Step 5, Step 6 Scenario A, Step 6 Scenario C), the AquaTrivy and Grype examples are near-identical duplicates differing only in type/name, Step 3 enumerates the scanners twice (bullet list plus table), and the 13-bullet "Performance Notes" section largely restates rules already stated in Steps 3–5. This fits "mostly efficient but includes some unnecessary explanation or could be tightened". Not score 2 because no section explains concepts Claude already knows — the padding is structural repetition, not fluff; not score 4 because the duplication (~100+ of ~465 lines) is more than minor.

3 / 5

Actionability

Fully executable guidance throughout: exact MCP tool calls with named parameters (harness_get / harness_update blocks), complete copy-paste YAML step specs per scanner, a scanner-to-auth-field table, the exact secret reference format `<+secrets.getValue("project.<secret_identifier>")>`, the step identifier regex `^[a-zA-Z_][0-9a-zA-Z_]{0,127}$`, and worked user-input examples (public Docker Hub, private ECR, scan-before-deploy) covering the common cases. Not score 4 because there are no missing key details — even defaults (docker_v2/docker.io/latest, mode: orchestration) and failure thresholds are specified.

5 / 5

Workflow Clarity

The 8-step sequence is well ordered with explicit decision points and defaults, but two different steps are both numbered "Step 4" ("Collect Container Image Details" and "Collect Infrastructure Details"), making later cross-references like "Use the image block generated in Step 4" ambiguous, and there is no validation checkpoint before `harness_update` overwrites an existing pipeline's YAML — verification is deferred to the user in Step 8. This matches "steps listed but validation gaps; sequence present but checkpoints missing or implicit". Not score 4 because the duplicate numbering and absent pre-update validation are more than minor gaps; not score 2 because the sequence, branching conditions ("skip for Prisma Cloud / Wiz", "only required when adding a new SecurityTests stage"), and a Troubleshooting section with recovery paths are genuinely clear.

3 / 5

Progressive Disclosure

The skill is a single ~485-line SKILL.md with no references/, scripts/, or assets/ bundle; it has good section headers (Instructions, Examples, Performance Notes, Troubleshooting) but is monolithic — the five per-scanner YAML variants (four of which differ only in type/name/auth fields) and the detailed troubleshooting content would fit better in one-level-deep reference files. This fits "some structure but could be better organized; content that should be separate is inline". Not score 4 because nothing is split out and the file is far too large for the under-50-line simple-skill exception; not score 2 because section organization and navigation within the file are actually good, not minimal.

3 / 5

Total

14

/

20

Passed

Description

96%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 (scanner list, registry types, CI vs SecurityTests stage insertion), maintains third-person voice, and provides an explicit "Use when..." clause augmented with a comprehensive trigger-phrase list including scanner-specific variants. The only weakness is the generic "set up SCA" trigger, which introduces minor overlap risk with non-container SCA skills.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions with comprehensive coverage: "Add container image scanning steps to existing Harness pipelines using Harness STO scanners", "Can insert the scan step into an existing CI stage or create a dedicated SecurityTests stage", and enumerates 8 specific scanners (Harness SCA, Aqua Trivy, Grype, Snyk, Prisma Cloud, Anchore, Black Duck, Wiz) plus concrete registry types (Docker Hub, ECR, GCR, Harness, Local). It stays in third person throughout. Not score 4 because there are no coverage gaps — actions, scanners, registries, and insertion points are all explicit.

5 / 5

Completeness

Both questions are explicitly answered: the "what" ("Add container image scanning steps to existing Harness pipelines using Harness STO scanners... Can insert the scan step into an existing CI stage or create a dedicated SecurityTests stage") and the "when" ("Use when asked to add container scanning, configure image scanning, set up SCA for Docker images, scan container images for vulnerabilities, or add container security checks to a pipeline") plus a concrete trigger-phrase list. Not score 4 because the "when" clause is fully explicit with concrete trigger phrases rather than merely present.

5 / 5

Trigger Term Quality

Natural trigger coverage is comprehensive with synonyms and product names: "add container scan, scan docker image, configure image scanning, set up SCA, add vulnerability scan for container, scan container before deploy, add Trivy scan, add Grype scan, add Snyk container scan" — these are phrases a user would naturally say, including scanner-specific variants. Not score 4 because common variations and synonyms (container image / docker image / vulnerability scan / per-scanner phrasing) are all present.

5 / 5

Distinctiveness Conflict Risk

The niche is clear — container image scanning in Harness pipelines via STO — and most triggers ("scan docker image", "add Trivy scan") are distinct. However, the bare trigger phrase "set up SCA" is generic software-composition-analysis language that could overlap with a non-container SCA/dependency-scan skill in the same ecosystem, matching the anchor "mostly distinct; minor overlap risk with closely related skills". Not score 5 because that generic trigger prevents minimal conflict risk; not score 3 because every other trigger is container-specific and the scope ("existing Harness pipelines", STO scanners) is tightly drawn.

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

Repository

harness/harness-ai

Path

plugins/claude/skills/configure-container-scan/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.