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.

69

Quality

84%

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

81%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-structured, actionable migration runbook with a clear gated workflow and concrete symbol-level guidance plus repo-derived pitfalls. It is largely concise and uses one-level-deep references appropriately, with only minor tightening and a missing worked DTO example holding it back from full marks.

Suggestions

Consolidate the repeated auth/throttle guidance (currently restated in Migration Policy, step 9, Translation Rules, and Pitfalls) into a single authoritative section to reduce token cost.

Add one short, complete worked DTO example showing a ninja.Schema converted to a DMR typed DTO (Body/Query split) to lift actionability from concrete-symbol to copy-paste-ready.

Pull the repo-derived Migration Pitfalls into references/ninja-to-dmr-map.md (or a dedicated pitfalls file) so the SKILL.md body stays an overview.

DimensionReasoningScore

Conciseness

Mostly lean, imperative lists assuming Claude's Django/ninja knowledge with no padded concept explanations; minor repetition of auth/throttle guidance across Policy, step 9, Translation Rules, and Pitfalls could be tightened.

4 / 5

Actionability

Provides concrete symbols and commands (Body[...], Query[...], Controller[...], ResponseSpec, validate_responses, modify(error_handler=...), ratelimit.core.ALL, strict=False, extra='forbid') with specific pitfalls, though no complete copy-paste DTO example is included.

4 / 5

Workflow Clarity

Clear 12-step numbered sequence with explicit validation checkpoints and gates ("required gate", step 11 CI validation, step 12 Finish gate requiring linters/tests/report), and feedback loops (fix-and-revalidate) for a destructive/batch migration.

5 / 5

Progressive Disclosure

Body is an overview that clearly signals one-level-deep required docs (DMR LLM docs URL and the real references/ninja-to-dmr-map.md), with most detail appropriately inline for the skill's scope; minor organization gaps remain.

4 / 5

Total

17

/

20

Passed

Description

87%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 precise, well-structured description that concretely states what the skill does and gives explicit trigger conditions tied to specific API symbols. It is distinct from other skills and would reliably fire for the intended migration scenario.

DimensionReasoningScore

Specificity

Names the domain and several concrete actions ("Migrate... preserving routes, request/response contracts, auth, throttling, and test coverage"; "replacing NinjaExtraAPI/api_controller/http_* handlers/ninja.Schema with dmr controllers/routers and typed DTOs"), with only minor coverage gaps versus a fully comprehensive list.

4 / 5

Completeness

Explicitly answers both what ("Migrate an existing Django API from django-ninja/ninja-extra to django-modern-rest while preserving...") and when ("Use when replacing NinjaExtraAPI/api_controller/http_* handlers/ninja.Schema with dmr controllers/routers and typed DTOs") with concrete trigger phrases.

5 / 5

Trigger Term Quality

Strong natural technical terms a developer would name ("django-ninja", "ninja-extra", "django-modern-rest", "NinjaExtraAPI", "api_controller", "http_* handlers", "ninja.Schema", "dmr controllers/routers"), with only a few synonyms/extensions missing.

4 / 5

Distinctiveness Conflict Risk

Targets a clearly bounded niche (ninja/ninja-extra -> dmr migration) with distinct, framework-specific triggers and minimal overlap risk with other skills.

5 / 5

Total

18

/

20

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.