{
 "schema": "aiblocks-page/1",
 "id": "agency-identity-graph-operator",
 "type": "agent",
 "name": "Identity graph designer",
 "summary": "Get a plan to match duplicate customer, company or product records across your tools, with match keys, scoring, review steps and privacy checks.",
 "headline": "Identity graph designer",
 "subhead": "Describe the systems that hold the same customers, companies or products under different records. It plans which fields to match on, how to score a match, and who reviews the unsure ones. You get a matching plan, test cases and privacy notes.",
 "job": {
  "id": "secure-code",
  "name": "Keep your code secure"
 },
 "level": "intermediate",
 "thinking": "high",
 "tested": true,
 "updated": "2026-11-03",
 "first_published": "2026-10-26",
 "inputs": [
  {
   "type": "question",
   "required": true,
   "label": "Question",
   "what": "the problem, decision or piece of work you want help with, and what a good outcome looks like"
  },
  {
   "type": "spreadsheet",
   "required": false,
   "label": "Spreadsheet",
   "what": "a spreadsheet with its data, formulas and charts"
  }
 ],
 "outputs": [
  {
   "type": "plan",
   "required": true,
   "label": "Plan",
   "what": "a dated plan: what to do, in what order, with a decision rule for each step"
  }
 ],
 "you_give": [
  "The systems that hold the records, such as your shop, support tool, billing tool and email list.",
  "The fields each system holds, such as email, phone, name and address.",
  "What counts as the same, such as \"same email means same customer\", and what a wrong merge would cost.",
  "A small sample of records with personal details masked (optional)",
  "Where your customers live, and who can review unsure matches (optional)"
 ],
 "you_get": [
  "A match plan with the fields to compare, how to clean each, and how heavily to weigh it",
  "Three decision bands, which are link automatically, review, or treat as new",
  "A review and undo process for merges and splits",
  "Sample test pairs to try on your own data before you trust the rules",
  "Privacy notes and a list of what is missing"
 ],
 "use_when": [
  "The same customer appears in your shop, support tool and billing tool, and you want one shared record for each.",
  "Two or more AI agents or automations touch the same customers or products and sometimes disagree about who is who.",
  "You are about to join two customer lists, for example after buying a business, and want rules for matching them.",
  "A merge went wrong once and you want a safer process with a review step and a way to undo it."
 ],
 "skip_when": [
  "You only want likely duplicate customers found in one store list. Use the Shopify duplicate customer record finder.",
  "You want duplicates merged in your live store. Use the Customer record merger, and check each match first.",
  "You want AI agents to prove who they are. Use the AI agent identity designer.",
  "You want a messy spreadsheet cleaned. Use the Indian spreadsheet data cleaner."
 ],
 "output_sample": {
  "input": [
   "The systems that hold the records",
   "The fields each system holds",
   "What counts as the same, and the cost of a wrong merge",
   "A small masked sample of records (optional)"
  ],
  "output": [
   {
    "name": "Scope",
    "contains": "The sources, the record type, the rule for \"same\" and the cost of a wrong merge."
   },
   {
    "name": "Sources and fields",
    "contains": "Each source with its fields and which fields can be trusted."
   },
   {
    "name": "Match plan",
    "contains": "For each field, how to clean it, how to compare it and how much weight it carries."
   },
   {
    "name": "Decision bands",
    "contains": "Starting cut-offs for link, review and new, marked as figures to test."
   },
   {
    "name": "Merge and split process",
    "contains": "Who proposes, who reviews, what is recorded and how to undo a merge."
   },
   {
    "name": "Consistency checks",
    "contains": "Checks that two systems agree on who is who, and what a failure means."
   },
   {
    "name": "Test pairs",
    "contains": "Example record pairs in words with the band each should land in, and why."
   },
   {
    "name": "Privacy notes",
    "contains": "What personal data to mask or leave out, and what a professional should review."
   },
   {
    "name": "Gaps and checks",
    "contains": "Missing facts and open choices that limit the plan."
   }
  ]
 },
 "output_shape": "SCOPE\n  Sources <list> | Record type <person, company, product> | What counts as the same <rule> | Cost of a wrong merge <low, medium or high>\n\nSOURCES AND FIELDS\n  <source> | <fields> | <how clean the data is> | <which fields are reliable>\n\nMATCH PLAN\n  <field> | <how to clean it> | <how to compare> | <weight>\n\nDECISION BANDS\n  Link automatically <cut-off> | Send to review <range> | Treat as new <cut-off> | <starting points to test>\n\nMERGE AND SPLIT PROCESS\n  <who proposes> | <who reviews> | <what is recorded> | <how to undo>\n\nCONSISTENCY CHECKS\n  <check> | <what a failure means>\n\nTEST PAIRS\n  <pair described in words> | <expected band> | <why>\n\nPRIVACY NOTES\n  <what to mask or leave out> | <what needs a professional>\n\nGAPS AND CHECKS\n  <missing fact or choice> | <why it matters>",
 "how_to_use": [
  "Download the pack from this page and add it to your AI as a skill. If you cannot, paste SKILL.md into a new chat, then paste references/source-agent.md.",
  "List your systems and the fields in each. If you paste sample records, mask names, emails and phone numbers first.",
  "Type \"Plan how to match these records. Show the evidence for each rule. Do not merge anything on a hunch. Mark every cut-off as a starting point to test.\"",
  "Read the three decision bands first. Move the cut-offs after you try the sample test pairs against your real records.",
  "Run the matching in your own tool or script. The AI plans the rules and does not run a matching engine.",
  "Have a person review every merge in the middle band, and keep a way to undo it."
 ],
 "checks": [
  "The result addresses your actual task and cites the evidence used.",
  "Examples, role-play experience and targets are kept separate from verified results.",
  "Claims of tests, memory, tool access or completed actions match what actually happened."
 ],
 "next": [
  {
   "name": "Exposed secrets finder",
   "url": "https://useaiblocks.com/skills/exposed-secrets-finder",
   "why": "Exposed secrets finder"
  }
 ],
 "source": {
  "by": "Michael Sitarzewski and Agency Agents contributors",
  "repo": "msitarzewski/agency-agents",
  "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/specialized/identity-graph-operator.md",
  "licence": "MIT",
  "original_name": "Identity Graph Operator",
  "commit": "b37b5bb33b78f2c1d6567d98e25ca818e3259219"
 },
 "credits": [
  {
   "title": "Identity Graph Operator",
   "by": "Michael Sitarzewski and Agency Agents contributors",
   "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/specialized/identity-graph-operator.md",
   "used": "Original agent profile, preserved in references/source-agent.md; AI Blocks adds setup and review instructions."
  }
 ],
 "files": [
  "LICENSE",
  "references/source-agent.md",
  "SETUP.md",
  "source.json"
 ],
 "links": {
  "page": "https://useaiblocks.com/agents/agency-identity-graph-operator",
  "markdown": "https://useaiblocks.com/agents/agency-identity-graph-operator.md",
  "json": "https://useaiblocks.com/agents/agency-identity-graph-operator.json",
  "instructions": "https://useaiblocks.com/skills/agency-identity-graph-operator/SKILL.md",
  "download": "https://useaiblocks.com/skills/agency-identity-graph-operator.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/agency-identity-graph-operator",
  "api_document": "https://useaiblocks.com/api/v1/documents/agent/agency-identity-graph-operator",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
