CtrlK
BlogDocsLog inGet started
Tessl Logo

tdg-personal/django-security

Django security best practices, authentication, authorization, CSRF protection, SQL injection prevention, XSS prevention, and secure deployment configurations.

68

Quality

68%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

Quality

Discovery

82%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

This description excels at listing specific Django security capabilities with strong, natural trigger terms that developers would use. Its main weakness is the absence of an explicit 'Use when...' clause, which would help Claude know precisely when to select this skill over others. Adding trigger guidance would elevate this from a good description to an excellent one.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about securing a Django application, hardening Django settings, or preventing common web vulnerabilities like CSRF, XSS, or SQL injection in Django.'

Consider mentioning related file types or settings files (e.g., 'settings.py', 'middleware configuration') to further strengthen trigger matching for deployment-related queries.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions/topics: authentication, authorization, CSRF protection, SQL injection prevention, XSS prevention, and secure deployment configurations. These are clearly defined security domains.

3 / 3

Completeness

The 'what' is well covered with specific security topics, but there is no explicit 'Use when...' clause or equivalent trigger guidance telling Claude when to select this skill. Per rubric guidelines, this caps completeness at 2.

2 / 3

Trigger Term Quality

Includes strong natural keywords users would say: 'Django security', 'authentication', 'authorization', 'CSRF', 'SQL injection', 'XSS', 'secure deployment'. These are terms developers naturally use when seeking help with Django security.

3 / 3

Distinctiveness Conflict Risk

The combination of 'Django' with specific security concerns (CSRF, SQL injection, XSS) creates a clear niche. It is unlikely to conflict with general Django skills or generic security skills due to the specificity of the domain intersection.

3 / 3

Total

11

/

12

Passed

Implementation

42%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The skill provides comprehensive, executable Django security code examples covering all major vulnerability categories, which is its primary strength. However, it is far too verbose for a skill file — it reads more like a tutorial or reference manual than a concise instruction set for Claude. The lack of progressive disclosure (everything in one file) and missing workflow sequencing (no `manage.py check --deploy` validation step, no deployment order) significantly reduce its effectiveness as a skill.

Suggestions

Reduce content to ~100 lines by keeping only the production settings block, the security checklist, and brief one-liner references for each topic, moving detailed examples to separate files (e.g., AUTHENTICATION.md, XSS_PREVENTION.md, API_SECURITY.md).

Add a sequenced deployment security workflow with explicit validation: run `python manage.py check --deploy`, verify settings, then deploy — with a feedback loop for fixing flagged issues.

Remove explanatory comments Claude already knows (e.g., '# CRITICAL: Never use True in production', '# Django auto-escapes variables by default - SAFE') and trust Claude's existing Django knowledge.

Cut the full AJAX CSRF cookie-fetching JavaScript snippet and the verbose RBAC model example — these are standard patterns that add bulk without security-specific insight.

DimensionReasoningScore

Conciseness

Extremely verbose at ~400+ lines. Explains many concepts Claude already knows (what CSRF is, how Django ORM escaping works, basic permission patterns). Includes boilerplate code like the full AJAX cookie-fetching function and verbose model definitions that don't add security-specific value. The closing 'Security is a process, not a product' platitude is unnecessary.

1 / 3

Actionability

Provides fully executable, copy-paste ready code examples throughout — production settings, custom user models, permission classes, file validators, rate limiting configs, logging setup. Code is concrete and specific with real Django imports and patterns.

3 / 3

Workflow Clarity

The checklist at the end provides a summary but there's no clear sequenced workflow for securing a Django app (e.g., 'do this first, then validate, then deploy'). Individual sections are clear but lack validation checkpoints — for instance, no mention of running `python manage.py check --deploy` to verify security settings, which is Django's built-in security validation tool.

2 / 3

Progressive Disclosure

Monolithic wall of content with no references to external files. All topics (auth, CSRF, XSS, SQL injection, file uploads, API security, CSP, logging) are inlined in a single massive document. This would benefit greatly from splitting into focused sub-files with a concise overview in the main SKILL.md.

1 / 3

Total

7

/

12

Passed

Validation

81%

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

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

frontmatter_unknown_keys

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

Warning

Total

9

/

11

Passed

Reviewed

Table of Contents