What problem does it solve? Large Go codebases accumulate monolithic packages with dozens of files that are hard to navigate, test, and maintain. This Skill guides an AI through a safe, incremental refactoring that splits a monolithic package into domain-aligned sub-packages without ever breaking the build or test suite. ## Core Features & Use Cases - Atomic migration batches: Moves one domain at a time into its own sub-package, verifying go build and go test after every batch so the project never enters a broken state. - Shared utilities extraction: Pulls common helpers (errors, pagination, logging, markdown formatting) into a dedicated utilities package with temporary forwarding stubs to avoid breaking unmigrated code. - Symbol renaming and catalog wiring: Renames types and handlers to drop redundant domain prefixes, creates action_specs.go files, and wires each domain into the catalog aggregation path. - Use Case: Given a 100-file internal/tools package in a GitLab MCP server, extract the branches, commits, and issues domains into their own sub-packages while keeping every intermediate commit green. ## Quick Start Ask the AI to modularize the internal/tools package by extracting the branches, commits, and issues domains into sub-packages using this skill.