CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/coverage-guided-fuzzing

Use when a project needs fuzz testing, a fuzz campaign must be written or maintained, or fuzzer crashes need triage. Picks libFuzzer, AFL++, cargo-fuzz, Go fuzzing, Atheris or Jazzer by language, then covers fuzz targets, seed corpora, dictionaries, sanitizers, crash triage and CI smoke fuzzing.

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

78%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-architected umbrella skill: the engine-generic workflow is genuinely engine-generic, per-engine depth is correctly pushed to real, verified reference files, and navigation is unambiguous. The main costs are a redundant ASCII routing diagram that repeats the routing table, a short concept-explainer opener, and no inline harness example or explicit verify-before-campaign checkpoint.

Suggestions

Drop the ASCII routing diagram in 'Choosing your fuzzer' - the characteristic-to-engine table and the routing-rationale bullets immediately below it already carry the same information in less space (conciseness).

Include one minimal complete harness example (e.g. a 10-line libFuzzer LLVMFuzzerTestOneInput) inline in Step 1 so the core authoring task is executable before jumping to the reference files (actionability).

Add an explicit pre-campaign validation checkpoint in Step 4, such as verifying the instrumented binary reports coverage on the seed corpus before starting the long run, plus what to check when a sanitizer build fails (workflow_clarity).

DimensionReasoningScore

Conciseness

The body is dense and assumes competence, but the opening paragraph explains the coverage-guided mutation loop (a concept Claude already knows) and the ASCII routing diagram substantially duplicates the routing table immediately below it. This matches the 4 anchor (efficient with minor over-explanation to trim); it is above 3 because no section is padded, and below 5 because the diagram/table redundancy and concept-explainer could be cut.

4 / 5

Actionability

Real, executable specifics throughout: `-fsanitize=fuzzer,address,undefined -fno-sanitize-recover=all`, `-merge=1` / `afl-cmin`, `./fuzz_target -max_total_time=300 fuzz/corpus fuzz/seeds`, a copy-paste CI YAML block, and named structured-input helpers per engine. Matches the 4 anchor (mostly executable with minor gaps); the gap is that the core authoring task defers entirely - "Exact harness syntax per engine is in the reference files" - leaving no complete inline harness example, which keeps it from 5.

4 / 5

Workflow Clarity

Five explicitly sequenced steps with concrete per-step guidance and some checkpoints ("Run locally until coverage plateaus", "minimise every crash input before filing it", 3-5 min CI smoke bound). Matches the 4 anchor (clear sequence, most checkpoints present); it falls short of 5 because there are no explicit verify/recover feedback loops, e.g. confirming the harness builds and collects coverage before launching a campaign, and above 3 because the sequence and stopping criteria are explicit rather than implicit.

4 / 5

Progressive Disclosure

The umbrella file stays at routing/workflow altitude while all nine referenced files exist, are one level deep (siblings link to each other and back to SKILL.md, never deeper), and are signaled three ways: the engine table, inline at the relevant workflow step, and a closing References list with per-file purpose notes. Matches the 5 anchor (clear overview, well-signaled one-level-deep references, appropriate split).

5 / 5

Total

17

/

20

Passed

Description

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

An exemplary description: explicit third-person trigger guidance with three concrete use cases, named engine routing by language, and a complete inventory of what the skill covers. All four dimensions sit at the top anchor with no vague or padded language.

DimensionReasoningScore

Specificity

"Picks libFuzzer, AFL++, cargo-fuzz, Go fuzzing, Atheris or Jazzer by language" and "covers fuzz targets, seed corpora, dictionaries, sanitizers, crash triage and CI smoke fuzzing" list multiple concrete actions covering the whole workflow in third-person voice. This matches the 5 anchor (comprehensive concrete actions); it is above 4 because coverage spans every workflow stage with no real gaps.

5 / 5

Completeness

Explicitly answers both questions: "Use when a project needs fuzz testing, a fuzz campaign must be written or maintained, or fuzzer crashes need triage" (when, with three concrete triggers) and the engine-selection plus coverage list (what). Matches the 5 anchor exactly; not 4 because the 'when' clause is explicit rather than merely adequate.

5 / 5

Trigger Term Quality

Natural phrases a user would say are all present: "fuzz testing", "fuzz campaign", "fuzzer crashes need triage", plus the engine names (libFuzzer, AFL++, cargo-fuzz, Atheris, Jazzer) users invoke directly. Matches the 5 anchor for comprehensive natural-term coverage; a 4 would require missing synonyms, and none of the common phrasings are absent.

5 / 5

Distinctiveness Conflict Risk

The fuzz-testing niche is clearly staked out by named engines and fuzzing-specific triggers (campaigns, corpora, crash triage), giving minimal overlap risk with generic testing or debugging skills. Matches the 5 anchor (clear niche with distinct triggers).

5 / 5

Total

20

/

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

On this page