CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

django-security

Django security best practices, authentication, authorization, CSRF protection, SQL injection prevention, XSS prevention, and secure deployment configurations. Use when reviewing Django authentication, authorization, input handling, or deployment settings.

Quality

72%

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 ./skills/django-security/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

46%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 a code-dense, largely actionable security reference with good topical organization and a closing checklist. However, it is noticeably overlong with duplicated sections and Django-docs boilerplate, lacks any progressive disclosure (single 640-line file, no references), and offers no sequenced review workflow with validation checkpoints.

Suggestions

Split the skill into one-level-deep reference files (e.g., references/file-uploads.md, references/api-security.md, references/security-headers.md) and keep SKILL.md as a concise overview with clearly signaled links, removing the triple duplication of security-header settings.

Trim content Claude already knows — the default AUTH_PASSWORD_VALIDATORS listing, the getCookie JavaScript boilerplate, and the near-verbatim duplicate file-type validator — down to the non-obvious deltas (min_length 12, magic-byte vs. extension cross-check).

Add an ordered security-review workflow with validation checkpoints (e.g., 1. audit settings.py against the checklist, 2. verify each finding with the referenced snippet, 3. re-run on changes), replacing the purely topic-indexed layout.

DimensionReasoningScore

Conciseness

There are several padded or duplicated sections: security headers/settings appear three times ("Core Security Settings", "HTTP Headers", "Security Headers"), the file validation code is duplicated nearly verbatim for python-magic and filetype, and the full getCookie JavaScript plus default AUTH_PASSWORD_VALIDATORS listing restate Django documentation Claude already knows — matching anchor 2 ("noticeably verbose; several unnecessary explanations or padded sections") rather than anchor 3's 'some unnecessary explanation'.

2 / 5

Actionability

Guidance is mostly executable and copy-paste ready (production settings, custom user model, validators, middleware, throttling config), matching anchor 4; it falls short of anchor 5 because of minor gaps such as 'raise ImproperlyConfigured(...)' without an import, 'Response' unimported in protected_view, and 'User' referenced in the Post model without its import context.

4 / 5

Workflow Clarity

The body is organized by topic and ends with a "Quick Security Checklist" table, giving implicit ordering, but there is no sequenced review or hardening procedure and no validation checkpoints — matching anchor 3 ("sequence present but checkpoints missing or implicit"); it is not anchor 4 because a reviewer cannot follow an explicit ordered process with verification steps.

3 / 5

Progressive Disclosure

No bundle files exist and the ~640-line SKILL.md inlines everything — file upload security, API security/rate limiting, and CSP middleware details clearly belong in separate reference files — matching anchor 2 ("content that clearly belongs in separate files is inlined"); the clear section headers keep it above anchor 1, but it is below anchor 3 because no references exist at all to be 'present but not clearly signaled'.

2 / 5

Total

11

/

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.

The description is strong: it enumerates concrete security domains, uses third-person voice, and pairs a clear 'what' with an explicit 'Use when...' trigger clause scoped to Django. Keyword coverage is good but could add a few natural variations (hardening, permissions, secure code review).

DimensionReasoningScore

Specificity

Lists several concrete domains ("authentication, authorization, CSRF protection, SQL injection prevention, XSS prevention, and secure deployment configurations") but omits areas the skill body covers (file uploads, API security, logging), and the items are topic names rather than explicit actions, matching anchor 4 rather than 5.

4 / 5

Completeness

Explicitly answers both what ("Django security best practices, authentication, authorization, CSRF protection...") and when ("Use when reviewing Django authentication, authorization, input handling, or deployment settings") with concrete trigger phrases, matching anchor 5; anchor 4's weaker 'when' does not apply since the trigger clause is explicit and specific.

5 / 5

Trigger Term Quality

Includes natural phrases users would say ("Django security", "CSRF", "SQL injection", "XSS", "deployment settings"), giving good keyword coverage, but misses common variations such as "hardening", "permissions", or "secure code review", so it falls short of anchor 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

A clear Django-specific security niche with distinct trigger terms ("Django authentication", "Django... deployment settings"), giving minimal conflict risk with generic security or other framework skills, matching anchor 5; anchor 4's 'minor overlap risk with closely related skills' is not evidenced since Django is named throughout.

5 / 5

Total

18

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (642 lines); consider splitting into references/ and linking

Warning

metadata_version

'metadata.version' is missing

Warning

Total

14

/

16

Passed

Repository

affaan-m/ECC

Path

skills/django-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.