app-migration-orchestrator
Skill139 starsChanged 6 months agoApache-2.0View on GitHub
Orchestrates the Amazon Elastic Kubernetes Service (EKS) to Google Kubernetes Engine (GKE) migration for the AppDev or DevOps persona. Coordinates application-specific discovery, manifest translation, and deployment to GKE using platform and workload handoffs from the platform operator. Use when orchestrating the end-to-end application migration pipeline. Don't use for cluster-level VPC network creation or platform-wide infrastructure assessment.
- Deletes or force-pushes
In this repository45 other files it gives its agents.
- spanner-provisioningSkill
- ad-copywritingSkill
- brand-strategySkill
- platform-specsSkill
- trend-analysisSkill
- video-storytellingSkill
- visual-directionSkill
- ad-copywritingSkill
- brand-strategySkill
- platform-specsSkill
- trend-analysisSkill
- video-storytellingSkill
- visual-directionSkill
- code-reviewSkill
- documentationSkill
- idea-to-appSkill
- open-prSkill
- pre-commitSkill
- security-scanSkill
- unit-testsSkill
- modernize-dotnet-cloudrunSkill
- legacy-app-generatorSkill
- app-migration-executionSkill
- identity-translationSkill
- network-translationSkill
- observability-translationSkill
- storage-translationSkill
- workload-translationSkill
- ingress2gatewaySkill
- eks-discoverySkill
- gke-landing-zoneSkill
- identity-translationSkill
- migration-assessmentSkill
- network-translationSkill
- observability-translationSkill
- platform-orchestratorSkill
- registry-migrationSkill
- storage-translationSkill
- validationSkill
- bigframes-bqmlSkill
- model-evaluationSkill
- pipeline-generatorSkill
- spark-lightning-optimizationSkill
- unified-model-registrySkill
- zero-copy-ingestionSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 3 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 46
Do NOT trigger when:
- Very specific: line 60
Ensure you have run the localized pre-flight environment setup and validation checklist as documented in references/preflight_validation.md …
- Very specific: line 91
Before starting Phase 1 of the app migration, the orchestrator gathers the input configuration and writes the state and file paths to …
- Distinctive: line 117
Run pre-flight validation on the handoff files provided by the platform operator:
- Very specific: line 130
Verify the presence of image-map.json provided by the platform operator.
- Distinctive: line 137
Run the translation sub-skills in sequence to validate the completeness of the mapping files provided by the platform operator:
- Very specific: line 156
LLM-based Post-Processing: Read the output YAML files in the workspace-local ./translated-manifests directory and use your LLM capabilities …
≈ “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.
Files
Application migration orchestrator
<!--
Disabling markdownlint MD029 to provide explicit ordering to avoid
confusing the LLM.
--><!-- markdownlint-disable MD029 --><!--
Disabling markdownlint MD030 to allow the list overflowing to numbers
>=10.
--><!-- markdownlint-disable MD030 -->You are a DevOps engineer or developer responsible for a specific application's migration from Amazon Elastic Kubernetes Service (EKS) to Google Kubernetes Engine (GKE). You assume the necessary infrastructure in the Google Cloud environment (VPC, GKE Clusters, Workload Identity Pool) is already setup and verified.
Purpose
Take an application team from "our service is on EKS" to "our service is
deployed on GKE" by running the application migration orchestrator skill graph.
Consumes platform-handoff.json and workload-handoff.json to ensure alignment
with organizational infrastructure.
When to use this skill
Trigger on:
- "Migrate our application from EKS to GKE"
- "Translate our Helm charts and migrate the workloads to GKE"
- "Run the application migration phase for the namespace"
Do NOT trigger when:
- The platform handoff metadata (
platform-handoff.json) or workload handoff metadata (workload-handoff.json) is not available. - You need to provision GKE clusters, VPCs, subnets, or register GKE Workload
Identity Pools (refer the user to the platform engineering team or the
platform-orchestratorskill). - The task is a platform-wide EKS estate discovery or global infrastructure
assessment (refer the user to the
eks-discoveryskill).
Prerequisites
python3version 3.10 or later- Install dependencies listed in
scripts/requirements.txt - Ensure you have run the localized pre-flight environment setup and validation
checklist as documented in
references/preflight_validation.md to
initialize the virtual environment (
scripts/.venv).
Assets & References
The following schema files under assets/schemas/ define the JSON contracts
used by this skill:
platform-handoff.schema.json: Schema for validating platform infrastructure handoffs.workload-handoff.schema.json: Schema for cluster-level workload handoff specifications.workload-handoff-namespace.schema.json: Schema for namespace-level workload handoff specifications.identity-map.schema.json: Schema for ServiceAccount identity mappings.image-map.schema.json: Schema for container image repository mappings.network-map.schema.json: Schema for ingress and network policy mappings.observability-map.schema.json: Schema for metrics and observability mappings.storage-map.schema.json: Schema for StorageClass mappings.
The following reference documents under references/ provide validation and
translation guidance:
- references/api-translation.md: Annotation and API resource translation rules.
- references/preflight_validation.md: Environment initialization and preflight validation checklist.
Before starting Phase 1 of the app migration, the orchestrator gathers the input
configuration and writes the state and file paths to
00-app-migration-state.json:
- Platform Handoff
- Path to
platform-handoff.json(required). This file contains the target VPCs, Cluster Names, and Workload Identity Pool URLs. - Path to
image-map.json(required). This file contains the mapping of EKS container images to Artifact Registry target paths.
- Path to
- App Scope (Defines the input workloads and manifests to migrate):
- Migration Scope (Cluster-level vs Namespace-level).
- Namespace(s) or labels identifying the application workloads in EKS.
- Source Manifests location: either a Git repository URL/branch, or a path to raw EKS manifests/YAMLs on the local host.
- Translation Map Paths (Tracks the paths of maps generated during Phase
2):
- Path to
identity-map.json(output from identity-translation). - Path to
network-map.json(output from network-translation). - Path to
storage-map.json(output from storage-translation). - Path to
observability-map.json(output from observability-translation).
- Path to
Procedure
Step 1 — Verify Platform Readiness
- Read
platform-handoff.json. Run pre-flight validation on the handoff files provided by the platform operator:
scripts/.venv/bin/python3 scripts/validate_platform_readiness.py \ --handoff-dir "${HANDOFF_DIR}" \ --raw-manifests-dir "${RAW_MANIFESTS_DIR}"- Confirm readiness with the user.
Step 2 — Phase 1: Discover (App Scope)
- Verify the presence of
image-map.jsonprovided by the platform operator. - Perform validation checks to verify that all target Artifact Registry images
listed in
image-map.jsonexist and are accessible from the host environment.
Step 3 — Phase 2: Validate Translation Mappings
Run the translation sub-skills in sequence to validate the completeness of the mapping files provided by the platform operator:
identity-translation: Validate EKS KSA to GSA target identity mappings inidentity-map.json.network-translation: Validate AWS ALB ingress classes and domain settings innetwork-map.json.storage-translation: Validate StorageClass mappings instorage-map.json.observability-translation: Validate prometheus scraping mappings inobservability-map.json.
Step 4 — Phase 3: Workload Assembly & Dry-run
workload-translation: Ingest the generated map files (image-map.json,identity-map.json,network-map.json,storage-map.json,observability-map.json) and apply them to the raw manifests/charts located in the source directory (either the cloned repository or the path provided by the operator).LLM-based Post-Processing: Read the output YAML files in the workspace-local
./translated-manifestsdirectory and use your LLM capabilities to clean up EKS-specific properties, finalizers, and AWS annotations usingreferences/api-translation.mdas standard rules. Ensure all EKS runtime metadata (e.g.creationTimestamp,uid,resourceVersion), ECR config, AWS finalizers, and Karpenter taints are stripped or mapped to GKE target properties.[!IMPORTANT]
Always write the translated manifests to a workspace-local directory (e.g.,
./translated-manifests). Do not write output files or run cleanup commands (such asrm -rf) on paths outside the repository workspace.You MUST perform these cleanups directly on the generated YAML files using your file editing tools. Do NOT create helper scripts (such as Python or Bash scripts) to automate this cleanup.
- Wait for Post-Processing Completion: You MUST ensure that the LLM post-processing changes to the YAML manifests are fully written and saved before proceeding to the validation step.
Validate GKE Manifests: Validate the post-processed GKE manifests using the helper script:
scripts/.venv/bin/python3 scripts/validate_manifests.py --manifests-dir ./translated-manifests
Outputs / Deliverables
00-app-migration-summary.md: Summary of the migrated application, endpoints, and status.translated-manifests/: Final GKE-ready YAML.
Escalation triggers
- Identity Mismatch: The app requires a permission that the
platform-handoff.jsonexplicitly forbids or doesn't support. - Network Isolation: The app cannot reach a required legacy service in AWS VPC from the GKE Shared VPC.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

