Agent skill

Safe Migration

by aropan in aropan/clist

Plan, create, or apply CLIST Django schema and data migrations, including model field changes, makemigrations, migrate, and RunPython operations.

Apache-2.0Auto-check passedBackend & APIs

Install Safe Migration

skills CLI
$ npx skills add aropan/clist --skill safe-migration -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install aropan/clist safe-migration --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/aropan/clist.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/safe-migration .claude/skills/safe-migration && rm -rf skills-src

Use ~/.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/

Facts

Skill name
safe-migration
GitHub stars
439
Token cost
~577 tokens
SKILL.md length
257 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
Apache-2.0

At a glance

Plan, create, or apply CLIST Django schema and data migrations, including model field changes, makemigrations, migrate, and RunPython operations.

  • Works in 6 steps: Inspect first. Read the target model in… → Find all usages of any field/table you… → Prefer additive changes. Add new… → …
  • Tasks that involve Backend development
  • SKILL.md covers Procedure, Hard rules and When done, report
  • Calls docker

What it does

Safe Migration is an agent skill from aropan/clist. Plan, create, or apply CLIST Django schema and data migrations, including model field changes, makemigrations, migrate, and RunPython operations. Preserve reversibility and check database impact.

Its SKILL.md is about 580 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering Backend development. It works with Django. The repository describes itself as: Your comprehensive guide to global programming contests. Track events, get details, and never miss a competition. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Backend development

Example prompts

  • “/safe-migration”

Requirements

  • Docker

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Inspect first. Read the target model in src//models.py and look at
  2. Find all usages of any field/table you plan to change or remove
  3. Prefer additive changes. Add new nullable fields rather than renaming or
  4. Generate schema migrations and review them
  5. Apply only when applying to the target database is part of the task.
  6. Verify relevant tests and Django checks. If the migration was applied,

What it can do on your machine

Read from SKILL.md and the folder at commit 827e89a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • docker

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use docker, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Safe Migration loads about 577 tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 257 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~53
When it runs · the whole SKILL.md, loaded when a task matches
~577

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from aropan/clist at commit 827e89a, republished under its Apache-2.0 licence (© aropan). 257 words, ~577 tokens.

