CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/bundle-audit-ruby

Use when a Ruby project has a Gemfile.lock and needs CVE/GHSA scanning or a CI SCA gate. Installs and runs bundler-audit against a Ruby Gemfile.lock, updating the ruby-advisory-db corpus, scanning for vulnerable gem versions and insecure sources, suppressing false positives via .bundler-audit.yml, and gating CI on non-zero exit. Ruby-only SCA scanner: for other ecosystems use npm-pip-maven-audit (multi-ecosystem dispatcher), snyk-test, or osv-scanner; cargo-audit-rust is the Rust analog; once findings exist, reachability-analyzer downranks unreachable gems - not this.

75

Quality

94%

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

85%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is highly actionable with a well-sequenced, validated worked example and a clean one-level reference split; its only weakness is moderate prose verbosity in the Overview and Differentiation sections. Three of four dimensions score at the top anchor.

Suggestions

Trim the Overview corpus explanation and the 'Differentiation vs. npm-pip-maven-audit' narrative to the routing essentials, or move the comparison into the references file, to lift conciseness.

Condense the worked-example output block to the two findings plus the exit-code/gating signal rather than reproducing the full scanner output verbatim.

DimensionReasoningScore

Conciseness

The body is largely efficient tool-specific guidance, but the Overview's corpus explanation ('a community-maintained YAML corpus of CVE, GHSA, and OSVDB advisories for RubyGems and Ruby runtimes'), the Differentiation-vs-npm-pip-maven-audit narrative, and the full worked-example output block could be tightened; not 3 because not every token earns its place, not 1 because it avoids explaining generic concepts Claude already knows.

2 / 3

Actionability

Provides fully executable, copy-paste-ready commands — 'gem install bundler-audit', 'bundle-audit check --update --format json --output bundle-audit.json', the .bundler-audit.yml YAML block, and 'bundle update nokogiri' to 1.13.4 — with specific examples; not 2 because nothing is pseudocode or missing key details.

3 / 3

Workflow Clarity

The worked example sequences scan → triage (patch reachable, suppress unreachable) → re-run offline → 'both findings resolved, exit 0, CI passes', giving an explicit re-run validation checkpoint, and the Anti-patterns table serves as a failure-mode checklist; not 2 because validation is explicit rather than implicit.

3 / 3

Progressive Disclosure

SKILL.md keeps install + first scan + quick suppression inline and points to a real, one-level-deep references/bundle-audit-ci.md (verified to contain the waiver template, Rake integration, and CI gating); not 2 because the split is well-signaled and shallow, with no nested references.

3 / 3

Total

11

/

12

Passed

Description

100%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is a strong, third-person trigger clause that states both what the skill does and when to use it, enumerates concrete actions, and explicitly disambiguates it from neighboring SCA skills. Every dimension lands at the top anchor.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'Installs and runs bundler-audit', 'updating the ruby-advisory-db corpus', 'scanning for vulnerable gem versions and insecure sources', 'suppressing false positives via .bundler-audit.yml', 'gating CI on non-zero exit' — matching the 'multiple specific concrete actions' anchor; not below 3 as it goes well beyond naming a domain.

3 / 3

Completeness

Explicitly answers both 'what' (the concrete action list) and 'when' ('Use when a Ruby project has a Gemfile.lock and needs CVE/GHSA scanning or a CI SCA gate') with an explicit trigger clause; not 2 because the 'when' is stated, not merely implied.

3 / 3

Trigger Term Quality

'Use when a Ruby project has a Gemfile.lock and needs CVE/GHSA scanning or a CI SCA gate' supplies natural terms a Ruby developer would actually say (Ruby project, Gemfile.lock, CVE/GHSA scanning, CI SCA gate); not 2 because common variations are well covered rather than partial.

3 / 3

Distinctiveness Conflict Risk

'Ruby-only SCA scanner: for other ecosystems use npm-pip-maven-audit... cargo-audit-rust is the Rust analog; ... reachability-analyzer downranks unreachable gems - not this' carves a clear niche and explicitly disambiguates sibling skills; not 2 because conflict risk is directly addressed rather than merely reduced.

3 / 3

Total

12

/

12

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