CtrlK
BlogDocsLog inGet started
Tessl Logo

django-tdd

Django 测试策略,包括 pytest-django、TDD 方法、factory_boy、模拟、覆盖率以及测试 Django REST Framework API。

72

1.28x
Quality

60%

Does it follow best practices?

Impact

96%

1.28x

Average score across 3 eval scenarios

SecuritybySnyk

Medium

Suggest reviewing before use

Fix and improve this skill with Tessl

tessl review fix ./docs/zh-CN/skills/django-tdd/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

53%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 delivers highly concrete, executable configuration and test code covering the full Django TDD stack, but it is a 730-line monolith with no progressive disclosure, duplicated sections, and a TDD workflow whose verify-each-step checkpoints are only implied. Tightening the duplication and splitting reference material into bundle files would substantially improve it.

Suggestions

Split bulk material into bundle files (e.g., references/factories.md, references/api-testing.md, references/coverage.md) and keep SKILL.md as a concise overview with one-level-deep, clearly signaled links.

Make the red-green-refactor loop explicit with validation checkpoints: 'run pytest and confirm the new test fails' → 'make it pass' → 're-run pytest' → 'refactor and keep green', rather than a comment skeleton.

Remove duplication (the repeated 模型测试 section and duplicate test_product_creation) and define or remove the undefined fixtures/helpers used in examples (category, order, product, TagFactory) so examples are truly copy-paste ready.

DimensionReasoningScore

Conciseness

The body is mostly code with little prose fluff, but much of it is boilerplate Django/pytest testing that Claude already knows well (generic model CRUD tests, standard view tests, full 10-case API test suites). There is also clear duplication — '## 模型测试' contains a repeated '### 模型测试' subsection and `test_product_creation` is defined twice — so it could be noticeably tightened, though it is not padded with conceptual explanation, keeping it above level 2.

3 / 5

Actionability

Nearly all guidance is concrete, copy-paste-ready code: a complete pytest.ini, test settings module, conftest.py fixtures, factory definitions, and runnable test examples. Minor gaps exist — fixtures like `category`, `order`, `product`, and `TagFactory` are used but never defined, and URLs assume a specific project layout — which keeps it below fully-executable level 5.

4 / 5

Workflow Clarity

The red-green-refactor loop is presented only as a three-line comment skeleton ('# Step 1: RED - Write failing test') with no instruction to actually run pytest and confirm the failure before moving on. The sequence is listed but validation checkpoints are implicit, which matches level 3; it is not level 4 because no explicit 'run the test and verify' steps exist anywhere in the workflow.

3 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), and the entire ~730-line skill is one monolithic file with everything inlined — full factory definitions, API test suites, coverage config, and mocking patterns that clearly belong in separate reference files. It is above level 1 because section headers and a quick-reference table provide navigation, but the total lack of file-level structure fits level 2's 'content that clearly belongs in separate files is inlined.'

2 / 5

Total

12

/

20

Passed

Description

66%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 specific and reasonably rich in trigger terms, clearly scoping the skill to Django testing with named tools. Its main weakness is the complete absence of a 'when to use' clause, which caps completeness at 3 and leaves activation guidance implicit.

Suggestions

Add an explicit trigger clause, e.g. '当编写 Django 应用、实现 DRF API 或设置测试基础设施时使用' (Use when writing Django apps, implementing DRF APIs, or setting up test infrastructure).

Add common synonyms users might say, such as 'unit tests' / '单元测试' and 'test-driven development' spelled out, to improve trigger term coverage.

State concrete actions rather than only topic names, e.g. 'configure pytest-django, write model/view/serializer tests' to push specificity toward 5.

DimensionReasoningScore

Specificity

The description names the domain ('Django 测试策略') and lists several concrete components: 'pytest-django', 'TDD 方法', 'factory_boy', '模拟', '覆盖率', and '测试 Django REST Framework API'. It enumerates tools/topics rather than concrete actions ('write model tests', 'configure pytest'), which keeps it below the comprehensive level 5, but it is well above the 1-2 concrete actions of level 3.

4 / 5

Completeness

The 'what' is clear — a Django testing strategy covering the listed tools and areas — but there is no 'when' clause at all: no 'Use when...' or equivalent explicit trigger guidance ('当编写 Django 应用时...'). Per the judging guidelines, a missing 'Use when' clause caps completeness at 3; this cannot be level 4, which requires both what and when.

3 / 5

Trigger Term Quality

It includes natural terms a user would say when needing this skill: 'Django 测试', 'pytest-django', 'factory_boy', 'TDD', '覆盖率', 'Django REST Framework'. Common variations like 'unit tests', 'test-driven development' spelled out, or 'DRF' are missing, so it falls just short of the comprehensive synonym coverage of level 5 but is clearly better than the partial keyword coverage of level 3.

4 / 5

Distinctiveness Conflict Risk

The Django + pytest-django + factory_boy + DRF combination carves a fairly distinct niche with tool-specific trigger terms, so it is unlikely to fire for unrelated skills. There is minor overlap risk with a general pytest or Python-testing skill, which keeps it below the minimal-conflict level 5.

4 / 5

Total

15

/

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 (730 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.