CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/zap-baseline

Configures and runs OWASP ZAP baseline scanning: `zap-baseline.py` Docker-packaged spider + passive scan suitable for CI gating; supports `-t target_url` + `-r html_report` + `-c config_file` rule customization (INFO/IGNORE/FAIL warnings) and Ajax spider via `-j` for JS-heavy SPAs. Passive-only; for active injection probes use `zap-full-scan.py` via zap-authenticated-scans. Accepts `-n context_file` for pre-configured auth contexts (see zap-authenticated-scans for setting up auth from scratch). Use when the user runs OWASP ZAP for pre-prod web app DAST.

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

Low

Low-risk findings worth noting

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.

A highly actionable, well-sequenced operational skill with concrete commands, a mandatory triage feedback loop, and clean sectioning. The main drag is token efficiency from repeated passive/active warnings and recurring 'Per [zap-base]' citations that could be tightened.

Suggestions

State the passive-only-vs-active distinction once (e.g. in Overview or Step 5) and reference it from Anti-patterns/Limitations instead of repeating it four times.

Cite the zap-base reference once near the top rather than repeating 'Per [zap-base][zap-base]' before nearly every section.

Condense or paraphrase the verbatim documentation quote in the Overview to the operationally relevant fact (default 1-minute spider then passive scan) to save tokens.

DimensionReasoningScore

Conciseness

Mostly efficient (command- and table-heavy), but repeats the passive-vs-active warning in Overview, Step 5, Anti-patterns, and Limitations, and cites 'Per [zap-base][zap-base]' ~6 times; the verbatim doc quote could be trimmed.

2 / 3

Actionability

Provides copy-paste-ready executable docker commands, a real GitHub Actions YAML, and a concrete zap-config.tsv with a mandatory justification template — fully actionable, not pseudocode.

3 / 3

Workflow Clarity

Steps 1-8 are clearly sequenced (install → scan → flags → auth → active → triage → output → CI), with a MANDATORY triage feedback loop (justification template + Re-review-date + quarterly audit) and checklists (anti-patterns table).

3 / 3

Progressive Disclosure

No bundle files exist; the body is well-organized into clearly headed sections with a one-level References list (external docs + sister skills) and no nested reference chains, so navigation is easy.

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.

A strong, third-person description that states concrete capabilities, includes an explicit 'Use when' trigger, and clearly delineates its scope from companion active-scan skills. The main weakness is mild flag-jargon density, but it does not obscure the natural trigger terms.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'Configures and runs OWASP ZAP baseline scanning', spider + passive scan, rule customization, Ajax spider via `-j`, auth contexts via `-n` — with specific flag-level detail rather than vague language.

3 / 3

Completeness

Explicitly answers both what ('Configures and runs OWASP ZAP baseline scanning...') and when ('Use when the user runs OWASP ZAP for pre-prod web app DAST.'), matching the score-3 anchor with an explicit 'Use when' trigger clause.

3 / 3

Trigger Term Quality

Covers natural terms a user would say for this need — 'OWASP ZAP', 'baseline scanning', 'DAST', 'pre-prod', 'CI gating', 'JS-heavy SPAs' — not just internal flag jargon.

3 / 3

Distinctiveness Conflict Risk

Clear niche (passive-only baseline DAST) with explicit boundary carving — 'Passive-only; for active injection probes use zap-full-scan.py via zap-authenticated-scans' — making overlap with sister skills unlikely.

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