CtrlK
BlogDocsLog inGet started
Tessl Logo

enforce-sbom

Add an SBOM Policy Enforcement (SscaEnforcement / CdSscaEnforcement) step to an existing Harness pipeline to verify SBOM attestations and apply OPA SBOM policy sets. Supports CI, Security, and CD (Deployment) including CI-only pipelines — if no Deploy stage exists, add one via Phase 3b (service, environment, infra, containerized step group) then place CdSscaEnforcement before deploy. Supports container images and repositories from Artifact Registry, Third-Party registries (docker, ECR, GCR, GAR, ACR), and Git. Matches Pipeline Studio SBOM Policy Enforcement UI. Only works with existing pipelines (may append a Deploy stage). Use when asked to enforce SBOM policies, add SBOM policy enforcement, verify SBOM attestation in pipeline, or block non-compliant components. Trigger phrases: enforce SBOM, SBOM policy enforcement, SBOM policy step, verify SBOM policy, SscaEnforcement, add policy enforcement after SBOM.

70

Quality

86%

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

81%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 highly actionable, well-sequenced skill body: exact YAML, MCP call signatures, phased wizard flow, and explicit validation/confirm checkpoints with error-recovery guidance. Its weaknesses are repetition of the CD-on-CI-only and no-execute rules across many sections and a long inline Troubleshooting section that inflate the token budget without adding new guidance.

Suggestions

State the CD-on-CI-only / Phase 3b rule once (e.g., in the CD edge case section) and reference it from the Interaction model and Performance Notes instead of restating it five times.

Move the ten-subsection Troubleshooting section into a reference file (e.g., references/troubleshooting.md) and keep only the top three failure modes inline, shortening the always-loaded body.

Inline or vendor the provider-specific source.spec patterns currently delegated to skills/create-sbom/references/sbom-orchestration-step.md, or at minimum note that the skill depends on /create-sbom being installed, since those paths do not exist in this bundle.

DimensionReasoningScore

Conciseness

The body is dense and free of concept over-explanation, but the same rules are restated repeatedly: the CD-on-CI-only rule appears in Interaction model items 11–12, the Phase 2/Phase 3b subsections, Performance Notes, and Troubleshooting ("User Chose CD on CI-Only Pipeline"), and "do not execute the pipeline" is repeated three times. The ~45-line, ten-subsection Troubleshooting section could be tightened or moved to a reference file. Mostly efficient, but noticeably could be tightened.

3 / 5

Actionability

Fully concrete guidance throughout: a complete copy-paste-ready SscaEnforcement YAML block, exact MCP call shapes with parameters (harness_update with resource_type/org_id/project_id/body, harness_list(resource_type="policy_set", org_id, project_id)), per-phase option ids in the wizard table, exact step identifiers (enforce_sbom, enforce_sbom_cd), and named validation-error remediations (DUPLICATE_IDENTIFIER, verifyAttestation shape). Examples cover the common CI, CD, and defaults cases.

5 / 5

Workflow Clarity

The wizard phases (0–10 plus 3b) are explicitly sequenced in a table with breadcrumbs, prerequisites are checked before configuration (SBOM existence, harness_list of policy sets), the user confirms before harness_update, and there is a feedback loop for validation errors ("read the API message, fix fields... retry") plus a Troubleshooting section with named error codes. Not a 4: checkpoints and error-recovery loops are explicit and comprehensive.

5 / 5

Progressive Disclosure

The two bundle references (references/interactive-wizard-flow.md, references/sbom-enforcement-step.md) are real files, clearly signaled, and one level deep, and cross-skill pointers (skills/create-sbom/references/...) are explicitly named. Not a 5: the large inline wizard phase table and the ten-subsection Troubleshooting section are content that arguably belongs in the existing reference files, and several referenced paths (cd-containerized-step-group.md, sbom-orchestration-step.md, entity-sbom.md) live outside this bundle, so navigation depends on sibling skills being installed.

4 / 5

Total

17

/

20

Passed

Description

91%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: third-person, explicit what-and-when, comprehensive natural trigger terms, and a clearly staked niche. Its only weakness is verbosity — it inlines Phase 3b workflow internals and repeats the existing-pipeline constraint, which pads without adding trigger-relevant capability.

Suggestions

Trim the Phase 3b implementation parenthetical ("service, environment, infra, containerized step group...") from the description — it is process detail, not a capability or trigger, and description token budget is better spent on user-facing phrasing.

Remove the redundant restatement "Only works with existing pipelines (may append a Deploy stage)" — the opening sentence already scopes the skill to existing pipelines.

To further reduce overlap with /create-sbom, lead the when-clause with enforcement-specific verbs ("enforce SBOM policies", "block non-compliant components") before the shared "SBOM" keyword phrases.

DimensionReasoningScore

Specificity

Lists several concrete actions ("Add an SBOM Policy Enforcement... step to an existing Harness pipeline to verify SBOM attestations and apply OPA SBOM policy sets", "may append a Deploy stage") with named step types, stage types, and registries (docker, ECR, GCR, GAR, ACR). Not a 5 because the Phase 3b implementation details ("service, environment, infra, containerized step group") are skill-internal process rather than capability, and "Only works with existing pipelines" repeats the opening phrase — padding the description rather than adding capability coverage.

4 / 5

Completeness

Explicitly answers both: what ("verify SBOM attestations and apply OPA SBOM policy sets" on CI/Security/CD stages of an existing Harness pipeline) and when ("Use when asked to enforce SBOM policies, add SBOM policy enforcement, verify SBOM attestation in pipeline, or block non-compliant components") with concrete trigger phrases, matching the 5-level anchor.

5 / 5

Trigger Term Quality

Comprehensive natural-language triggers: "enforce SBOM policies", "add SBOM policy enforcement", "verify SBOM attestation in pipeline", "block non-compliant components", plus an explicit trigger-phrase list ("enforce SBOM, SBOM policy enforcement, SBOM policy step, verify SBOM policy, SscaEnforcement, add policy enforcement after SBOM") covering both plain-English and technical phrasings users would actually say.

5 / 5

Distinctiveness Conflict Risk

Clear niche (Harness pipeline SBOM policy enforcement, with distinct SscaEnforcement/CdSscaEnforcement triggers) but minor overlap risk with closely related /create-sbom and /create-policy skills, since "verify SBOM attestation in pipeline" and other SBOM-keyed phrases could plausibly match the SBOM-generation skill. Not a 5; not a 3 because the enforcement-vs-generation distinction is stated.

4 / 5

Total

18

/

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