CtrlK
BlogDocsLog inGet started
Tessl Logo

django-patterns

Django architecture patterns, REST API design with DRF, ORM best practices, caching, signals, middleware, and production-grade Django apps.

48

Quality

53%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Medium

Suggest reviewing before use

Fix and improve this skill with Tessl

tessl review fix ./.kiro/skills/django-patterns/SKILL.md

The canonical home for this skill is django-patterns in affaan-m/ECC

SKILL.md
Quality
Evals
Security

Quality

Content

36%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-sectioned but bloated pattern reference: the structural decisions (split settings, custom QuerySet, service layer, N+1 prevention) are genuinely useful, yet they are buried in boilerplate Claude already knows and non-executable snippets with undefined imports and phantom fields. No validation guidance accompanies the destructive/bulk operations, and the entire multi-domain catalog lives in one file instead of being progressively disclosed.

Suggestions

Trim standard Django boilerplate (INSTALLED_APPS/MIDDLEWARE lists, base AbstractUser fields, stock serializer scaffolding) to the pattern decisions that Claude would not infer on its own.

Make code examples executable: import or define 'env', 'slugify', 'logger', 'timezone', 'Count', 'Cart', and 'PaymentGateway', and reconcile referenced fields ('is_featured', 'created_by') with the shown models.

Add validation/feedback-loop guidance around bulk operations (e.g. verify counts or wrap bulk_delete in a transaction with a dry-run check) and split the DRF, settings, and performance sections into one-level-deep reference files with the SKILL.md kept as a concise overview.

DimensionReasoningScore

Conciseness

The ~730-line body inlines substantial boilerplate Claude already knows — full INSTALLED_APPS/MIDDLEWARE lists, a stock AbstractUser model, standard ModelSerializer patterns — matching anchor 2 ('several unnecessary explanations or padded sections'). Not a 1 because there is no prose conceptual explanation and the pattern choices themselves (split settings, service layer, custom QuerySet) do add value.

2 / 5

Actionability

Code examples are concrete and idiomatic but not executable as written: 'env()', 'slugify', 'logger', 'timezone', 'Count', 'Cart', and 'PaymentGateway' are never imported or defined, model fields are elided ('# ... fields ...'), and snippets reference fields that don't exist on the shown models ('is_featured', 'created_by'). This matches anchor 3 ('concrete guidance but incomplete; missing key details'), well short of copy-paste-ready anchor 4.

3 / 5

Workflow Clarity

There is only an implicit ordering (structure → models → serializers → views → services) with no explicit steps or checkpoints, and the bulk operations section shows 'Product.objects.filter(stock=0).delete()' and bulk_create/bulk_update with no validation or feedback loop — anchor 2 ('rough sequence present but many gaps; validation absent'), and the destructive/batch cap at 3 is not approached anyway.

2 / 5

Progressive Disclosure

Sections are well-organized with headers and a Quick Reference table, but everything lives inline in one monolithic ~730-line file — settings examples, full model/serializer/ViewSet code, caching, signals, middleware, and performance sections that clearly belong in separate reference files, and no bundle references exist at all. This sits between anchor 2 ('content that clearly belongs in separate files is inlined') and anchor 3 ('some structure but content that should be separate is inline'), so 3 is the best fit given the genuinely good in-file structure.

3 / 5

Total

10

/

20

Passed

Description

70%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 specific, distinctive description with good natural keyword coverage for the Django ecosystem. Its main weakness is the missing 'Use when...' trigger clause, which caps completeness and leaves activation guidance implicit.

Suggestions

Add an explicit trigger clause, e.g. 'Use when building or refactoring Django projects, designing DRF endpoints, or debugging ORM/caching/middleware issues.'

Include common user phrasings and synonyms such as 'Django REST Framework', 'models', 'migrations', and 'views' to broaden trigger-term coverage.

DimensionReasoningScore

Specificity

Phrases like 'REST API design with DRF, ORM best practices, caching, signals, middleware' list several specific capability areas with only minor gaps, matching anchor 4. Not a 5 because the description is a list of domain nouns rather than concrete actions, and it lacks the comprehensive action-verb coverage of the top anchor.

4 / 5

Completeness

The 'what' is clear (Django architecture patterns, DRF APIs, ORM, caching, signals, middleware), but there is no 'Use when...' clause or equivalent explicit trigger guidance, which the judging guidelines cap at 3. Anchor 4 is not reached because 'when' is entirely absent rather than merely under-specified.

3 / 5

Trigger Term Quality

Natural terms users would say are present — 'Django', 'REST API', 'DRF', 'ORM', 'caching', 'signals', 'middleware' — giving good keyword coverage per anchor 4. Not a 5 because common variations are missing, e.g. 'Django REST Framework' spelled out, 'models', 'migrations', 'views', 'database'.

4 / 5

Distinctiveness Conflict Risk

The description is anchored to framework-specific triggers ('Django', 'DRF', 'ORM', 'signals') that form a clear niche with minimal overlap risk against generic web-development or Python skills, matching anchor 5.

5 / 5

Total

16

/

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 (735 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository
affaan-m/ECC
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.