orm-lens SKILL.md skillA

orm-lens from frowningdev/orm-lens is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add frowningdev/orm-lens/orm-lens@v1.4.0

Pins v1.4.0 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
frowningdev/orm-lens
Path
skills/orm-lens/SKILL.md
Versions recorded
1
Latest version
v1.4.0, committed Oct 31, 2026
Size
13,985 bytes
Repository stars
98
License
MIT

Static analysis for Django codebases: real answers about models, relations, N+1 queries, migration safety, schema drift and "what breaks if I remove this field", computed from the AST — no database, no settings module, no django.setup(). Use this skill whenever the user works in a Django project and asks about models or the schema, reviews a PR that touches models.py or migrations, wants to rename/remove/alter a field or model, asks whether a migration is safe to deploy, complains about slow…

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# ORM Lens

Guessing about a Django schema is how agents ship broken migrations. Reading
`models.py` by eye misses abstract bases in other files, reverse accessors,
`related_name`s, cross-app foreign keys and the migration history; grepping
for a field name drowns in false matches. `orm-lens` parses the whole
project with Python's AST and answers from facts: which models exist, what
points at what, which loops issue N+1 queries, which migration operations
lock tables or drop data, and which lines of code still read a column you are
about to remove.

It never runs project code, needs no `DJANGO_SETTINGS_MODULE`, no installed
dependencies and no database, so it is safe on any checkout — including a
fresh clone, a PR branch, or a repo whose settings need secrets.

## Step 0 — get the engine

Check whether MCP tools named `list_apps`, `describe_model`, `blast_radius`,
`nplusone_scan` (etc.) are available to you. If they are, use them and pass
`workspace_root` = the absolute path of the directory that holds `manage.py`.

If they are not, use the CLI. Pick the first that works:

```bash
uvx orm-lens@latest --version   # zero-install, preferred
pipx run orm-lens --version
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add frowningdev/orm-lens/orm-lens@sha256:5cd9c9e1a3fd91a5

The line at the top of this page pins the label v1.4.0, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_n3jxrrdxq2dsk4lt.svg)](https://markdownregistry.com/a/art_n3jxrrdxq2dsk4lt)

0 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 1 version of this file, committed on Oct 31, 2026.

versioncommittedcommitsizeaudit
v1.4.0 latest2026-10-31 27e23b4 13,985 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (13985 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

frowningdev/orm-lens · 98 stars · license MIT · pushed 2026-11-05 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_n3jxrrdxq2dsk4lt
GET https://markdownregistry.com/api/v1/resolve?ref=frowningdev/orm-lens/orm-lens
GET https://markdownregistry.com/api/v1/blob/5cd9c9e1a3fd91a56d33438e928974f8719f3d3ae612b3b139b03be6de6a7697

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

Browse by kind, by grade A, or by owner.