Agent skill

Duplicate Investigate

by bruin-data in bruin-data/bruin

A skill your agent uses when duplicate rows, unstable primary keys, repeated ingestion, or failed uniqueness checks appear in a Bruin asset.

Apache-2.0Auto-check passedDatabases

Install Duplicate Investigate

skills CLI
$ npx skills add bruin-data/bruin --skill duplicate-investigate -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install bruin-data/bruin duplicate-investigate --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/bruin-data/bruin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/duplicate-investigate .claude/skills/duplicate-investigate && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
duplicate-investigate
GitHub stars
1.8k
Token cost
~1.1k tokens
SKILL.md length
595 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when duplicate rows, unstable primary keys, repeated ingestion, or failed uniqueness checks appear in a Bruin asset.

  • Unstable primary keys
  • SKILL.md covers When to Use, Inputs, Operating Context and Context to Gather, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Repeated ingestion

What it does

Duplicate Investigate is an agent skill from bruin-data/bruin. Use when duplicate rows, unstable primary keys, repeated ingestion, or failed uniqueness checks appear in a Bruin asset.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Databases. The repository describes itself as: Build data pipelines with SQL and Python, ingest data from different sources, add quality checks, and build end-to-end flows. The licence is Apache-2.0.

When your agent uses it

  • Unstable primary keys
  • Repeated ingestion
  • Failed uniqueness checks appear in a Bruin asset

Example prompts

  • “/duplicate-investigate”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 2f429d6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Duplicate Investigate loads about 1.1k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 595 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~36
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from bruin-data/bruin at commit 2f429d6, republished under its Apache-2.0 licence (© bruin-data). 595 words, ~1,077 tokens.

