storage-translation
Skill139 starsChanged 6 months agoApache-2.0View on GitHub
Translates Amazon Elastic Kubernetes Service (EKS) PersistentVolumeClaim (PVC) and StorageClass specifications into Google Kubernetes Engine (GKE) compatible PersistentVolume (PV) / PersistentVolumeClaim (PVC) resources and GKE StorageClasses. Use when remapping block-level GP2/GP3 to Persistent Disks and EFS to GKE Filestore. Don't use for cluster-level infrastructure provisioning or Workload Identity mapping.
- Installs packages
1 other project uses a version of this.
Adopted by
Most recently taken up by
- geoffsdesk/portagetheir own version, first seen May 8, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- geoffsdesk/portage★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
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
- app-migration-orchestratorSkill
- identity-translationSkill
- network-translationSkill
- observability-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, 0 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 88
Verify that every PersistentVolumeClaim (PVC) referenced by active workloads in the handoff has a target StorageClass mapping entry in …
- Very specific: line 104
When the migration requires deploying custom GKE StorageClass resources (e.g.
- Very specific: line 112
Update provisioner and the parameter type accordingly.
- Very specific: line 120
Look up the PVC's current storageClassName in storage-map.json and remap it to the GKE target StorageClass name.
- Very specific: line 122
If storageClassName is omitted or empty on a PVC, treat it as using the cluster's default StorageClass.
- Very specific: line 132
Check dynamic PVC storage requests against GKE driver thresholds detailed in references/storage_class_mapping.md (e.g.
- Very specific: line 140
Add volumeBindingMode: WaitForFirstConsumer to custom StorageClasses if generated.
≈ “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
Storage translation
<!--
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 -->Purpose
Automate the mapping and translation of Amazon Elastic Kubernetes Service (EKS) StorageClass specifications to Google Kubernetes Engine (GKE), adapting standard block storage to Persistent Disk classes and ReadWriteMany (RWX) file storage (EFS) to GKE Filestore.
[!IMPORTANT]
This skill ONLY translates Kubernetes resource configurations and manifest specs. It DOES NOT copy, sync, or migrate underlying data stored on physical disks or volumes. Data migration (e.g. via VolSync, AWS DataSync, or snapshot transfer) must be performed out-of-band prior to or during cluster cutover. Inform the user of this requirement when invoking this skill.
When to use this skill
Trigger on:
- "Translate EKS StorageClasses to GKE StorageClasses"
- "Map EKS PVCs to standard-rwo or filestore-rwx"
- "Generate GKE-compatible PersistentVolumeClaims"
Prerequisites
python3version 3.10 or later- Install dependencies listed in
scripts/requirements.txt:pip install --require-hashes -r scripts/requirements.txt - Path to handoff directory containing
workload-handoff.json(orworkload-handoff-namespace.json) andstorage-map.json - Path to directory containing raw EKS manifests (
--raw-manifests-dir)
Assets & references
The following schema files under assets/schemas/ define the JSON contracts
used by this skill:
storage-map.schema.json: Schema for validating StorageClass mappings.workload-handoff.schema.json: Schema for cluster-level workload handoff specifications.workload-handoff-namespace.schema.json: Schema for namespace-level workload handoff specifications.
The following reference documents under references/ provide translation
guidance:
- references/storage_class_mapping.md: Mappings between AWS StorageClasses and GCP StorageClasses.
- references/provisioner_mappings.md: Provisioner mappings between AWS CSI drivers and GKE CSI drivers.
- references/pvc_migration_strategies.md: Migration strategies for persistent volume data.
The following dependency files under scripts/ are used by this skill:
scripts/requirements.in: Input dependencies for python validation scripts.scripts/requirements.txt: Hashed dependency lockfile for python validation scripts.
Procedure
Step 1 — Validate storage mapping completeness
Verify that every PersistentVolumeClaim (PVC) referenced by active workloads in
the handoff has a target StorageClass mapping entry in storage-map.json:
python3 scripts/validate_storage_map.py \
--handoff-dir "${HANDOFF_DIR:-.}" \
--raw-manifests-dir "${RAW_MANIFESTS_DIR:-./raw-manifests}"Step 2 — Translate storage resources
While automated tools update PVC storageClassName properties using
storage-map.json, custom cluster-level StorageClass manifests must be
translated manually when custom storage configurations are required on GKE:
- Translate Custom StorageClass Manifests (Cluster-Level Infrastructure):
- When the migration requires deploying custom GKE
StorageClassresources (e.g. for specialized IOPS, performance tiers, or Filestore configurations), locate the source AWSStorageClassmanifests. - Refer to
references/provisioner_mappings.md
to map the AWS storage provisioner (e.g.
kubernetes.io/aws-ebsorebs.csi.aws.com) to the corresponding GKE CSI driver (e.g.pd.csi.storage.gke.ioorfilestore.csi.storage.gke.io). - Update
provisionerand the parametertypeaccordingly. - Plan the persistent data replication/synchronization strategy using the options in references/pvc_migration_strategies.md.
- When the migration requires deploying custom GKE
- Translate PersistentVolumeClaims (PVCs):
- Identify any
PersistentVolumeClaim(PVC) resource. - Strip EKS/AWS-specific annotations (e.g.
volume.beta.kubernetes.io/storage-provisioner). - Look up the PVC's current
storageClassNameinstorage-map.jsonand remap it to the GKE target StorageClass name. - If
storageClassNameis omitted or empty on a PVC, treat it as using the cluster's default StorageClass. Remap omitted or empty StorageClasses to GKE's defaultstandard-rwounless specified otherwise instorage-map.json.
- Identify any
- GKE Autopilot and Storage Constraint Validation:
- Consult the GKE volume constraints and minimum sizes section in references/storage_class_mapping.md and references/pvc_migration_strategies.md to verify target GKE storage constraints.
- Check dynamic PVC storage requests against GKE driver thresholds detailed
in
references/storage_class_mapping.md(e.g. Filestore requires at least 1TiB for Basic HDD/SSD, while PD-standard/SSD requires at least 1GiB; see official Google Cloud Persistent Disk CSI and Filestore CSI documentation). - Add
volumeBindingMode: WaitForFirstConsumerto custom StorageClasses if generated.
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.

