Systems Lab

Agent skill

oxygen-dedupe

Review duplicate companies, people and source events before ingestion while preserving provenance and holding uncertain identity matches.

activeSelf-containedInstructions only193 words

Filed under CRM and RevOps.

From timscheuerai/gtm-architecture-template · 51 skill entries · 13 · pushed 2026-09-17

What it does when it runs

Review duplicate companies, people and source events before ingestion while preserving provenance and holding uncertain identity matches.

Automated analysis of the skill and the 0 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.

Keys and connectors you must supply
None found.
Hosts it reaches
No third-party host appears in the skill or its bundled files.
Tool permissions it declares
No allowed-tools in the frontmatter. It only issues instructions, so there is nothing to bound.
Actions present in the files
None. Instructions only.

Ask about oxygen-dedupe

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/timscheuerai/gtm-architecture-template.git /tmp/gtm-architecture-template
git -C /tmp/gtm-architecture-template sparse-checkout set ".agents/skills/oxygen-dedupe"
mkdir -p ~/.claude/skills/oxygen-dedupe
cp -R "/tmp/gtm-architecture-template/.agents/skills/oxygen-dedupe/." ~/.claude/skills/oxygen-dedupe/

Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗

The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.

Reproduced in full from timscheuerai/gtm-architecture-template/blob/2c312c9398064ad3730c786647293458cb89632c/.agents/skills/oxygen-dedupe/SKILL.md, which is licensed MIT (repository). 193 words, 1 heading.

Resolve identity before merging

Read the runtime contract. Establish the record type and destination before choosing a key.

  • Companies: verified canonical domain or provider/company LinkedIn identity. Subsidiaries and shared domains require a deliberate rule.
  • People: canonical profile URL or stable provider person ID, reconciled with current employer. A name alone is insufficient.
  • Signals: provider plus stable event ID; retain separate events for one account.
  • Outcomes: event ID plus enrollment/cohort identity, as required by analyse_results.

Inspect the current schema and bounded existing identities. Normalise URL scheme, host, trailing slash and query parameters without changing the actual identity path. Retain original values. Missing keys go to a review queue; never collapse all nulls into one record.

Produce insert / existing / possible_match / invalid decisions with the matched ID and reason. Repeated signals enrich provenance; they do not create repeated people. Conflicting non-null fields need a field-level resolution rule.

Preview counts and collisions before an authorized upsert. Re-query an ambiguous write result before retrying. For a repeat import, verify it creates no extra identities while still preserving new signals. Do not delete records or merge people solely because names match.

Need help setting it up?

This page tells you what oxygen-dedupe does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.

Book a call →

The directory stays free. There is nothing gated behind this.