Download SKILL.mdSave it as .claude/skills/duplicate-investigate/SKILL.md (or your agent's skills folder).
name
duplicate-investigate
description
Use when duplicate rows, unstable primary keys, repeated ingestion, or failed uniqueness checks appear in a Bruin asset.
connections
bruin, github

Duplicate Investigate

When to Use

Use this skill when duplicate rows, unstable primary keys, repeated ingestion, or failed uniqueness checks appear in a Bruin asset.

Inputs

  • Affected asset name or table.
  • Key columns or uniqueness checks.
  • Error output, sample duplicate keys, or row counts.

Operating Context

  • These starter skills can be used by Bruin Cloud agents, local agents, and external assistants connected to Bruin Cloud.
  • In Bruin Cloud, use Cloud CLI access when the agent has it enabled. Use the bruin cloud CLI when the assistant has shell access and a configured API key or .bruin.yml; use Bruin Cloud MCP only when the assistant is configured for MCP tool calls or does not have direct CLI access. If using the CLI, inspect failures with bruin cloud runs diagnose --project-id <project-id> --pipeline <pipeline-name> --latest, fetch failed logs with bruin cloud instances failed-logs --project-id <project-id> --run-id <run-id>, and inspect a specific asset with bruin cloud assets get --project-id <project-id> --pipeline <pipeline-name> --asset <asset-name>.
  • In local development, inspect terminal output and the local logs/ folder, especially logs/runs, query logs, and export logs when they exist. Use bruin query with existing .bruin.yml connections for read-only duplicate checks.
  • If investigation or fix verification requires running an asset or pipeline, prefer a dev or shadow environment. If none exists, ask whether to run in production or create temporary copies of the affected tables to reproduce and test the issue.
  • For other agent runtimes or orchestrators, customize this skill with the correct log source, query mechanism, and action mechanism before using it.

Context to Gather

  • Inspect quality checks and declared primary or unique keys.
  • Find the ingestion or transformation logic that creates the affected rows.
  • Compare source row counts, destination row counts, and recent run history when available.
  • Check whether incremental logic can replay the same source records.
  • Use Bruin MCP docs tools or bruin <command> --help to confirm the current command syntax before running Cloud or local CLI commands.
Show full SKILL.md (272 more words)Show less

Lineage Investigation

  • Find one specific duplicate key or bad row pattern first, then keep every upstream query filtered to that instance. For example, prove COUNT(*) > 1 for one user_id and transaction_date before broad scans.
  • If the data has bronze, silver, gold, or other tiers, start at the asset where the duplicate appears and trace upstream through lineage one asset at a time.
  • Query the filtered duplicate instance in each upstream asset until you find the first asset where the duplicate appears.
  • Once the first bad asset is identified, read its SQL query or Python script and isolate the specific join, union, incremental filter, merge key, deduplication step, or function that likely introduced the duplicate.
  • If the user has allowed fixes, change only that specific logic, then run the smallest asset-level validation in dev or shadow first. Recheck the same duplicate instance after the fix; only after that passes, run the full duplicate check or affected quality check.

Decision Tree

  • If duplicates share the same business key and timestamp, suspect replay or missing deduplication.
  • If duplicates differ only by load metadata, inspect incremental merge logic.
  • If the declared key is incomplete, identify additional columns needed for uniqueness.
  • If duplicates originate upstream, report the source and avoid masking the issue silently.

Actions

Define repository-specific actions here. Until customized, this skill must report findings and stop before deleting rows, changing deduplication logic, or modifying source systems.

Verification

  • Re-run the duplicate detection query.
  • Re-run the affected quality check if available.
  • Confirm whether the duplicate count changed after any reviewed fix.

Output

Return:

  • Duplicate pattern.
  • Suspected source.
  • Keys or columns involved.
  • Recommended remediation.
  • Commands or queries run.

© bruin-data, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/duplicate-investigate of bruin-data/bruin.

Open the folder on GitHubat commit 2f429d6

Compare with similar skills

Duplicate Investigate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Duplicate Investigate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Duplicate Investigate this skillbruin-data/bruin1.8k—~1.1kAutomated safety check: PassApache-2.0
Code Implementationapache/shardingsphere21k—~1.2kAutomated safety check: PassApache-2.0
Implement Commandredis/node-redis18k—~5kAutomated safety check: PassMIT
Clickhouse IohellangleZ/burn-in-cceverywhere-ralph11214 repos~2.5kAutomated safety check: PassNone
Analyzing Dataastronomer/agents451—~1.3kAutomated safety check: PassApache-2.0
Migration Helperwaynesutton/markdown-site6281 repos~958Automated safety check: PassMIT

Similar skills

  • Code Implementation

    apache/shardingsphere

    Implement, fix, refactor, or remove repository code under required scope, non-regression, verification, and review gates.

    21k GitHub stars~1.2k tokensUpdated today
    DatabasesAuto-check passed
  • Implement Command

    redis/node-redis

    Official

    Add a new Redis command (or command variant) to node-redis end-to-end — the <NAME.ts Command file, its registration with JSDoc in the package commands/index.ts, and a co-located <NAME.spec.ts with…

    18k GitHub stars~5k tokensUpdated yesterday
    DatabasesAuto-check passed
  • Clickhouse Io

    hellangleZ/burn-in-cceverywhere-ralph

    ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.

    112 GitHub starsUsed in 14 repos~2.5k tokens
    DatabasesAuto-check passed
  • Analyzing Data

    astronomer/agents

    Queries the data warehouse with SQL and answers business questions about data.

    451 GitHub stars~1.3k tokensUpdated 2 days ago
    DatabasesAuto-check passed
  • Migration Helper

    waynesutton/markdown-site

    Plan and execute Convex schema migrations safely, including adding fields, creating tables, and data transformations.

    628 GitHub starsUsed in 1 repo~958 tokens
    DatabasesAuto-check passed
  • Basin

    cloudflare/skills

    Official

    Build and troubleshoot Cloudflare Basin analytics workflows with Basin Pipelines, Basin Catalog, and Basin SQL.

    3k GitHub starsUsed in 1 repo~684 tokens
    DatabasesAuto-check passed

More from bruin-data/bruin

All 10 skills in this repo
  • Record Vhs Demo

    bruin-data/bruin

    Create, update, render, and visually verify polished Bruin CLI terminal demos with VHS.

    1.8k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Add Ingestr Source

    bruin-data/bruin

    Add Bruin CLI support for a new ingestr source. An agent skill from bruin-data/bruin.

    1.8k GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Bruin Semantic Layer

    bruin-data/bruin

    A skill your agent uses when creating, editing, reviewing, or troubleshooting Bruin semantic layer models, semantic query CLI usage, metric and dimension definitions, joins, segments, filters…

    1.8k GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed
  • Create Dashboard

    bruin-data/bruin

    Create DAC dashboards by writing YAML or TSX dashboard definition files.

    1.8k GitHub stars~4.3k tokensUpdated yesterday
    Auto-check passed
  • Pipeline Diagnose

    bruin-data/bruin

    A skill your agent uses when a Bruin pipeline, asset, or command fails and the cause is not yet clear.

    1.8k GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Schema Drift Check

    bruin-data/bruin

    A skill your agent uses when a pipeline fails because source, destination, or declared asset columns may have changed.

    1.8k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed

Questions about Duplicate Investigate

What does Duplicate Investigate do?

A skill your agent uses when duplicate rows, unstable primary keys, repeated ingestion, or failed uniqueness checks appear in a Bruin asset. Duplicate Investigate is an agent skill from bruin-data/bruin. Use when duplicate rows, unstable primary keys, repeated ingestion, or failed uniqueness checks appear in a Bruin asset.

When should I use Duplicate Investigate?

Duplicate Investigate fits situations like: unstable primary keys; repeated ingestion; failed uniqueness checks appear in a Bruin asset.

How do I install Duplicate Investigate in Claude Code?

Run `npx skills add bruin-data/bruin --skill duplicate-investigate -a claude-code`. Or copy the skill folder (skills/duplicate-investigate in bruin-data/bruin) into .claude/skills/duplicate-investigate in your project. Claude Code loads it when a task matches its description.

How do I install Duplicate Investigate in Codex?

Run `npx skills add bruin-data/bruin --skill duplicate-investigate -a codex`. Or copy the skill folder (skills/duplicate-investigate in bruin-data/bruin) into .agents/skills/duplicate-investigate in your project. Codex loads it when a task matches its description.

Can I use Duplicate Investigate in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add bruin-data/bruin --skill duplicate-investigate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/duplicate-investigate, .gemini/skills/duplicate-investigate, .github/skills/duplicate-investigate and .opencode/skills/duplicate-investigate in your project.

What does Duplicate Investigate need to run?

SKILL.md names no scripts, command-line tools or credentials: Duplicate Investigate is instructions for the agent only. Our summary lists: Python 3.

Does Duplicate Investigate access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Duplicate Investigate safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Duplicate Investigate use?

Duplicate Investigate is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Duplicate Investigate use?

About 1.1k tokens (SKILL.md is roughly 4.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Duplicate Investigate?

Skills that share tags, products or a category with Duplicate Investigate: Code Implementation (apache/shardingsphere, 21k stars), Implement Command (redis/node-redis, 18k stars), Clickhouse Io (hellangleZ/burn-in-cceverywhere-ralph, 112 stars) and Analyzing Data (astronomer/agents, 451 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Duplicate Investigate?

bruin-data (a GitHub organization) maintains it in bruin-data/bruin, which has 1,774 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 8, 2026.

Source: bruin-data/bruin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.