CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

common-llm-security

OWASP LLM Top 10 (2025) audit checklist for AI applications, agent tools, RAG pipelines, and prompt construction. Use when performing any security review touching LLM client code, prompt templates, agent tools, or vector stores.

Quality

84%

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

SKILL.md
Quality
Evals
Security

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-built audit-checklist skill: dense and assumption-respecting prose, a concrete marking protocol and priority order, and exemplary offloading of detailed detection signals to a single well-signaled reference file. Weaker spots are redundancy (the admission-guidance link repeated three times, overlapping trust-boundary bullets), a couple of abstract policy bullets that depend on out-of-bundle documents, and an undefined external scoring rule ('caps Security score at 40/100').

Suggestions

Deduplicate the admission-guidance reference (currently linked three times) and merge the overlapping 'Before context transfer' and 'Untrusted workspaces' bullets into one trust-boundary guideline.

Ground the 'P0 finding caps Security score at 40/100' rule by stating what scoring system it refers to, or move it to the reference file with the rest of the scoring methodology.

Add an explicit completion step (e.g., summarize ✅/⚠️/🔴 counts per LLM01–LLM10 in the final report) so the audit workflow has a defined end state.

DimensionReasoningScore

Conciseness

The body assumes Claude's competence — no explanations of what OWASP, RAG, or LLMs are — and every section is audit-directed ("Mark each item", "Check LLM01 first"). It is not a 5 because of trimmable redundancy: the admission-guidance link is repeated three times, the "Untrusted workspaces" bullet largely restates "Before context transfer", and the one-word "Canonical response anchors" list ("sanitize") is noise. That places it above anchor 3's 'some unnecessary explanation' but short of lean perfection.

4 / 5

Actionability

Concrete, executable audit guidance dominates: a per-item marking protocol ("✅ not affected | ⚠️ needs review | 🔴 confirmed finding"), explicit priority ordering ("Check LLM01 first", "Check LLM06 next"), and specific detection signals ("No `max_tokens` on LLM call", "User input interpolated into prompt"). It falls short of 5 because several guideline bullets ("Evolution approval", "Offline fallback") are abstract policy dependent on an external document, and "P0 finding caps Security score at 40/100" assumes an external scoring system the body never defines.

4 / 5

Workflow Clarity

A clear sequence is present — priority items first (LLM01, then LLM06), then the full LLM01–LLM10 table sweep — and the "Mark each item" protocol plus "do not skip any item" act as per-item checkpoints, which is above anchor 3's missing-checkpoint case. It is not a 5 because there is no explicit completion/reporting step and the remaining eight table items have no stated order beyond ID sequence. This is a review skill, not a destructive or batch operation, so the workflow-clarity validation cap does not apply.

4 / 5

Progressive Disclosure

The ~50-line body is a genuine overview (checklist table, guidelines, anti-patterns) and the deep material — full detection signals — is correctly split into a single one-level-deep, clearly signaled reference: "[OWASP LLM — Full Detection Signals](references/owasp-llm.md) — load when auditing any LLM client code", which exists in the bundle (8.4KB of per-risk signal tables). The cross-skill admission-guidance reference is also one level deep and clearly labeled. This matches anchor 5's clear overview with well-signaled one-level-deep references.

5 / 5

Total

17

/

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 description: it explicitly states what the skill does and when to use it, with a well-scoped LLM-security niche and mostly natural trigger terms. The main gap is that the single most natural user phrase ('prompt injection') is missing from the description itself, and the capability is expressed as one action verb over several surfaces rather than several distinct actions.

Suggestions

Work the phrase 'prompt injection' (and possibly framework names like 'langchain' or 'openai') into the description itself, not just metadata.triggers, since 'prompt injection' is the most natural phrase a user would say when needing this skill.

Consider expressing the capability as several concrete actions (e.g., 'audit prompt construction, review agent tool permissions, inspect RAG/vector store ingestion') instead of a single 'audit checklist' verb applied to a list of surfaces.

DimensionReasoningScore

Specificity

"audit checklist for AI applications, agent tools, RAG pipelines, and prompt construction" names one concrete action but applies it to a concretely enumerated scope (four target surfaces), giving specific coverage with minor gaps. It exceeds the 1-2-action anchor 3 but does not list several distinct action verbs like the anchor-5 example, so it sits just above the midpoint at 4.

4 / 5

Completeness

Both halves are explicit: the 'what' is "OWASP LLM Top 10 (2025) audit checklist for AI applications, agent tools, RAG pipelines, and prompt construction" and the 'when' is a concrete "Use when performing any security review touching LLM client code, prompt templates, agent tools, or vector stores". This mirrors the anchor-5 example structure of clear what + explicit Use-when with concrete trigger conditions; it is not the anchor-4 case of a vague or weakly-specified when.

5 / 5

Trigger Term Quality

Natural terms users would say are present — "security review", "RAG", "prompt templates", "agent tools", "vector stores" — giving good coverage. However, the most natural phrase a user would utter for this skill, "prompt injection", is absent (it appears only in metadata.triggers, not the description), matching the anchor-4 'good keyword coverage; a few natural terms missing'.

4 / 5

Distinctiveness Conflict Risk

The skill occupies a clear niche — LLM-specific security auditing against the OWASP LLM Top 10 taxonomy — and the when-clause scopes triggering to LLM-touching reviews, so overlap with generic document or code skills is minimal. This matches anchor 5's 'clear niche with distinct triggers'.

5 / 5

Total

18

/

20

Passed

Validation

75%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 3 suspicious

Warning

Total

12

/

16

Passed

Repository

HoangNguyen0403/agent-skills-standard

Path

.github/skills/common/common-llm-security/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.