CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

django-access-review

django-access-review

Quality

57%

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/AI-Agents-Safe-Coding-Skills-claude/skills/django-access-review/SKILL.md

The canonical home for this skill is django-access-review in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

70%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 strong, well-sequenced investigation methodology with genuinely concrete tooling (grep commands, a worked example, good/bad fix code, a report template) and explicit validation gates — workflow clarity is excellent. Its weaknesses are structural rather than substantive: a malformed duplicated frontmatter block at the top of the body, an inlined patterns section that re-teaches standard Django/DRF knowledge, and a monolithic single-file layout where reference material (patterns, report template, OWASP-derived content) could be split into bundle files.

Suggestions

Delete the stray second YAML frontmatter block and "--- LICENSE" fragment at the top of the body; move that license/attribution info into a proper LICENSE or frontmatter field.

Trim or move the "Common Django Authorization Patterns" section into a references/ file (e.g. references/django-patterns.md) — it restates standard Django/DRF mechanisms Claude already knows and costs ~40 lines of context on every load.

Consider splitting the report format template and OWASP-derived reference material into a references/ directory, leaving SKILL.md as the investigation workflow itself.

DimensionReasoningScore

Conciseness

The core methodology (investigation over pattern matching, the five phases) is tight and earns its tokens, but there is unnecessary content: a stray duplicated YAML frontmatter block with a "--- LICENSE" fragment at the top of the body, and a ~40-line "Common Django Authorization Patterns" section that re-explains standard Django/DRF mechanisms (permission_classes, @permission_required, has_object_permission) Claude already knows. This matches anchor 3 (mostly efficient but includes some unnecessary explanation or could be tightened) rather than 4, since the duplicated frontmatter is pure noise and the patterns section is padding.

3 / 5

Actionability

The body provides copy-paste-ready grep commands for discovering the authorization model, a fully worked IDOR investigation example on a concrete endpoint, explicit good-vs-bad fix code, and a complete report template. This matches anchor 4 (mostly executable guidance with minor gaps): the worked example traces a hypothetical codebase rather than being runnable, and some guidance ("trace the flow") is necessarily process-level rather than executable code.

4 / 5

Workflow Clarity

Five phases are clearly sequenced (understand the model → map attack surface → investigate → trace → report) with explicit validation checkpoints: a hard gate ("Do not proceed until you understand the authorization model"), a confidence-level table that prevents reporting unconfirmed findings, a feedback loop ("If you can't find a check, is there one you missed?" with specific places to re-check), and a closing investigation checklist. This matches anchor 5 (clear sequence, explicit validation steps, feedback loops, checklist).

5 / 5

Progressive Disclosure

This is a single ~340-line file with no bundle files at all (no references/, scripts/, or assets/ directories exist), despite a comment attributing material to the OWASP Cheat Sheet Series. Section headers are clear, but content that would naturally live in separate reference files (the Common Django Authorization Patterns reference, the report format template) is inlined, and the stray duplicated frontmatter adds structural noise. This matches anchor 3 (some structure, content that should be separate is inline) rather than 4, which would require most content appropriately split.

3 / 5

Total

15

/

20

Passed

Description

28%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 actual frontmatter description field is just the skill name, "django-access-review", which conveys a domain label but no actions, no use-when triggers, and no keywords. Notably, a second stray YAML frontmatter block embedded in the body contains a much fuller description ("Django access control and IDOR security review. Use when reviewing Django views, DRF viewsets...") — if that text were in the real frontmatter, this judge would score far higher, suggesting a malformed/duplicated frontmatter rather than intentional vagueness. As written, the description is near-useless for skill triggering.

Suggestions

Replace the frontmatter description (currently just "django-access-review") with the full description already present in the stray second YAML block in the body: "Django access control and IDOR security review. Use when reviewing Django views, DRF viewsets, ORM queries, or any Python/Django code handling user authorization" — then delete the duplicated block from the body.

Add the concrete trigger keywords from that draft description ("IDOR", "access control", "authorization", "Django permissions", "object permissions", "tenant isolation") so users' natural phrasing matches the skill.

Ensure the description states both what the skill does (find access control/IDOR vulnerabilities by tracing authorization flows) and when to use it (reviewing Django/DRF code that handles user authorization), in third person.

DimensionReasoningScore

Specificity

The frontmatter description is the literal string "django-access-review" — it names the domain (Django access control review) but states no concrete actions or capabilities whatsoever. It falls between anchor 1 (no concrete actions, e.g. "Helps with documents") and anchor 2 (domain named with generic action, e.g. "Processes PDF files"), and since it lacks even a generic action verb it sits below the midpoint of those anchors.

2 / 5

Completeness

There is only a vague, implied 'what' (presumably reviewing access control in Django) and no 'when' or 'Use when...' trigger clause at all. It is marginally more informative than anchor 1's "Helps with documents" because it names a specific domain, so it lands at anchor 2 (vague what, no when) rather than 1.

2 / 5

Trigger Term Quality

The only keywords available are "django", "access", and "review" — one or two generic keywords with none of the natural phrases a user would say ("IDOR", "authorization", "permissions", "Django views", "DRF"). This matches anchor 2 ("Works with files") rather than anchor 3, which would require a fuller set of relevant keywords.

2 / 5

Distinctiveness Conflict Risk

"django-access-review" names a fairly specific niche, but with no trigger phrases, keywords, or scope statement it cannot reliably distinguish itself from generic Django, security-review, or code-review skills. This matches anchor 3 ("somewhat specific but could still overlap with similar skills") — not 4, which would require mostly-distinct triggers.

3 / 5

Total

9

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/django-access-review/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.