agentleFS
dmzoneilldmzoneill/skills/data-migration-verify/SKILL.md

data-migration-verify

Skill2 starsChanged 19 days agoApache-2.0View on GitHub

Verify database migration correctness across PostgreSQL, MySQL, and SQLite. Compare source/target schemas, table structures, row counts. Use when validating migrations or data integrity.

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Verify database migration correctness.

    line 8

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Data Migration Verify

Verify database migration correctness. Supports PostgreSQL, MySQL, SQLite.

Inputs

InputTypeDefaultPurpose
db_typestringrequiredpostgres, mysql, or sqlite
source_dbstringrequiredSource connection string or path
target_dbstringrequiredTarget connection string or path
tablesstring""Comma-separated tables (all if empty)
migration_namestring""Migration being verified

Workflow

1. Load Persona

  • persona_load("developer")

2. Check Known Issues

  • check_known_issues("psql", "")
  • check_known_issues("mysql", "")
  • check_known_issues("sqlite", "")

3. PostgreSQL (if db_type == postgres)

  • psql_schemas(connection="{{ source_db }}")
  • psql_tables(connection="{{ source_db }}")
  • psql_tables(connection="{{ target_db }}")
  • psql_describe(connection="{{ source_db }}", table="{{ first_table }}") — if tables
  • psql_size(connection="{{ source_db }}")
  • psql_query(connection="{{ source_db }}", query="SELECT COUNT(*) FROM {{ first_table }}") — if tables
  • psql_query(connection="{{ target_db }}", query="SELECT COUNT(*) FROM {{ first_table }}") — if tables

4. MySQL (if db_type == mysql)

  • mysql_tables(connection="{{ source_db }}")
  • mysql_tables(connection="{{ target_db }}")
  • mysql_describe(connection="{{ source_db }}", table="{{ first_table }}") — if tables
  • mysql_show_create_table(connection="{{ source_db }}", table="{{ first_table }}") — if tables
  • mysql_query(connection="{{ source_db }}", query="SELECT COUNT(*) FROM {{ first_table }}") — if tables
  • mysql_query(connection="{{ target_db }}", query="SELECT COUNT(*) FROM {{ first_table }}") — if tables

5. SQLite (if db_type == sqlite)

  • sqlite_tables(database="{{ source_db }}")
  • sqlite_tables(database="{{ target_db }}")
  • sqlite_schema(database="{{ source_db }}")
  • sqlite_describe(database="{{ source_db }}", table="{{ first_table }}") — if tables
  • sqlite_query(database="{{ source_db }}", query="SELECT COUNT(*) FROM {{ first_table }}") — if tables
  • sqlite_query(database="{{ target_db }}", query="SELECT COUNT(*) FROM {{ first_table }}") — if tables

6. Podman (optional)

  • podman_exec(container="{{ source_db }}", command="echo 'database container accessible'") — if source is container

7. Failure Learning

  • "connection refused" → learn_tool_fix("{{ db_type }}", "connection refused", "Database server not running", "Start DB or podman start <container>")
  • "does not exist" → target DB not created

8. Memory

  • memory_session_log("Data migration verify", "db_type={{ db_type }}, migration={{ migration_name }}")

Error Recovery

ErrorAction
"connection refused"Start database server, check connection params
"database does not exist"Create target database before migration

Output

Report: schemas, source/target tables, table descriptions, row counts, database size (Postgres), CREATE TABLE (MySQL), known issues. Compare source vs target for schema/row count mismatches.

Chains To

  • workflow_health_check

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.