Content
85%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A well-structured, instruction-dense migration workflow with a required decision gate, per-slice validation, a hard finish gate, and a genuinely useful repo-derived pitfalls section. Its only real weaknesses are mild repetition of the drift/shim rules across sections and the absence of any concrete DMR code snippet to anchor the translation rules.
Suggestions
Consolidate the repeated drift/shim rules ("unless drift approved", "unless explicitly approved") into a single Migration Policy statement and reference it from the Checklist instead of restating it in Translation Rules and Port auth/throttling.
Add one minimal end-to-end example in the body or the mapping reference (a Ninja @api_controller handler with ninja.Schema input rendered as a DMR Controller with Body[DTO]/ResponseSpec) so the translation rules are anchored to executable code.
Move the detailed DTO/construct translation table (currently split between the body's Translate sections and references/ninja-to-dmr-map.md) entirely into the reference file to keep SKILL.md as the policy/workflow layer.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is dense, imperative, and free of explanations of concepts Claude already knows (no Django/Ninja tutorials), but the drift/shim rules repeat across Migration Policy, Translation Rules, Port auth/throttling, and the Checklist ("unless drift approved" appears ~8 times), which could be consolidated. Not 5: minor repetition remains; not 3: there is no padding and nearly every line instructs. | 4 / 5 |
Actionability | Gives concrete, executable guidance: exact constructs to search for ("NinjaExtraAPI", "api_controller", "http_get/http_post", "ninja_jwt"), exact DMR mechanisms ("Controller[...]", "Body[...]/Query[...]/Path[...]", "ResponseSpec", "validate_responses"), and repo-derived pitfalls with precise fixes ("ratelimit.core.ALL", field-level "strict=False", "extra='forbid'"). Not 5: no sample DMR controller/DTO wiring snippet, and CI validation is delegated to repo entrypoints without examples — minor gaps remain. | 4 / 5 |
Workflow Clarity | The workflow is a clearly sequenced multi-step process (inventory Ninja surface -> inventory project-native batteries -> freeze observable behavior -> required error-strategy gate -> migrate by slice -> translate DTOs/handlers -> replace wiring -> port auth/throttling -> update tests -> validate -> finish gate) with explicit validation checkpoints and feedback loops ("Do not mark slice done until: linters pass, tests pass, report is updated"). Not 4: validation is explicit at every slice plus a hard finish gate, fully covering the batch-operation case. | 5 / 5 |
Progressive Disclosure | The one bundle file (references/ninja-to-dmr-map.md) is real, one level deep, and clearly signaled in "Required docs (always reference first)" as "Local map: [references/ninja-to-dmr-map.md]"; the lookup-table detail is appropriately externalized while the SKILL.md body holds only the workflow, policy, pitfalls, and checklist. Not 4: navigation is easy and the split is appropriate with no organization gaps. | 5 / 5 |
Total | 18 / 20 Passed |