CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

security-scan

Use for a standard, single-pass security audit of an entire repository or a scoped path, package, folder, or submodule with no diff to review. This is the default repository scan. Do not use for PR, commit, branch, or working-tree diffs, or for deep, multi-pass scans.

64

Quality

80%

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

Fix and improve this skill with Tessl

tessl review fix ./plugins/codex-security/skills/security-scan/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

The body is an operative protocol with genuinely executable commands, explicit preflight/file-verification checkpoints, and bounded retry loops — stronger on actionability and validation than most instruction-only skills. Its weaknesses are structural: enormous run-on sentences with repeated constraints hurt readability and token efficiency, and the bundle's reference layout is only partially navigable from SKILL.md.

Suggestions

Break the ~250-word single sentences in Workflow steps 1 and 3 into short numbered sub-steps or a decision table keyed by host type (SDK / host-backed / prompt-only), which would simultaneously deduplicate the repeated context-preservation and handoff-token constraints scattered across Host And Setup and the Workflow.

Consolidate the repeated prohibitions ("Never start another scan", "Preserve the exact user context", handoff-token handling each appear in two or more sections) into one constraints section so each rule is stated once.

Make every bundle file discoverable from the skill root — reference `references/scan-artifacts-and-ledger.md` from SKILL.md (or move its content pointer into a file SKILL.md already cites), and prefer in-skill `references/` paths over `../../` shared-reference targets so navigation stays one level deep.

DimensionReasoningScore

Conciseness

There is no padding with concepts Claude already knows, but the prose is extremely dense: Workflow step 3 is a single ~250-word sentence covering eight sub-cases, and constraints repeat across sections ("Preserve the exact user context" appears in Host And Setup and again in steps 1-2; "never start another scan" in both setup and step 4). It fits "mostly efficient but could be tightened" rather than anchor 2, since nearly every clause carries operative protocol detail; it is below anchor 4 because the tightening opportunity is substantial, not minor.

3 / 5

Actionability

Concrete, largely executable guidance: exact commands ("generate_rank_input.py make-repo-scope-input --repo <repo_root> --scopes-file <target_paths_file> --out <scan_dir>/scoped-source-input.jsonl", "finalize_scan_contract.py --scan-dir <scan_dir> --source-root <repo_root>"), tool call shapes ("record_codex_security_scan_draft({ scanId, complete: true, handoffClaimToken? ... })"), and a complete copy-adaptable PowerShell block with quoting rules. It is not anchor 5 because the core audit itself is delegated to "../../references/core-scan.md" and many commands remain parameterized templates needing placeholder resolution.

4 / 5

Workflow Clarity

The numbered sequence has explicit validation checkpoints and feedback loops: "run its `security_scan` capability preflight... only after preflight returns `ready`", "Verify all three canonical JSON files exist", "retry the same scan at most twice", and "return only after completion succeeds and the generated `report.md` exists". It falls short of anchor 5 because the tangled run-on steps make the sequence hard to follow and per-host branching (SDK vs host-backed vs prompt-only) is buried inside single sentences rather than presented as a checklist.

4 / 5

Progressive Disclosure

One reference is well signaled and resolvable ("If the host confirms this is a desktop scan, load `references/desktop-scan.md`"), but two other referenced files ("`../../references/scan-prologue.md`", "`../../references/core-scan.md`") resolve outside the skill bundle and cannot be verified from it, while the bundle's own `references/scan-artifacts-and-ledger.md` is never referenced from SKILL.md and itself points further to "`../../../references/scan-artifacts.md`". That mixed, partially unresolvable structure fits "some structure but could be better organized" better than anchor 4's "minor organization gaps".

3 / 5

Total

14

/

20

Passed

Description

87%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 routing description: it states a precise, concrete capability with explicit positive triggers ("Use for...", "default repository scan"), and adds explicit negative triggers that separate it from sibling diff-based and deep-scan skills. The only gaps are a couple of missing natural synonyms (e.g., "vulnerability scan") and no mention of what output the audit produces.

DimensionReasoningScore

Specificity

Names a concrete action ("standard, single-pass security audit") with specific scope targets ("an entire repository or a scoped path, package, folder, or submodule"), so it is well above the vague-domain anchor. It stops short of anchor 5 because it lists only one capability and never states what the scan produces (e.g., findings or a report), leaving minor coverage gaps.

4 / 5

Completeness

Explicitly answers what ("standard, single-pass security audit of an entire repository or a scoped path, package, folder, or submodule") and when ("Use for... with no diff to review", "This is the default repository scan") with concrete trigger phrases. The negative triggers ("Do not use for PR, commit, branch, or working-tree diffs, or for deep, multi-pass scans") make the 'when' even more explicit than the anchor-5 example.

5 / 5

Trigger Term Quality

Natural user phrases are present: "security audit", "repository", "scan", "diff", "PR, commit, branch, or working-tree diffs". A few common synonyms users might say — "vulnerability scan", "security review", "code scanning" — are missing, which matches anchor 4 rather than 5.

4 / 5

Distinctiveness Conflict Risk

"This is the default repository scan. Do not use for PR, commit, branch, or working-tree diffs, or for deep, multi-pass scans" carves out a clear niche and actively disambiguates against sibling diff-scan and deep-scan skills, giving minimal conflict risk. It is far more distinguishable than the anchor-4 example ("Works with PDF and Word document files").

5 / 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

openai/plugins

Path

plugins/codex-security/skills/security-scan/SKILL.md

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.