Generate Migration
getsentry/sentry
Generate or review Django database migrations for Sentry. An agent skill from getsentry/sentry.
Generates and splits Django schema migrations for Saleor with manage.py makemigrations, enforcing one new model or one field change per migration file.
$ npx skills add saleor/saleor --skill saleor-django-migration -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install saleor/saleor saleor-django-migration --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/saleor/saleor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/saleor-django-migration .claude/skills/saleor-django-migration && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "saleor-django-migration" agent skill from https://github.com/saleor/saleor/tree/main/.claude/skills/saleor-django-migration into .claude/skills/saleor-django-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "saleor-django-migration", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/saleor/saleor/tree/main/.claude/skills/saleor-django-migrationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add saleor/saleor --skill saleor-django-migration -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install saleor/saleor saleor-django-migration --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/saleor/saleor.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/saleor-django-migration .agents/skills/saleor-django-migration && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "saleor-django-migration" agent skill from https://github.com/saleor/saleor/tree/main/.claude/skills/saleor-django-migration into .agents/skills/saleor-django-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "saleor-django-migration", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add saleor/saleor --skill saleor-django-migration -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install saleor/saleor saleor-django-migration --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/saleor/saleor.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/saleor-django-migration .cursor/skills/saleor-django-migration && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "saleor-django-migration" agent skill from https://github.com/saleor/saleor/tree/main/.claude/skills/saleor-django-migration into .cursor/skills/saleor-django-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "saleor-django-migration", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/saleor/saleor.git --path .claude/skills/saleor-django-migration--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add saleor/saleor --skill saleor-django-migration -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install saleor/saleor saleor-django-migration --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/saleor/saleor.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/saleor-django-migration .gemini/skills/saleor-django-migration && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "saleor-django-migration" agent skill from https://github.com/saleor/saleor/tree/main/.claude/skills/saleor-django-migration into .gemini/skills/saleor-django-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "saleor-django-migration", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install saleor/saleor saleor-django-migrationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add saleor/saleor --skill saleor-django-migration -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/saleor/saleor.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/saleor-django-migration .github/skills/saleor-django-migration && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "saleor-django-migration" agent skill from https://github.com/saleor/saleor/tree/main/.claude/skills/saleor-django-migration into .github/skills/saleor-django-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "saleor-django-migration", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add saleor/saleor --skill saleor-django-migration -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install saleor/saleor saleor-django-migration --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/saleor/saleor.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/saleor-django-migration .opencode/skills/saleor-django-migration && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "saleor-django-migration" agent skill from https://github.com/saleor/saleor/tree/main/.claude/skills/saleor-django-migration into .opencode/skills/saleor-django-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "saleor-django-migration", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
saleor-django-migrationGenerates and splits Django schema migrations for Saleor with manage.py makemigrations, enforcing one new model or one field change per migration file.
The skill covers schema-only migrations such as CreateModel, AddField, AlterField, RemoveField and index or constraint operations, explicitly excluding data migrations with RunPython or RunSQL and async or background migrations; if a change needs data transformation, the agent stops and asks the user instead. Migration files must never be written by hand: the workflow edits the Django model files, activates the virtual environment, and runs python manage.py makemigrations, answering any interactive rename questions based on the actual model changes made.
After generation, every migration file is read and checked for schema-only operations and correct dependencies, then two separation rules apply: a migration that creates more than one new model must be split so each model is generated on its own, and a migration that alters more than one field on a single model must be split into one migration per field, in each case by deleting the combined migration and regenerating one change at a time. Exceptions that should not be split include a CreateModel with all its own fields, cross-model dependencies Django requires together such as a ForeignKey with its related model, and a field generated together with its own index or constraint.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 782a751. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Saleor Django Schema Migration loads about 1k tokens when it runs. Until then it costs about 117 tokens; SKILL.md has 453 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from saleor/saleor at commit 782a751, republished under its BSD-3-Clause licence (© saleor). 453 words, ~1,008 tokens.
.claude/skills/saleor-django-migration/SKILL.md (or your agent's skills folder).This skill handles schema-only migrations: CreateModel, AddField, AlterField, RemoveField, AddIndex, AddConstraint, etc. It does NOT cover:
If the change requires data transformation, stop and ask the user.
./manage.py makemigrations to generate migrations.. .venv/bin/activate before any manage.py command.Edit the Django model file(s) as needed. Do not touch any migration files.
. .venv/bin/activate && python manage.py makemigrationsIf Django asks interactive questions (e.g. "Did you rename field X to Y?"), answer based on the model changes you made.
Read every generated migration file. Verify:
Apply these rules to the generated migration(s):
Rule A — One model per migration for new models:
If the migration creates MORE THAN ONE new model (multiple CreateModel operations), split them. Generate each separately:
python manage.py makemigrations <app>If Django generates them together, delete the combined migration, then create models one at a time (add one model to models.py, run makemigrations, repeat).
Rule B — One field change per migration:
If the migration alters MORE THAN ONE field within a single model (e.g. two AddField or two AlterField operations on the same model), split into separate migrations — one per field. Delete the combined migration, make one field change at a time, and run makemigrations after each.
Exceptions (do NOT split):
CreateModel with all its fields is one operation — do not split the fields of a new modelRun the check command to confirm no pending migrations remain:
python manage.py makemigrations --check --dry-runExpected output: No changes detected — meaning all model changes are captured in migrations.
| Error | Action |
|---|---|
django.db.utils.OperationalError: could not connect | Ask user to start the database |
Conflicting migrations detected | Stop and let user decide |
ModuleNotFoundError | Virtual environment not activated — run . .venv/bin/activate |
ls saleor/<app>/migrations/ | tail -5) before generating, so you can confirm the new migration number is sequential.© saleor, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/saleor-django-migration of saleor/saleor.
Open the folder on GitHubat commit 782a751
Saleor Django Schema Migration next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Saleor Django Schema Migration this skillsaleor/saleor | 23k | — | ~1k | Automated safety check: Pass | BSD-3-Clause | |
| Generate Migrationgetsentry/sentry | 46k | — | ~2.2k | Automated safety check: Pass | Custom licence | |
| DB Migratorlaolaoshiren/claude-code-skills-zh | 880 | — | ~677 | Automated safety check: Pass | MIT | |
| Database Migrationagulli/atlas-agents | 579 | — | ~702 | Automated safety check: Pass | MIT | |
| Database Migrationsaffaan-m/ECC | 277k | 4 repos | ~3k | Automated safety check: Pass | MIT | |
| Database Migrationsaffaan-m/ECC | 277k | 3 repos | ~1.9k | Automated safety check: Pass | MIT |
getsentry/sentry
Generate or review Django database migrations for Sentry. An agent skill from getsentry/sentry.
laolaoshiren/claude-code-skills-zh
数据库迁移助手 - Schema 对比、迁移脚本生成
agulli/atlas-agents
Safely run database schema migrations. An agent skill from agulli/atlas-agents.
affaan-m/ECC
Safe, reversible database migration patterns: forward-only production changes, expand-contract zero-downtime renames, concurrent indexes, batched backfills, and per-tool workflows for PostgreSQL…
affaan-m/ECC
数据库迁移最佳实践,涵盖模式变更、数据迁移、回滚以及零停机部署,适用于PostgreSQL、MySQL及常用ORM(Prisma、Drizzle、Django、TypeORM、golang-migrate)。
affaan-m/ECC
Şema değişiklikleri, veri migration'ları, rollback'ler ve PostgreSQL, MySQL ve yaygın ORM'ler (Prisma, Drizzle, Django, TypeORM, golang-migrate) arasında sıfır kesinti deployment'ları için…
saleor/saleor
Benchmarks Django ORM filters in Saleor by generating bulk data, extracting the SQL and running EXPLAIN ANALYZE to check index usage.
saleor/saleor
Commits changes in the Saleor codebase and works through pre-commit hook failures from ruff, mypy, the GraphQL schema check and the migrations check.
saleor/saleor
Rules for writing Django migrations in Saleor that avoid long table locks and stay compatible with zero-downtime rolling deploys.
saleor/saleor
Run pytest tests with automatic virtual environment activation. Use this skill whenever running tests, executing pytest, or when asked to "run tests", "test…
saleor/saleor
Forward-ports or backports a single PR or branch onto the currently checked-out Saleor branch, handling GraphQL version markers and migration numbering along the way.
saleor/saleor
Checklist for adding, changing, deprecating or removing Saleor GraphQL fields, mutations, enums and webhook event types so the change passes review first time.
Works with
Categories
Generates and splits Django schema migrations for Saleor with manage.py makemigrations, enforcing one new model or one field change per migration file. The skill covers schema-only migrations such as CreateModel, AddField, AlterField, RemoveField and index or constraint operations, explicitly excluding data migrations with RunPython or RunSQL and async or background migrations; if a change needs data transformation, the agent stops and asks the user instead.py makemigrations, answering any interactive rename questions based on the actual model changes made.
Saleor Django Schema Migration fits situations like: generating a Django migration after adding or changing a Saleor model; splitting an auto-generated migration that creates multiple new models; splitting a migration that alters more than one field on the same model.
Run `npx skills add saleor/saleor --skill saleor-django-migration -a claude-code`. Or copy the skill folder (.claude/skills/saleor-django-migration in saleor/saleor) into .claude/skills/saleor-django-migration in your project. Claude Code loads it when a task matches its description.
Run `npx skills add saleor/saleor --skill saleor-django-migration -a codex`. Or copy the skill folder (.claude/skills/saleor-django-migration in saleor/saleor) into .agents/skills/saleor-django-migration in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add saleor/saleor --skill saleor-django-migration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/saleor-django-migration, .gemini/skills/saleor-django-migration, .github/skills/saleor-django-migration and .opencode/skills/saleor-django-migration in your project.
Going by SKILL.md and its folder, Saleor Django Schema Migration needs the command-line tools its instructions call (python). Our summary lists: A Saleor checkout with its Python virtual environment; A running database connection.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Saleor Django Schema Migration is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1k tokens (SKILL.md is roughly 4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Saleor Django Schema Migration: Generate Migration (getsentry/sentry, 46k stars), DB Migrator (laolaoshiren/claude-code-skills-zh, 880 stars), Database Migration (agulli/atlas-agents, 579 stars) and Database Migrations (affaan-m/ECC, 277k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
saleor (a GitHub organization) maintains it in saleor/saleor, which has 23,428 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 9, 2026.
Source: saleor/saleor on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.