Agent skill

Migration

by gocronx-team in gocronx-team/gocron

Create, review, or verify gocron database migrations across SQLite, MySQL, and PostgreSQL.

MITAuto-check passedDatabases

Install Migration

skills CLI
$ npx skills add gocronx-team/gocron --skill migration -a claude-code

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

GitHub CLI
$ gh skill install gocronx-team/gocron 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/gocronx-team/gocron.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/migration .claude/skills/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
migration
GitHub stars
808
Token cost
~1.1k tokens
SKILL.md length
520 words
Files
3 (incl. scripts)
Skills in repo
8
Repo updated
First seen
Licence
MIT

At a glance

Create, review, or verify gocron database migrations across SQLite, MySQL, and PostgreSQL.

  • Works in 7 steps: Add a new unique id to versionIds in… → Add the matching migration.upgradeForNNN… → Implement upgradeForNNN with the… → …
  • Changing GORM models
  • SKILL.md covers Compatibility invariants, Performance invariants, Establish the change and Implement atomically, plus 1 more section
  • Runs Python scripts from its folder; calls python3 and go

What it does

Migration is an agent skill from gocronx-team/gocron. Create, review, or verify gocron database migrations across SQLite, MySQL, and PostgreSQL. Use when adding or changing GORM models, columns, indexes, constraints, persisted settings, migration version ids, Install tables, upgradeForNNN functions, or migration tests.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `agents/openai.yaml` and `scripts/check_migration.py`).

It sits in Databases, covering Database migrations. It works with SQLite, MySQL and PostgreSQL. The repository describes itself as: distributed scheduled task management system. The licence is MIT.

When your agent uses it

  • Changing GORM models
  • Persisted settings
  • Migration version ids
  • UpgradeForNNN functions

Example prompts

  • “/migration”

Requirements

  • Python 3

Workflow steps

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

  1. Add a new unique id to versionIds in chronological release order.
  2. Add the matching migration.upgradeForNNN entry at the same index.
  3. Implement upgradeForNNN with the transaction passed to it; return every
  4. Add new install-time models to the Install table slice. Do not add an
  5. Make the upgrade idempotent where practical. Guard data rewrites that would
  6. Avoid database-specific SQL. When unavoidable, branch on the GORM dialect
  7. Add a focused migration test that builds the N-1 pre-upgrade schema (and

What it can do on your machine

Read from SKILL.md and the folder at commit e76e9da. 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

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • go

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

  • Network

    No URLs in SKILL.md.

    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

Migration loads about 1.1k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 520 words of instructions outside code blocks.

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

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); the scripts in this folder are not scanned.

SKILL.md

The full file from gocronx-team/gocron at commit e76e9da, republished under its MIT licence (© gocronx-team). 520 words, ~1,054 tokens.

Download SKILL.mdSave it as .claude/skills/migration/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
migration
description
Create, review, or verify gocron database migrations across SQLite, MySQL, and PostgreSQL. Use when adding or changing GORM models, columns, indexes, constraints, persisted settings, migration version ids, Install tables, upgradeForNNN functions, or migration tests.

Migrate gocron data

Treat migrations as compatibility code. Preserve existing installations and all three supported databases; do not optimize only for a fresh SQLite database.

Compatibility invariants

  • Upgrade existing installations in place; never require recreating the database or discarding tasks, configuration, users, or logs.
  • Validate from an N-1 schema/data fixture and every older schema directly affected by the change. A fresh database alone is not evidence.
  • Prefer additive, idempotent changes and compatible defaults on SQLite, MySQL, and PostgreSQL. Do not drop or reinterpret persisted data in a minor or patch release.
  • Do not advance the migration version until all work succeeds. A failed migration must remain diagnosable and safely retryable.
  • Document downgrade safety and backup/recovery steps. If downgrade can lose or corrupt data, stop and obtain explicit approval before implementation.

