CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/sbom-formats

Reference for the two SBOM specification families and how to choose between them - CycloneDX v1.6 (OWASP-curated, security-focused: components, services, dependencies, first-class vulnerabilities[] with embedded VEX, formulation, ML/SaaS BOMs; XML / JSON / Protobuf) as the primary format, with SPDX 2.3 + 3.0 (Linux Foundation, license-focused: packages, relationships, license expressions, Tag-Value/JSON encodings, ISO/IEC 5962:2021) covered as a reference. Includes per-language generators, schema validation, sign + attest CI wiring, and the format-choice guidance (CycloneDX for security-focused consumers; SPDX for US Federal procurement, Linux Foundation, and license-compliance contexts). Use when the user asks to write or validate an SBOM in CycloneDX or SPDX form, or the team must pick its SBOM format.

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.

Well-structured, executable reference with strong progressive disclosure and a clear numbered workflow. Main improvement is making the validate-fix-retry feedback loop more explicit and trimming minor overview redundancy.

Suggestions

Add an explicit validate->fix->re-validate feedback loop in Step 4 (e.g. 'if validation fails, review the error, fix the BOM, and re-run until it passes') to strengthen the recovery path.

Trim the Overview feature list that duplicates the description (vulnerabilities[], services, formulation, ML/SaaS) and link to references/component-types-and-tooling.md instead.

In the Anti-patterns table, the 'metadata.tools[] v1.4 vs 1.6' guidance contradicts the Step 1 example which still uses the v1.4-style 'tools' array; reconcile them so the worked example is schema-correct for 1.6.

DimensionReasoningScore

Conciseness

Largely lean and dense, using tables and code that earn their place without explaining SBOM basics, but the Overview re-states some feature detail already present in the description and could be trimmed slightly.

4 / 5

Actionability

Provides copy-paste ready artifacts: a complete minimal 1.6 BOM JSON template, concrete 'cyclonedx validate' / 'cosign attest' commands, a CI YAML job, and a worked end-to-end example covering the common case.

5 / 5

Workflow Clarity

Steps 1-6 are clearly sequenced with 'How to use' mapping them to generate/VEX/validate/attest, and Step 4 plus the worked example give explicit validation checkpoints; the error-recovery feedback loop is only lightly sketched.

4 / 5

Progressive Disclosure

A clear overview keeps CycloneDX core content inline while signaling three real, one-level-deep reference files (spdx.md, component-types-and-tooling.md, spdx3-profiles-and-tooling.md), all verified present, making navigation easy.

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 highly specific, well-triggered description that clearly states both what the skill covers and when to use it. Minor room to broaden trigger phrasing beyond jargon for non-expert users.

DimensionReasoningScore

Specificity

Lists multiple concrete actions ('write or validate an SBOM', 'schema validation', 'sign + attest CI wiring', 'format-choice guidance') plus detailed per-format features (vulnerabilities[], embedded VEX, formulation, ML/SaaS BOMs), giving comprehensive coverage.

5 / 5

Completeness

Explicitly answers both 'what' (reference for the two families, generators, validation, CI wiring, format-choice guidance) and 'when' ('Use when the user asks to write or validate an SBOM... or the team must pick its SBOM format') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Strong natural domain triggers ('write or validate an SBOM in CycloneDX or SPDX form', 'pick its SBOM format') but leans on jargon and omits plain-language synonyms a non-expert might say, leaving a few natural terms missing.

4 / 5

Distinctiveness Conflict Risk

Clear niche (SBOM format choice between CycloneDX and SPDX) with distinct, format-specific triggers and minimal overlap risk with adjacent skills like syft-generation.

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

Table of Contents