CtrlK
BlogDocsLog inGet started
Tessl Logo

dmr-from-django-ninja

Migrate an existing Django API from django-ninja/ninja-extra to django-modern-rest while preserving routes, request/response contracts, auth, throttling, and test coverage. Use when replacing NinjaExtraAPI/api_controller/http_* handlers/ninja.Schema with dmr controllers/routers and typed DTOs.

70

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

85%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, highly actionable migration skill with a strong sequenced workflow, explicit validation gates, and appropriate offloading of detail to a one-level reference. Its only notable weakness is redundancy: the drift and response-validation policies are restated several times across sections.

Suggestions

Consolidate the 'approved drift' vs 'strict parity' policy into a single authoritative section and reference it from steps 4, 7, and the Translation Rules instead of restating it each time.

State the validate_responses / ResponseSpec requirement once and link or back-reference it from the Output Checklist rather than repeating the full obligation.

The external docs URL is correct but the reference map contains a typo ('error handkung flow', 'handle_async_error()') that should be fixed before the skill is relied on.

DimensionReasoningScore

Conciseness

The body is dense and directive with no padding about concepts Claude already knows, but the 'approved drift' policy and the validate_responses/ResponseSpec requirements are restated across Migration Policy, section 4, section 7, section 9, the Translation Rules, and the Output Checklist, so it could be tightened.

2 / 3

Actionability

Guidance is concrete and symbol-level actionable (Body/Query/Path/Headers/Cookies mappings, Controller[...] for single ops, modify(error_handler=...)) and the pitfalls are grounded in specific real fixes (ratelimit.core.ALL, extra='forbid', strict=False for UUID fields), matching fully actionable instruction guidance.

3 / 3

Workflow Clarity

A clearly sequenced 12-step workflow with explicit validation gates ('Freeze observable behavior' before coding, 'Validate each slice with repository-native CI', 'Finish gate' requiring linters/tests/report) and feedback loops (no slice marked done until tests pass or drift is approved).

3 / 3

Progressive Disclosure

The body is an overview that signals a one-level-deep reference (references/ninja-to-dmr-map.md, verified present) and the external DMR LLM docs URL, keeping the detailed construct mapping out of the main file with clear navigation.

3 / 3

Total

11

/

12

Passed

Description

85%

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, specific, third-person description that clearly states what the skill does and when to use it, occupying a distinct migration niche. Its main weakness is the 'Use when' trigger relying on framework-internal symbol names rather than natural user phrasings.

Suggestions

Add natural-language trigger terms users would actually say (e.g. 'port', 'convert', 'upgrade from ninja to dmr') alongside the current symbol-based 'Use when' clause.

Consider mirroring the natural phrasing 'migrate from django-ninja to django-modern-rest' into the trigger clause so it reads as something a user would say verbatim.

DimensionReasoningScore

Specificity

The description lists multiple concrete preserved contracts ('routes, request/response contracts, auth, throttling, and test coverage') plus the migration action itself, matching the 'lists multiple specific concrete actions' anchor.

3 / 3

Completeness

It explicitly answers both 'what' (migrate Django API preserving specific contracts) and 'when' via an explicit 'Use when replacing...' trigger, satisfying the top anchor.

3 / 3

Trigger Term Quality

Natural framing terms ('Migrate... from django-ninja/ninja-extra to django-modern-rest') are present, but the 'Use when' clause leans on internal class/symbol names (NinjaExtraAPI/api_controller/http_*/ninja.Schema) rather than the natural phrasings a user would say, missing common variations.

2 / 3

Distinctiveness Conflict Risk

The niche is tightly scoped to a django-ninja/ninja-extra → django-modern-rest migration, with distinct triggers unlikely to fire for unrelated skills.

3 / 3

Total

11

/

12

Passed

Validation

100%

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

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
wemake-services/django-modern-rest
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.