What problem does it solve?
This Skill fixes breaking behavioral and structural differences that appear when upgrading older Forge projects (pre-1.5) whose generated mock/middleware/tracing/metrics code used an inline-everything shape instead of the contractkit shim-based shape.
Core Features & Use Cases
- Detect the generated-code shape: Identify whether your internal generated files still follow the old pre-contractkit structure.
- Perform deterministic regeneration: Regenerate all generated
_gen.go outputs in place so forge upgrade aligns signatures and recording behavior to forge/pkg/contractkit.
- Handle the manual edge cases: Update any rare user code that depended on moved helper symbols or old wrapper internals.
- Verify safely before committing: Run build, tests, and lint to ensure the migration preserved behavioral fingerprints like span naming, metric naming, slog attribute keys, and mock not-set error strings.
Quick Start
Run forge upgrade to a 1.5+ release so it regenerates mocks and related generated code into the contractkit shape, then confirm with go test ./... and forge lint.