go-goose

Use this skill to plan, write, or run database migrations with the pressly/goose CLI and Go library (SQL/Go migrations, env vars, provider API, embedded migrations).

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "go-goose" with this command: npx skills add metalagman/agent-skills/metalagman-agent-skills-go-goose

go-goose

Expert guidance for using pressly/goose to create and run database migrations via the CLI or Go library.

When to trigger

  • The user mentions goose, pressly/goose, database migrations in Go, or asks how to run SQL/Go migrations.
  • The task involves embedding migrations, provider API usage, or CI workflows with goose.

Core rules

  • Follow the repository's existing migration layout, dialect, and naming conventions first.
  • Ensure the database driver and goose dialect match (e.g., postgres driver with postgres dialect).
  • Prefer SQL migrations for schema changes; use Go migrations for complex data backfills or code-driven steps.
  • Keep migrations deterministic and idempotent within goose's rules (one Up, optional Down).

Workflow

  1. Clarify context: target DB/dialect, driver, migration directory, SQL vs Go migration needs, and desired command (create/up/down/status/etc).
  2. Choose interface:
    • CLI for ad-hoc runs or CI/CD.
    • Library/Provider when migrations are executed inside Go services or tests.
  3. Author migrations:
  4. Run migrations:
  5. Versioning + ordering:
    • Use hybrid versioning during development and fix for production sequencing if required (see references/versioning.md).

Output expectations

  • Provide exact commands or code snippets that match the user's dialect and environment.
  • Warn about missing Down migrations when rollbacks are required.
  • If a migration requires special parsing or non-transactional execution, call it out explicitly.

References

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

go-senior-developer

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

github-flow

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

gitflow

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

go-uber-style-guide

No summary provided by upstream source.

Repository SourceNeeds Review