joeseesun/qiaomu-english-learn · Archived

migration-scripts

Use when writing or reviewing database/config migration scripts or migration registries. Enforces frozen-snapshot migrations, safe registration, and lean import boundaries.

First seen Aug 12, 2026

Installation

$ npx skills add joeseesun/qiaomu-english-learn --skill migration-scripts

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from joeseesun/qiaomu-english-learn.

npx skills add joeseesun/qiaomu-english-learn

Browse all from joeseesun/qiaomu-english-learn

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 8
License LICENSE
Default branch codex/qiaomu-english-learn
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.1.0
More metadata
author
read-frog
version
1.1.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,080 B
  • docs SUMMARY.md 197 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Migration Scripts

Rule: Migrations Are Frozen Snapshots

Migration scripts must NEVER import or reference:

  • Constants, helpers, or utilities from the main codebase
  • Shared types (use any for migration input/output)
  • Factory functions like createXxx()

Why: The codebase evolves. A migration written today references code that may change tomorrow. When that constant changes, the migration silently breaks — it now migrates to the new shape, not the shape that existed when the migration was written.

Rule: Migration Registries Must Validate the Chain

In this repo, config migration registries should auto-discover migration files from src/utils/config/migration-scripts/v-to-v.ts (for example via import.meta.glob), and the registry must:

  • Parse both fromVersion and toVersion from the filename
  • Reject invalid steps like v001-to-v003
  • Reject duplicate target versions
  • Reject discontinuous chains

Do not silently map only the target version and assume filenames are correct.

Rule: Keep Migration Imports Off Hot Paths

Do not let generic config read helpers or content-script paths import migration registries unless they really perform migration.

Prefer to isolate migration-aware reads/writes into dedicated modules for import/sync/restore flows, so normal runtime paths do not bundle all migration scripts unnecessarily.

Checklist

  • All values are hardcoded inline (no imports from src/)
  • Input and output typed as any
  • No calls to factory functions or helpers
  • Default values are literal objects, not references to constants
  • Migration is idempotent (safe to re-run)
  • Auto-discovered registries validate from -> to continuity and duplicate targets
  • Migration-aware storage logic is isolated from generic read paths