Performance invariants

  • Test against a representative populated database, not only a tiny fixture. Record row counts and migration duration for performance-sensitive changes.
  • For populated-table changes, assess full scans, lock/transaction duration, temporary disk, and write amplification on SQLite, MySQL, and PostgreSQL.
  • On SQLite, keep write transactions short and avoid per-row commits. Use safe bounded batches for large backfills and test busy/lock behavior with readers.
  • Add indexes only for demonstrated query patterns; inspect the query plan and account for index build time, disk growth, and write overhead.
  • Prefer resumable/idempotent batches when a single transaction could block startup or exceed reasonable memory or disk. State the interruption behavior.

Establish the change

  • Inspect cmd/gocron/gocron.go, internal/models/migration.go, the affected models, and nearby migration tests before editing.
  • Determine whether the change affects an existing table, creates a new table, or transforms existing data. Do not create an empty migration for a release with no schema or data change.
  • Derive the migration id from the target AppVersion using the repository's established conversion. Never reuse an id. If the release version is not known and a new id is required, stop and ask for it.
Show full SKILL.md (204 more words)Show less

Implement atomically

For a new persisted model or schema change:

  1. Add a new unique id to versionIds in chronological release order.
  2. Add the matching migration.upgradeForNNN entry at the same index.
  3. Implement upgradeForNNN with the transaction passed to it; return every error instead of logging and continuing.
  4. Add new install-time models to the Install table slice. Do not add an existing-table column there as a substitute for an upgrade.
  5. Make the upgrade idempotent where practical. Guard data rewrites that would corrupt values on a second run.
  6. Avoid database-specific SQL. When unavoidable, branch on the GORM dialect and implement SQLite, MySQL, and PostgreSQL behavior explicitly.
  7. Add a focused migration test that builds the N-1 pre-upgrade schema (and older affected schemas), runs the upgrade, proves existing rows and values survive, and exercises a second run when idempotency is expected.

Do not rely only on GORM AutoMigrate when data must be renamed, remapped, backfilled, deduplicated, or constrained.

Verify

Run:

bash
python3 .agents/skills/migration/scripts/check_migration.py
go test -race ./internal/models/...
go test -race ./cmd/gocron/...

If a specific migration was added, pass its id to the structural checker:

bash
python3 .agents/skills/migration/scripts/check_migration.py 191

Then invoke $verify before committing. Report the migration id, affected tables, upgrade path, downgrade/backup implications, database-specific risks, exact tests run, and performance evidence when the change has material risk.

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

Files

SKILL.md and 2 other files (scripts) in .agents/skills/migration of gocronx-team/gocron.

  • SKILL.md
  • agents/openai.yaml
  • scripts/check_migration.py

Open the folder on GitHubat commit e76e9da

Compare with similar skills

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.

Migration compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Migration this skillgocronx-team/gocron808—~1.1kAutomated safety check: PassMIT
Database MarchatCod-e-Codes/marchat137—~985Automated safety check: PassMIT
Database Schema DesignerOneWave-AI/claude-skills328—~1.6kAutomated safety check: PassMIT
SQL Database Support for pRESTprest/prest4.6k—~1.6kAutomated safety check: PassMIT
Better Drizzlealmeidazs/better-drizzle348—~1.7kAutomated safety check: PassApache-2.0
Prisma Database Setupcurvenote/curvenote1703 repos~1.4kAutomated safety check: PassMIT

