Translate between an external service's data model and your own, handling mismatches, nulls, and enum drift explicitly. Use when integrating a service whose model differs from yours.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add Amey-Thakur/AI-SKILLS --skill data-mapping --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Data Mapping?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/amey-thakur-data-mapping)More formats (shields.io, HTML) on the badges page.
---
name: data-mapping
description: Translate between an external service's data model and your own, handling mismatches, nulls, and enum drift explicitly. Use when integrating a service whose model differs from yours.
---
# Data mapping
Two systems rarely agree on shape, naming, or what a field means. The
mapping layer is where those disagreements are resolved, and doing it
implicitly is how wrong data enters your system quietly.
## Method
1. **Map explicitly at the boundary.** One translation layer between
their model and yours, so the rest of your code never sees their
shape (see third-party-integration).
2. **Never store their identifiers as your primary keys.** Their
identifier is a foreign reference, and coupling your keys to it makes
provider migration nearly impossible.
3. **Handle unknown enum values without failing.** Providers add values,
and a strict parser turns a routine provider change into an outage.
4. **Distinguish absent from null from empty.** These mean different
things and providers use them inconsistently, so decide the mapping
deliberately (see null-semantics).
5. **Validate on the way in.** Their data is untrusted input regardless
of the provider's reputation (see input-validation).
6. **Record the raw payload alongside the mapped result.** When a
mapping bug is found, the original is what allows reprocessing (see
change-data-capture).
7. **Version the mapping.** Provider changes mean the mapping evolves,
and knowing which version produced a record aids debugging.
## Boundaries
Mapping resolves structure, not semantics: two systems can both call
something status and mean unrelated things. Lossy mappings discard data
that a later requirement needs, which is why raw payloads are worth
keeping. Bidirectional sync multiplies the difficulty (see offline-sync).
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!