PO to GMP Migration Tool: Add gmp-migrate agent skill - #2068
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces a comprehensive guide (SKILL.md) for the gmp-migrate CLI tool, detailing migration execution, input discovery, and TODO reconciliation strategies. The review feedback highlights several improvement opportunities, including correcting minor typos, replacing fragile kubectl JSONPath query syntax with robust bracket notation, and updating the documentation to align with strict error-handling policies where unresolved named ports or malformed proxy URLs with credentials must trigger fatal errors instead of warnings or placeholders.
cc7be5e to
36a60da
Compare
ff68588 to
b4cae10
Compare
dashpole
left a comment
There was a problem hiding this comment.
It would be useful to document (or have gemini document) the steps you've taken to test this. Hosting evals in this repo might be a bit heavy-weight, but some evidence that this does what we want it to ~most of the time would be good.
Created this draft PR with all our placeholder cases against an example Kind Cluster. Had subagents run the tool 5 times per test case using the tool and had an agent audit the outputted trajectories (and tried to manually review them myself). From a first glance it looks pretty consistent |
bwplotka
left a comment
There was a problem hiding this comment.
Looks good, just a few nits
This PR introduces the
gmp-migrateagent skill (cmd/gmp-migrate/SKILL.md) to guide AI coding agents through running the migration CLI, diagnosing migration reports, and safely reconciling draft GMP manifests withgmp.googleapis.com/todo-*annotations andTODO_*placeholders.Key Highlights
--allvs default mode,Stdout/Stderrstream separation, and exit code semantics.kubectl get,describe,logs) are strictly read-only, prohibiting unapproved live cluster mutations.keep/dropannotation rules (prometheus.io/scrape), includingspec.selectorintersection queries, companion workload label patches, andmatchExpressions: NotIninverted selectors.spec.template.metadata.labels).kubectl apply.