CtrlK
BlogDocsLog inGet started
Tessl Logo

django-patterns

Django架构模式,使用DRF设计REST API,ORM最佳实践,缓存,信号,中间件,以及生产级Django应用程序。

52

Quality

59%

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 ./docs/zh-CN/skills/django-patterns/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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-organized, code-heavy Django patterns reference with strong, mostly executable examples, but it is monolithic (~730 lines, no external reference files), repeats guidance across sections, and includes batch operations with no validation steps. Splitting detail into reference files and adding verification guidance for batch/destructive operations would raise the score.

Suggestions

Split detail into one-level-deep reference files (e.g. references/settings.md, references/drf.md, references/caching-signals.md, references/performance.md) and keep SKILL.md as a concise overview with clearly signaled links, per progressive disclosure.

Add validation/verification guidance to the batch operations section (e.g. verifying counts or wrapping bulk operations in transaction.atomic with checks), since batch and destructive operations currently lack any feedback loop and cap workflow clarity at 3.

Trim duplicated content — the N+1 section restates select_related/prefetch_related already demonstrated in the QuerySet and ViewSet sections, and the database index section repeats Meta.indexes from the Product model — and fix non-executable snippets (undefined env(), slugify, logger, timezone, Count, PaymentGateway, Cart).

DimensionReasoningScore

Conciseness

The body is code-dense with almost no prose fluff, but at ~730 lines it largely restates standard Django patterns (custom user model, QuerySet, ViewSet, signals, middleware) Claude already knows, and duplicates content — the N+1 section repeats select_related/prefetch_related guidance already shown in the QuerySet and ViewSet sections, and the index section repeats Meta.indexes from the Product model. It is not 2 because there is little padded explanation, and not 4 because the duplication and re-teaching of well-known patterns are more than minor.

3 / 5

Actionability

Most code blocks are near copy-paste-ready, production-quality Django (split settings, custom QuerySet/Manager, serializers with validation, ViewSet with filtering, service layer with transaction.atomic). It is not 5 because several snippets will not run as written: base.py uses an undefined env() with no django-environ import/setup, save() uses slugify without import, the middleware references undefined logger/timezone, and the service layer references undefined PaymentGateway, Cart, and Count — alongside '# ... fields ...' ellipses. Not 3, since the gaps are import-level omissions rather than missing steps or pseudocode.

4 / 5

Workflow Clarity

The content is organized into clear topical sections (project structure, models, DRF, services, caching, signals, middleware, performance), but it is a pattern catalog with no sequenced workflow and no validation or verification steps anywhere — notably the 批量操作 section performs bulk create/update/delete with no checks, which caps workflow clarity at 3 per the batch-operations rule. Not 4 because validation checkpoints are entirely absent, not just minor.

3 / 5

Progressive Disclosure

Section headers (##) provide genuine structure and navigation within the file, but this is a single monolithic ~730-line SKILL.md with no references/ or scripts/ bundle — detailed settings, DRF, caching, signals, and performance content clearly belongs in separate one-level-deep reference files. It is not 2 because the section headers give real structure (unlike the header-less inlined blob anchor), and not 4 because nothing is split out into external files.

3 / 5

Total

13

/

20

Passed

Description

61%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 domain-clear, keyword-rich description for a Django production-patterns skill, but it reads as a topic list rather than an action list and omits any 'Use when...' trigger clause. Adding explicit activation conditions and spelling out Django REST Framework would lift it substantially.

Suggestions

Add an explicit trigger clause, e.g. '适用于构建Django Web应用、设计DRF REST API、编写Django模型/ORM查询,或实现缓存、信号、中间件时使用' (Use when...), which currently caps completeness at 3.

Lead each capability with a concrete action verb (设计、实现、优化) instead of topic nouns like "架构模式" and "最佳实践" so the description states what the skill actually does.

Include the spelled-out "Django REST Framework" alongside "DRF" and common user phrases like models, serializers, views, and settings to improve trigger term coverage.

DimensionReasoningScore

Specificity

Only "使用DRF设计REST API" is a verb-driven concrete action; the remaining items ("Django架构模式", "ORM最佳实践", "生产级Django应用程序") are topic nouns rather than concrete actions, so this matches 'names domain and 1-2 concrete actions'. It is not 4 because the list describes capability areas, not multiple specific actions.

3 / 5

Completeness

The 'what' is reasonably clear (architecture patterns, DRF API design, ORM, caching, signals, middleware), but there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3. It is not 4 because the 'when' is entirely absent rather than merely imprecise.

3 / 5

Trigger Term Quality

Natural keywords a Django user would say are present ("Django", "DRF", "REST API", "ORM", "缓存", "信号", "中间件"), but "DRF" appears only as an abbreviation without the spelled-out "Django REST Framework", and common phrases like models, serializers, views, or Django app setup are missing. Not 5 for these missing variations.

4 / 5

Distinctiveness Conflict Risk

The description occupies a clear Django/DRF niche with framework-specific terms, giving minimal conflict risk. It is not 5 because bare generic terms like "缓存" and "中间件" could also match generic caching or middleware skills for other frameworks.

4 / 5

Total

14

/

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.