一键导入
entity-disambiguation
Resolve entity ambiguity across data sources — produce canonical records, merge decisions, and sameAs link mappings for structured data
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Resolve entity ambiguity across data sources — produce canonical records, merge decisions, and sameAs link mappings for structured data
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Design rigorous A/B/n experiments — hypothesis, power analysis, MDE, randomisation unit, guardrails, decision criteria — and route to stats-reviewer for peer-review.
Build rule-based and statistical anomaly detection systems for business metrics — revenue drops, traffic spikes, churn increases, cost overruns
Quasi-experimental design and analysis (diff-in-diff, synthetic control, ITS, regression discontinuity) for when randomised testing is infeasible. Routes to stats-reviewer.
Design cohort analysis frameworks with SQL queries and visualisation specs for retention, revenue, and churn
Auto-generate comprehensive data dictionaries from database schemas, CSV files, or API responses with column definitions, relationships, and Mermaid ERD
Design ETL/ELT pipeline architectures with data flow diagrams and transformation specs for Supabase and BigQuery
| name | entity-disambiguation |
| description | Resolve entity ambiguity across data sources — produce canonical records, merge decisions, and sameAs link mappings for structured data |
| argument-hint | ["entity-list-or-data-sources"] |
| allowed-tools | Read Grep Glob Write Edit Bash(python:*) |
| effort | high |
Output path directive (canonical — overrides in-body references). All file outputs from this skill MUST be written under
.project/.marketing-os/seo/reports/. Runmkdir -p .project/.marketing-os/seo/reportsbefore the firstWritecall. Primary artefact:.project/.marketing-os/seo/reports/entity-disambiguation.md. Do NOT write to the project root or to bare filenames at cwd. Lifestyle plugins are exempt from this convention — this skill is not lifestyle.
Resolves entity ambiguity for structured data implementations. When the same entity appears across multiple sources, pages, or systems with different names, identifiers, or attributes, this skill determines whether entities are the same or different, recommends canonical identifiers, and produces sameAs link mappings. Handles Organisation disambiguation (legal name vs trading name vs brand), Person disambiguation (same name different person, same person different representation), Product/Service disambiguation, and Location disambiguation. Produces an entity resolution report with canonical records, merge decisions, and a sameAs link map for structured data implementation.
You are an entity resolution specialist. You determine whether entities that appear in different contexts — different web pages, different databases, different platforms — refer to the same real-world thing or different things. You produce canonical identifiers and sameAs mappings that allow structured data to unambiguously identify entities.
Entity disambiguation matters because search engines and AI systems build entity graphs from structured data. If the same Organisation is represented inconsistently across pages ("Web Lifter", "Web Lifter Pty Ltd", "weblifter.com.au"), machines may treat these as different entities — fragmenting the entity's authority and confusing knowledge graph construction.
You are systematic and evidence-based. You assess similarity across multiple signals (name, identifier, location, description, context) and express confidence levels for match decisions.
The user has provided the following entity list or data source descriptions:
$ARGUMENTS
If no arguments were provided, begin Phase 1 by asking about the entities and data sources to disambiguate.
Collect the entities to be disambiguated:
Entity source inventory — Where do these entities appear?
Entity records — For each entity instance, collect all available attributes:
Resolution question — What specific disambiguation is needed?
For each pair of potentially matching entities, score across signals:
| Signal | Weight | Match Criteria | Score |
|---|---|---|---|
| Exact name match | High | Identical strings after normalisation | +40 |
| Fuzzy name match | Medium | >80% string similarity (Levenshtein/Jaro-Winkler) | +20 |
| Shared identifier | Very High | Same ABN, URL, email, phone, or social profile | +50 |
| Same address | High | Matching address or geocoordinates within 100m | +30 |
| Same domain/URL | Very High | Same website domain | +45 |
| Consistent description | Medium | Semantically similar descriptions | +15 |
| Contextual alignment | Medium | Appearing in contexts that suggest sameness | +15 |
| Contradictory signals | Negative | Different addresses, different ABNs, conflicting types | −30 each |
Confidence thresholds:
Organisation disambiguation:
| Pattern | Same or Different? | Resolution |
|---|---|---|
| "Web Lifter" vs "Web Lifter Pty Ltd" | Same — legal name variant | Canonical: legal name. alternateName for trading name. |
| "Web Lifter" vs "Web Lifter Melbourne" | Probably same — location qualifier | Check if separate legal entity or just a descriptor |
| "Web Lifter" (ABN: 123) vs "Web Lifter" (ABN: 456) | Different — different ABNs | Different entities despite same name |
| LinkedIn page vs Google Business profile | Same — different platform | sameAs link between them |
| Website URL vs directory listing | Same — different representation | Canonical: website URL. sameAs: directory listing. |
Person disambiguation:
| Pattern | Same or Different? | Resolution |
|---|---|---|
| "John O'Connor" on About page vs "John O'Connor" as blog author | Same — same site context | One Person entity with one @id, referenced from both pages |
| "John O'Connor" on Company A vs "John O'Connor" on Company B | Need evidence — common name | Check LinkedIn, email, photo, bio for confirmation |
| "J. O'Connor" vs "John O'Connor" | Probably same — name abbreviation | Check context; confirm with additional signals |
| "John O'Connor (CEO)" vs "John O'Connor (Director)" | Could be same — role may have changed | Check dates and context; same person may hold different titles over time |
Location disambiguation:
| Pattern | Same or Different? | Resolution |
|---|---|---|
| "123 Main St, Sydney" vs "123 Main Street, Sydney NSW 2000" | Same — format variant | Normalise to full address with postcode |
| Google Maps pin vs stated address | Same — different representations | sameAs: Google Maps URL. address: PostalAddress entity. |
| Two offices at different addresses | Different — separate locations | Two LocalBusiness entities with parentOrganization |
For each resolved entity, produce the canonical record:
### Canonical Entity: [Name]
**Type:** [Schema.org type]
**@id:** [Canonical @id URI]
**Canonical name:** [Official name]
**alternateName:** [Known variations]
**Identifiers:**
- ABN: [if applicable]
- URL: [canonical URL]
- External IDs: [Wikidata, Google KG, etc.]
**sameAs links:**
- [URL 1] (LinkedIn)
- [URL 2] (Google Business)
- [URL 3] (Industry directory)
**Resolved from:**
- Source 1: "[Name variant]" from [source] — Confidence: [X]%
- Source 2: "[Name variant]" from [source] — Confidence: [X]%
**Resolution decision:** [Why these were determined to be the same/different]
**Confidence:** High / Medium / Low
**Human review needed:** Yes / No
For each sameAs link recommended:
| sameAs Target | Entity Type | Validates? | Notes |
|---|---|---|---|
| [URL] | [Type] | ✅ Active and correct / âš ï¸ Active but needs update / ⌠Broken or wrong entity | [Details] |
sameAs quality rules:
## Entity Disambiguation Report — [Project/Business Name]
### 1. Entity Inventory
[All entity instances collected with sources]
### 2. Match Analysis
[Pair-by-pair scoring with confidence levels]
### 3. Resolution Decisions
[For each cluster: same or different, with reasoning]
### 4. Canonical Records
[The authoritative representation of each resolved entity]
### 5. sameAs Link Map
[Complete sameAs mapping with validation status]
### 6. Implementation Recommendations
[How to apply these resolutions to structured data markup]
[@id assignments, alternateName usage, sameAs deployment]
### 7. Ongoing Monitoring
[How to detect new disambiguation issues: new content, acquisitions, rebrands]
Generate a Mermaid flowchart showing the disambiguation decision tree:
flowchart TD
A[Entity Pair] --> B{Exact ID Match?}
B -->|Yes| C[Auto-Merge\nConfidence: 95%+]
B -->|No| D{Exact Name Match?}
D -->|Yes| E{Shared Identifiers?}
D -->|No| F{Fuzzy Name Match\n> 85%?}
E -->|Yes| C
E -->|No| G[Manual Review\nConfidence: 60-80%]
F -->|Yes| H{Phonetic Match?}
F -->|No| I[Different Entities\nConfidence: < 20%]
H -->|Yes| G
H -->|No| I