CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

django-tdd

Django testing strategies with pytest-django, TDD methodology, factory_boy, mocking, coverage, and testing Django REST Framework APIs. Use when writing Django or DRF tests with pytest-django, or driving a Django feature test-first.

Quality

75%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

High

Do not use without reviewing

Fix and improve this skill with Tessl

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

Quality

Content

50%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 concrete, copy-paste-ready Django testing cookbook with excellent configuration and factory examples, but it is roughly 5-10x longer than needed: most of the body is boilerplate test code Claude already knows how to write, the TDD workflow lacks validation checkpoints, and everything is inlined in SKILL.md with no bundle files to offload reference material.

Suggestions

Cut the generic model/view/serializer test suites down to one exemplar per pattern and keep only the project-specific conventions (pytest.ini addopts, test settings tricks, factory base classes) — this would cut the body by well over half.

Add explicit validation steps to the Red-Green-Refactor cycle: 'run `pytest tests/test_x.py` and confirm it fails (RED)' before implementing, and 'run pytest again and confirm green' before refactoring.

Split the detailed per-domain material (factory definitions, DRF API testing patterns, mocking recipes, coverage goals) into references/ files (e.g. references/factories.md, references/drf-testing.md) and keep SKILL.md as a concise overview with clearly signaled one-level-deep links.

DimensionReasoningScore

Conciseness

The body runs ~730 lines, most of it boilerplate test code Claude can already write (generic conftest fixtures, standard model/view/serializer test suites, 'Remember: Tests are documentation. Good tests explain how your code should work.'), and the 'When to Activate' section duplicates the frontmatter description. Only the project-specific conventions (pytest.ini addopts, DisableMigrations trick, factory house style) genuinely add information Claude lacks.

2 / 5

Actionability

Guidance is overwhelmingly concrete and executable: complete pytest.ini, test settings module, conftest.py, and factory definitions. Minor gaps: several examples reference fixtures or symbols never defined in the shown setup (e.g. `category` in test_product_create_post, `order` in test_order_confirmation_email, `TagFactory` in test_product_with_tags, and `patch`/`Order` are used in the integration test without imports).

4 / 5

Workflow Clarity

The Red-Green-Refactor sequence is present but underdeveloped — 'Step 2: GREEN - Make test pass / # Create User model or factory' is a bare comment, and there are no validation checkpoints such as running `pytest` to confirm red then green. Setup ordering (config -> settings -> conftest -> factories) is implied by section order but never stated as an explicit sequence with checkpoints.

3 / 5

Progressive Disclosure

Section headers throughout make the document navigable, but no references/, scripts/, or assets/ files exist — everything is inlined in SKILL.md. Content that clearly belongs in separate files (the full factory library, per-domain test suites like model/view/serializer/DRF testing, the coverage tables) is inline, so the skill functions as a monolithic reference rather than an overview pointing to detailed materials.

3 / 5

Total

12

/

20

Passed

Description

91%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 strong description that clearly and concretely states both what the skill covers and when to use it, with natural trigger phrasing and good synonym coverage (DRF, test-first/TDD). Its only weaknesses are minor: a topic-list phrasing rather than explicit verb actions, and slight overlap potential with generic pytest/TDD skills.

DimensionReasoningScore

Specificity

Names several concrete capabilities — 'testing strategies with pytest-django, TDD methodology, factory_boy, mocking, coverage, and testing Django REST Framework APIs' — with comprehensive coverage of the skill's scope. Falls just short of a 5 because capabilities are phrased as a topic/tool list rather than concrete verb actions ('Write X tests using Y').

4 / 5

Completeness

Explicitly answers both what ('Django testing strategies with pytest-django, TDD methodology, factory_boy, mocking, coverage, and testing Django REST Framework APIs') and when ('Use when writing Django or DRF tests with pytest-django, or driving a Django feature test-first') with concrete trigger phrases, in third person.

5 / 5

Trigger Term Quality

Natural user phrasing is well covered with synonyms and expansions: 'Django or DRF tests', 'pytest-django', 'driving a Django feature test-first' alongside 'TDD methodology', plus factory_boy, mocking, and coverage. A user asking to 'test this Django endpoint' or 'do TDD on this feature' would naturally hit these terms.

5 / 5

Distinctiveness Conflict Risk

'Django testing with pytest-django' and 'driving a Django feature test-first' carve a clear niche that is unlikely to mis-trigger for non-Django work. Minor overlap risk with a hypothetical generic pytest or TDD skill, since 'TDD methodology' and 'mocking, coverage' are framework-agnostic terms, but the Django/DRF qualifiers keep it mostly distinct.

4 / 5

Total

18

/

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

Warning

metadata_version

'metadata.version' is missing

Warning

Total

14

/

16

Passed

Repository

affaan-m/ECC

Path

skills/django-tdd/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.