Similar skills

  • Database Marchat

    Cod-e-Codes/marchat

    Changes marchat SQL schema and queries across SQLite, PostgreSQL, and MySQL using dialect helpers.

    137 GitHub stars~985 tokensUpdated 6 days ago
    DatabasesAuto-check passed
  • Database Schema Designer

    OneWave-AI/claude-skills

    Designs relational and document database schemas from requirements or an existing app - tables and collections, keys, relationships, constraints, indexes driven by real query patterns, ERDs, and…

    328 GitHub stars~1.6k tokensUpdated 6 days ago
    DatabasesAuto-check passed
  • Guides classifying, gap-analyzing and scaffolding support for a new SQL database in pREST, from Postgres-compatible variants to entirely new dialects.

    4.6k GitHub stars~1.6k tokensUpdated today
    DatabasesAuto-check passed
  • Better Drizzle

    almeidazs/better-drizzle

    Write, review, and debug code that uses better-drizzle, the typed repository layer over Drizzle ORM 1.x (better(db), client.users.findMany, paginate, cursor, upsertMany, relation include/connect…

    348 GitHub stars~1.7k tokensUpdated today
    DatabasesAuto-check passed
  • Prisma Database Setup

    curvenote/curvenote

    Guides for configuring Prisma with different database providers (PostgreSQL, MySQL, SQLite, MongoDB, etc.).

    170 GitHub starsUsed in 3 repos~1.4k tokens
    DatabasesAuto-check passed
  • Squix

    eduardofuncao/squix

    Run SQL queries across databases (Postgres, MySQL, SQLite, etc.) via the squix CLI.

    273 GitHub stars~784 tokensUpdated 16 days ago
    DatabasesAuto-check passed

More from gocronx-team/gocron

All 8 skills in this repo
  • Security Check

    gocronx-team/gocron

    Audit or harden gocron security across Go, pnpm workspaces, containers, authentication, authorization, secrets, command execution, SSRF, and dependency vulnerabilities.

    808 GitHub stars~690 tokensUpdated 6 days ago
    Auto-check passed
  • Dependency Update

    gocronx-team/gocron

    Review, apply, verify, or merge gocron dependency updates from Dependabot or manual requests.

    808 GitHub stars~891 tokensUpdated 6 days ago
    Auto-check passed
  • Scheduler Change

    gocronx-team/gocron

    Safely implement, diagnose, or review changes to gocron scheduling and task execution.

    808 GitHub stars~1.1k tokensUpdated 6 days ago
    Auto-check passed
  • API Feature

    gocronx-team/gocron

    Implement or review an end-to-end gocron HTTP API change. An agent skill from gocronx-team/gocron.

    808 GitHub stars~1.2k tokensUpdated 6 days ago
    Auto-check passed
  • Release

    gocronx-team/gocron

    Prepare or publish a safe gocron release by choosing a SemVer bump, updating AppVersion and migrations, invoking the complete verification gate, committing, checking CI, and creating an annotated tag.

    808 GitHub stars~1.1k tokensUpdated 6 days ago
    Auto-check passed
  • Release

    gocronx-team/gocron

    Cut a gocron release — bump AppVersion, align the migration version id, run the full CI check locally, and tag only when everything is green.

    808 GitHub stars~586 tokensUpdated 6 days ago
    Auto-check passed

Categories

Questions about Migration

What does Migration do?

Create, review, or verify gocron database migrations across SQLite, MySQL, and PostgreSQL. Migration is an agent skill from gocronx-team/gocron. Create, review, or verify gocron database migrations across SQLite, MySQL, and PostgreSQL.

When should I use Migration?

Migration fits situations like: changing GORM models; persisted settings; migration version ids; upgradeForNNN functions.

How do I install Migration in Claude Code?

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

How do I install Migration in Codex?

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

Can I use 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 gocronx-team/gocron --skill 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/migration, .gemini/skills/migration, .github/skills/migration and .opencode/skills/migration in your project.

What does Migration need to run?

Going by SKILL.md and its folder, Migration needs Python for the scripts in its folder and the command-line tools its instructions call (python3 and go). Our summary lists: Python 3.

Does Migration access the network?

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.

Is 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Migration use?

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

How many tokens does Migration use?

About 1.1k tokens (SKILL.md is roughly 4.2k 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 Migration?

Skills that share tags, products or a category with Migration: Database Marchat (Cod-e-Codes/marchat, 137 stars), Database Schema Designer (OneWave-AI/claude-skills, 328 stars), SQL Database Support for pREST (prest/prest, 4.6k stars) and Better Drizzle (almeidazs/better-drizzle, 348 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Migration?

gocronx-team (a GitHub organization) maintains it in gocronx-team/gocron, which has 808 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 2, 2026.

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