Skip to content
Back to skills

Data Mapping

ASecurity

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.

  • 7 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 5, 2026
ai-agentsrustdebugging

Security analysis

A100/100

Scanned September 5, 2026

npx -y skills add Amey-Thakur/AI-SKILLS --skill data-mapping --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Data Mapping?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Data Mapping
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/amey-thakur-data-mapping/badge)](https://www.skillsdirectory.com/skills/amey-thakur-data-mapping)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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).

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…