Download SKILL.mdSave it as .claude/skills/safe-migration/SKILL.md (or your agent's skills folder).
name
safe-migration
description
Plan, create, or apply CLIST Django schema and data migrations, including model field changes, makemigrations, migrate, and RunPython operations. Preserve reversibility and check database impact.

Safe Django migrations in CLIST

Database changes are the highest-risk edits in this repo. The DB runs in the db container and holds real data. Be conservative.

Procedure

  1. Inspect first. Read the target model in src/<app>/models.py and look at recent migrations in src/<app>/migrations/ to match style.
  2. Find all usages of any field/table you plan to change or remove (rg across src/ and legacy/). Removing or renaming something still referenced will break the app.
  3. Prefer additive changes. Add new nullable fields rather than renaming or dropping. For a rename, prefer add-new → backfill → switch readers → remove old, across separate migrations.
  4. Generate schema migrations and review them:
    bash
    docker compose exec dev ./manage.py makemigrations <app>
    docker compose exec dev ./manage.py makemigrations --check --dry-run
    Data migrations may require a reviewed RunPython operation.
  5. Apply only when applying to the target database is part of the task. Confirm the environment and review the generated operations first:
    bash
    docker compose exec dev ./manage.py migrate <app>
  6. Verify relevant tests and Django checks. If the migration was applied, verify the affected app still imports and behaves as expected.

Hard rules

  • Never edit an already-applied historical migration unless explicitly asked. Add a new one instead.
  • Never run DROP / DELETE / TRUNCATE or an irreversible data migration without explicit user approval.
  • Don't rename or drop a column/table without first proving it's unused.
  • If a data migration is needed, make it reversible (RunPython with a reverse function) where feasible, and call out anything that isn't.
  • Treat src/clist/, src/true_coders/, src/my_oauth/, src/ranking/ models as high-traffic — extra care.

When done, report

The migration created, whether it was applied, backward-compatibility risks, and any manual backfill/cleanup step a human still needs to run.

© aropan, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/safe-migration of aropan/clist.

Open the folder on GitHubat commit 827e89a

Compare with similar skills

Safe 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.

Safe Migration compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Safe Migration this skillaropan/clist439—~577Automated safety check: PassApache-2.0
Saleor Django Schema Migrationsaleor/saleor23k—~1kAutomated safety check: PassBSD-3-Clause
Django Access Reviewgetsentry/skills1k3 repos~2.6kAutomated safety check: NotesApache-2.0
Silk Profilerbaserow/baserow6.1k—~2.9kAutomated safety check: PassCustom licence
Arch Wikiahmedemad3/arch-wiki249—~5.1kAutomated safety check: PassNone
Run Testsnetboxlabs/netbox-branching155—~1.2kAutomated safety check: PassCustom licence

Similar skills

  • Generates and splits Django schema migrations for Saleor with manage.py makemigrations, enforcing one new model or one field change per migration file.

    23k GitHub stars~1k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Django Access Review

    getsentry/skills

    Official

    Django access control and IDOR security review. An agent skill from getsentry/skills.

    1k GitHub starsUsed in 3 repos~2.6k tokens
    Backend & APIsAuto-check: notes
  • Silk Profiler

    baserow/baserow

    Investigate backend performance using Django Silk profiling data.

    6.1k GitHub stars~2.9k tokensUpdated today
    Backend & APIsAuto-check passed
  • Arch Wiki

    ahmedemad3/arch-wiki

    Scans any project codebase for new/changed modules, endpoints, middleware, infrastructure, Docker topologies, SQL queries, or permissions and updates docs/architecture/architecture.json.

    249 GitHub stars~5.1k tokensUpdated 19 days ago
    Backend & APIsAuto-check passed
  • Run Tests

    netboxlabs/netbox-branching

    Run the netboxbranching plugin's Django test suite against a local NetBox checkout.

    155 GitHub stars~1.2k tokensUpdated today
    Backend & APIsAuto-check passed
  • Django Run Locally

    fossasia/eventyay

    Steps for initiating the Django development server without Docker

    1.7k GitHub stars~411 tokensUpdated today
    Backend & APIsAuto-check passed

More from aropan/clist

  • Add or change a CLIST Django management command, including arguments, resource selection, EventLog monitoring, or cron and Healthchecks wiring.

    439 GitHub stars~848 tokensUpdated 3 days ago
    Auto-check passed
  • Add Parser

    aropan/clist

    Add, fix, or debug a Django standings parser in src/ranking/management/modules/, including Statistic.getstandings, leaderboard scraping, and offline regression fixtures.

    439 GitHub stars~812 tokensUpdated 3 days ago
    Auto-check passed
  • Run And Verify

    aropan/clist

    Choose and run focused checks after changing CLIST Python code: Django tests, standalone pytest tests, offline parser fixtures, Ruff, or a relevant management-command check.

    439 GitHub stars~461 tokensUpdated 3 days ago
    Auto-check passed

Works with

Categories

Questions about Safe Migration

What does Safe Migration do?

Plan, create, or apply CLIST Django schema and data migrations, including model field changes, makemigrations, migrate, and RunPython operations. Safe Migration is an agent skill from aropan/clist. Plan, create, or apply CLIST Django schema and data migrations, including model field changes, makemigrations, migrate, and RunPython operations.

When should I use Safe Migration?

Safe Migration fits situations like: tasks that involve Backend development.

How do I install Safe Migration in Claude Code?

Run `npx skills add aropan/clist --skill safe-migration -a claude-code`. Or copy the skill folder (.agents/skills/safe-migration in aropan/clist) into .claude/skills/safe-migration in your project. Claude Code loads it when a task matches its description.

How do I install Safe Migration in Codex?

Run `npx skills add aropan/clist --skill safe-migration -a codex`. Or copy the skill folder (.agents/skills/safe-migration in aropan/clist) into .agents/skills/safe-migration in your project. Codex loads it when a task matches its description.

Can I use Safe Migration in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aropan/clist --skill safe-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/safe-migration, .gemini/skills/safe-migration, .github/skills/safe-migration and .opencode/skills/safe-migration in your project.

What does Safe Migration need to run?

Going by SKILL.md and its folder, Safe Migration needs the command-line tools its instructions call (docker). Our summary lists: Docker.

Does Safe Migration access the network?

SKILL.md contains no URLs. Its commands use docker, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Safe Migration safe to install?

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.

What licence does Safe Migration use?

Safe Migration is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Safe Migration use?

About 577 tokens (SKILL.md is roughly 2.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Safe Migration?

Skills that share tags, products or a category with Safe Migration: Saleor Django Schema Migration (saleor/saleor, 23k stars), Django Access Review (getsentry/skills, 1k stars), Silk Profiler (baserow/baserow, 6.1k stars) and Arch Wiki (ahmedemad3/arch-wiki, 249 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Safe Migration?

aropan (a GitHub user) maintains it in aropan/clist, which has 439 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 4, 2026.

Source: aropan/clist on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.