Back to skills
SKILL.md
Palantir Migration Deep Dive
ASecurity'Execute major Palantir Foundry migration strategies including data migration, API version upgrades, and platform transitions. Use when migrating data into Foundry, upgrading between API versions, or re-platforming existing integrations. Trigger with phrases like \"migrate to palantir\", \"foundry migration\", \"palantir data migration\", \"foundry replatform\". '
- 3 stars
- 0 votes
- 0 copies
- 3 views
- Added September 12, 2026
Works with
Security analysis
100/100npx -y skills add thedixitjain/the-mega-skill-library --skill palantir-migration-deep-dive --agent claude-codeAre you the author of Palantir Migration Deep Dive?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/thedixitjain-palantir-migration-deep-dive)---
name: palantir-migration-deep-dive
description: "'Execute major Palantir Foundry migration strategies including data migration, API version upgrades, and platform transitions. Use when migrating data into Foundry, upgrading between API versions, or re-platforming existing integrations. Trigger with phrases like \"migrate to palantir\", \"foundry migration\", \"palantir data migration\", \"foundry replatform\". '"
allowed-tools: "Read, Write, Edit, Bash(pip:*), Bash(node:*)"
category: engineering-core
source_repo: jeremylongshore/claude-code-plugins-plus-skills
source_path: "skills/.curated/palantir-migration-deep-dive/SKILL.md"
source_url: https://github.com/jeremylongshore/claude-code-plugins-plus-skills/blob/HEAD/skills/.curated/palantir-migration-deep-dive/SKILL.md
---
# Palantir Migration Deep Dive
## Overview
Comprehensive guide for migrating data into Foundry, migrating from legacy systems to Foundry-backed architectures, and upgrading between Foundry API versions using the strangler fig pattern.
## Prerequisites
- Source system access and schema documentation
- Foundry enrollment with write access
- Understanding of Foundry data pipeline architecture (`palantir-reference-architecture`)
## Instructions
### Step 1: Migration Assessment
```markdown
## Migration Checklist
- [ ] Source system inventory (tables, volumes, refresh rates)
- [ ] Data classification (PII, confidential, public)
- [ ] Schema mapping: source columns → Foundry dataset columns
- [ ] Volume estimate: rows, GB, growth rate
- [ ] Dependencies: downstream consumers of source data
- [ ] Timeline: parallel run period, cutover date
```
### Step 2: Data Migration — Bulk Import
```python
import foundry, pandas as pd
client = get_foundry_client()
# Read source data (example: PostgreSQL)
df = pd.read_sql("SELECT * FROM orders WHERE year >= 2024", source_conn)
# Upload to Foundry dataset
client.datasets.Dataset.upload(
dataset_rid="ri.foundry.main.dataset.xxxxx",
branch_id="master",
file_path="orders.parquet",
data=df.to_parquet(),
content_type="application/x-parquet",
)
print(f"Uploaded {len(df)} rows to Foundry")
```
### Step 3: Incremental Sync (Ongoing)
```python
from datetime import datetime, timedelta
def incremental_sync(client, source_conn, dataset_rid, last_sync):
"""Sync only new/changed rows since last sync."""
query = f"""
SELECT * FROM orders
WHERE updated_at > '{last_sync.isoformat()}'
ORDER BY updated_at
"""
df = pd.read_sql(query, source_conn)
if df.empty:
print("No new rows to sync")
return last_sync
client.datasets.Dataset.upload(
dataset_rid=dataset_rid,
branch_id="master",
file_path=f"sync_{datetime.utcnow().strftime('%Y%m%d_%H%M%S')}.parquet",
data=df.to_parquet(),
)
print(f"Synced {len(df)} rows")
return df["updated_at"].max()
```
### Step 4: Strangler Fig Pattern for API Migration
```python
class DualWriteClient:
"""Write to both legacy and Foundry during migration period."""
def __init__(self, legacy_client, foundry_client):
self.legacy = legacy_client
self.foundry = foundry_client
self.foundry_enabled = os.environ.get("FOUNDRY_WRITES_ENABLED", "false") == "true"
def create_order(self, order_data):
# Always write to legacy (source of truth during migration)
result = self.legacy.create_order(order_data)
# Shadow write to Foundry (non-blocking)
if self.foundry_enabled:
try:
self.foundry.ontologies.Action.apply(
ontology="my-company",
action_type="createOrder",
parameters=order_data,
)
except Exception as e:
print(f"Foundry shadow write failed (non-fatal): {e}")
return result
```
### Step 5: Validation and Cutover
```python
def validate_migration(legacy_conn, foundry_client, ontology, object_type):
"""Compare row counts and checksums between source and Foundry."""
# Legacy count
legacy_count = pd.read_sql("SELECT COUNT(*) as c FROM orders", legacy_conn).iloc[0]["c"]
# Foundry count
foundry_result = foundry_client.ontologies.OntologyObject.aggregate(
ontology=ontology, object_type=object_type,
aggregation=[{"type": "count", "name": "total"}],
)
foundry_count = foundry_result.data[0].metrics["total"]
match = legacy_count == foundry_count
print(f"Legacy: {legacy_count}, Foundry: {foundry_count}, Match: {match}")
return match
```
## Output
- Migration assessment checklist completed
- Bulk data import to Foundry datasets
- Incremental sync for ongoing changes
- Dual-write pattern for safe cutover
- Validation comparing source and Foundry counts
## Error Handling
| Migration Risk | Detection | Mitigation |
|---------------|-----------|------------|
| Data loss | Row count mismatch | Run validation before cutover |
| Schema mismatch | Transform errors | Map schemas explicitly |
| Dual-write divergence | Checksum differences | Reconciliation job |
| Rollback needed | Production issues | Keep legacy running during parallel period |
## Resources
- [Foundry Data Integration](https://www.palantir.com/docs/foundry/data-integration/rest-apis/)
- [Foundry Connectors](https://www.palantir.com/docs/foundry/available-connectors/rest-apis)
## Next Steps
For SDK version upgrades, see `palantir-upgrade-migration`.
---
**Source:** [`jeremylongshore/claude-code-plugins-plus-skills`](https://github.com/jeremylongshore/claude-code-plugins-plus-skills) → `skills/.curated/palantir-migration-deep-dive/SKILL.md`
**Also appears in:** `jeremylongshore/claude-code-plugins-plus-skills/plugins/saas-packs/palantir-pack/skills/palantir-migration-deep-dive/SKILL.md`
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.