data-identity-resolution
Portable workflow for attaching messy records to canonical entities — evidence ladder, fail-closed assignment, quarantine on strong-vs-weak conflict…
Skill by Evan-Kim2028
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/evan-kim2028-data-identity-resolution
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/data-identity-resolution
What's inside
- Skill name
data-identity-resolution- Description
- Portable workflow for attaching messy records to canonical entities — evidence ladder, fail-closed assignment, quarantine on strong-vs-weak conflict, unresolved-null accumulation as measured debt, remap/restamp that cannot undo a stronger fence, backfill of unresolved keys. Use when resolving titles, IDs, or marketplace text to an entity key, debugging growing NULL identity columns, or restamping historical links. Don't use for quality flags or outlier fences (data-semantic-quality), estimate scoring (data-product-eval), schema/publish mechanics (data-apache-lakehouse), or product-specific match thresholds (product repo). Prefer the data hub when the specialist isn't obvious.
- License
- MIT
- Instructions
- 156 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- name: "data-identity-resolution" does not match folder "identity-resolution"
- files: referenced but missing: references/rule-scoping.md
Files (3)
- SKILL.md
- attach-workflow.md · references/
- validate_skill.py · scripts/
SKILL.md (first lines)
# Data identity resolution — attach, don't guess `data-semantic-quality` owns the **rules**: trust ladder, confidence as a gate, cohort fences. This skill owns the **procedure** for linking a messy incoming record to a canonical entity key without inventing a second identity system. No product match thresholds, no catalog taxonomies. Those stay in the product repo. ## When to invoke - Parsing free text / third-party ids onto a canonical entity key. - NULL or unresolved identity keys growing day over day. - Remapping / restamping historical links after a resolver change. - Strong structured evidence disagrees with a weak title/heuristic. ## Don't use | Task | Go here instead | |---|---| | Quality flags, outliers, golden *entity* packs | **data-semantic-quality** | | Scoring published estimates vs later facts | **data-product-eval** | | Schema, watermarks, publish/OCC | **data-apache-lakehouse** / **data** hub | | Serving honors stored keys; does not re-resolve | **data-api** | | “Should this table exist?” | **data-table-lifecycle** | | Concrete matcher constants / synonym lists | **product-repo skill** | ## Non-negotiables 1. **No domain product nouns or concrete match thresholds** in advice from this skill. 2. **Ladder rules live in `data-semantic-quality`.** Do not fork a second ladder here. 3. **Unresolved is a first-class state**, not a blank to be filled by the next weak hint. 4. **Collision / twin is a first-class state**, not another matcher branch. 5. **Remap cannot undo a stronger fence.** Restamp is ordered and is not the incremental timer. 6. **Low confidence never enters identity-assuming aggregates.** ## Principles Each has a falsifiable **Test:**. Ladder mechanics live in **data-semantic-quality** (trust ladder + confidence gates). Workflow detail: [`references/attach-workflow.md`](references/attach-workflow.md). ### 1. Evidence before assignment Collect ordered evidence (strong structured → catalog default → weak text) *then* decide assign / quarantine / leave unresolved. Do not assign inside the first matching `if`. **Test:** invent a row where weak text and a strong structured field disagree. Does the weak path still win if you reorder branches? ### 2. Fail closed Below the product’s confidence threshold the key stays null/unresolved and the row is excluded from identity-assuming rollups. “Average it in at a discount” is not fail-closed. **Test:** can a below-threshold row appear in the primary aggregate without an explicit override flag? ### 3. Conflict quarantines Strong-vs-weak mismatch is a quarantine (or a conflict label), not a coin flip. Record which evidence class produced the decision. **Test:** is there a durable conflict/quarantine state a later job can count, or does the row silently pick a side? ### 4. Collision is a state, not a second pass of identify() Two assigned keys for one physical event (or one key stamped on two events that must stay distinct) is **collision**. Persist it. Count it. An ordered restamp may pick a survivor; the incremental matcher must not "fold" the twin away to make the rollup look unique. **Test:** inject a duplicate physical event with two structured ids. Does a collision row (or pair) survive publish, or does the next identify() pick a winner with no audit? ### 5. Unresolved accumulation is a metric NULL / unresolved keys are measured debt: count per source per day, with a rate (unresolved / landed). A resolver that “works” while the null pile grows is losing. **Test:** can you plot unresolved-landed per source for the last N days from published tables, without reading code? If the rate is up and no one is paging, the metric is missing. ### 6. Remap is ordered and one-way through stronger fences A restamp / re-resolve pass applies weaker evidence only where stronger evidence is absent. It must not clear a strong assignment or a quarantine to please a new heuristic. **Test:** run restamp on a fixture that has a strong key *and* a tempting weak hint the other way. Does the strong key survive? Restamp is a **separate resumable lane** from incremental attach (principle 7). It does not ride the hourly identify timer. Residual rows after a restamp are a keyset for the next catchup start, not a reason to widen the incremental window to lifetime. ### 7. Backfill is a bounded, resumable lane Unresolved backfill is not the incremental attach path. It has its own watermark or keyset, chunk size, and idempotent write. Hub principle 2 (watermark, not full recompute) applies — a crash must not restart the whole historical pile. **Test:** kill a backfill at 40%. Does retry resume, or re-scan from record one and rewrite already-good keys? ### 8. One writer for the link The attach job (or documented reconcile) is the only writer of the canonical key + confidence + evidence class. APIs, UIs, and rollups consume. A serving path that “fixes” identity at request time is a second resolver. **Test:** change the attach threshold in one place. Do all consumers move on the next publish, or does one surface still re-parse text? ### 9. Coverage audit names identity rate When someone asks “how much data do we have,” unresolved rate is part of the answer — row count alone lies. The **data** hub coverage-audit playbook includes this slice; this skill defines what “resolved” means (key present *and* above gate). **Test:** a source with 1M rows and 85% null keys — does the audit report “1M rows” or “150k resolved”? ## Workflow: attach or remap
From Evan-Kim2028/agent-skills, MIT.
More from Evan-Kim2028/agent-skills
- 0.552score
ebay-listing
Evan-Kim2028
List Pokémon TCG singles on the ekcope-46 eBay store via lake-of-rage ebay-sell (Trading AddFixedPriceItem).
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
data
Evan-Kim2028
Hub for data-engineering pipeline work — storage/ingest/serve choice plus shared discipline (idempotency, incremental-not-full-recompute, schema fencing…
SkillBFreshness: B★ 1Claude Code +9 - 0.548score
data-product-eval
Evan-Kim2028
Portable methodology for evaluating published estimates, marks, or forecasts against later realized outcomes — frozen snapshots, walk-forward fit vs forecast…
SkillBFreshness: B★ 1Claude Code +9 - 0.548score
data-api
Evan-Kim2028
Use when consuming HTTP APIs for ingestion (rate limits, backoff, pagination, auth, schema fencing) or serving gold over HTTP (FastAPI + DuckDB, pushdown…
SkillBFreshness: B★ 1Claude Code +9 - 0.548score
data-semantic-quality
Evan-Kim2028
Portable methodology for semantic (row-truth) data quality — write-time quality attributes, trust ladders, cohort fences, golden entity packs with dual error…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
data-reels
Evan-Kim2028
Principles for high-retention short-form data video (Instagram Reels, TikTok, Shorts) built from measured competitor research on data-viz and stats accounts.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
data-apache-lakehouse
Evan-Kim2028
Use when designing, modifying, or debugging Apache Iceberg lakehouses (bronze/silver/gold medallion specifically on Iceberg) — PyIceberg +…
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
data-pipeline-operations
Evan-Kim2028
Use when running multiple data pipelines on one host: memory admission, systemd MemoryMax, OOM that only appears under coexistence, capacity ratchets…
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
data-pokemon-tcg-foundations
Evan-Kim2028
Use when working with a trading-card sales tape — any sale-level dataset of collectible card transactions across multiple venues (Pokémon TCG, sports cards…
SkillBFreshness: B★ 1Claude Code +9 - 0.502score
browser-verify
Evan-Kim2028
Prove UI in a real browser — Playwright e2e, visual snapshots, axe, and/or Chrome DevTools MCP (live DOM, console, network, performance).
SkillCFreshness: C★ 1Claude Code +9 - 0.502score
flutter-pro-ux-review
Evan-Kim2028
Production Flutter UX audit: ranked polish findings (dead taps, null text, a11y, keyboard, haptics, layout shift, async/offline honesty, motion, empty states…
SkillCFreshness: C★ 1Claude Code +9 - 0.502score
mobile-app-echarts-visual
Evan-Kim2028
Mobile-readable **product ECharts** (card price/volume, portfolio history, set charts) without desktop regressions — grid gutters, axisLabel floors, legend…
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 29, 2026 (2 months ago)
- Last release
- Jun 22, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Evan-Kim2028/agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Evan-Kim2028
- 0.552score
data
Evan-Kim2028
Hub for data-engineering pipeline work — storage/ingest/serve choice plus shared discipline (idempotency, incremental-not-full-recompute, schema fencing…
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
ebay-listing
Evan-Kim2028
List Pokémon TCG singles on the ekcope-46 eBay store via lake-of-rage ebay-sell (Trading AddFixedPriceItem).
SkillBFreshness: B★ 1Claude Code +9 - 0.548score
data-semantic-quality
Evan-Kim2028
Portable methodology for semantic (row-truth) data quality — write-time quality attributes, trust ladders, cohort fences, golden entity packs with dual error…
SkillBFreshness: B★ 1Claude Code +9 - 0.548score
data-product-eval
Evan-Kim2028
Portable methodology for evaluating published estimates, marks, or forecasts against later realized outcomes — frozen snapshots, walk-forward fit vs forecast…
SkillBFreshness: B★ 1Claude Code +9 - 0.548score
data-api
Evan-Kim2028
Use when consuming HTTP APIs for ingestion (rate limits, backoff, pagination, auth, schema fencing) or serving gold over HTTP (FastAPI + DuckDB, pushdown…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
data-reels
Evan-Kim2028
Principles for high-retention short-form data video (Instagram Reels, TikTok, Shorts) built from measured competitor research on data-viz and stats accounts.
SkillBFreshness: B★ 1Claude Code +9
Cite this page
data-identity-resolution skill. Agent Mart. https://agentmart.dev/skills/evan-kim2028-data-identity-resolution (last updated 2026-10-24)