Individual skill

reverse-etl-activation

Use this skill when you need to turn a scored, segmented audience sitting in the warehouse (BigQuery, Snowflake, Redshift) into live GTM motion, syncing accounts, contacts, and computed traits out to the CRM, ad platforms, and sequencing tools. It encodes the judgment that keeps reverse ETL from quietly polluting every downstream system: identity resolution before any write, a change-data-capture diff so only real deltas move, field-level mapping with type and format guards, suppression and consent gates, sync scheduling matched to each destination's rate limits, and a mandatory dry run plus row-count reconciliation before and after the live push. Every threshold (match-confidence floor, batch size, sync cadence, max-delete guard, suppression rules) is a tunable default. Each run produces a validated sync plan, a dry-run diff of adds, updates, and suppressions with counts, and a reconciliation report after the live sync.

skills/austin-hay/reverse-etl-activation/SKILL.md

Read pinned source

Source commit 5d786aad0c7b2ca59b1abf1f601f9407ca261996

What was checked

Matches the observed repository HEAD
Yes
Scanner rules are current
No
Repository scan complete
No
Skill scan complete
No
Observed behavior
Not checked yet
Last checked
Nov 11, 2026

These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.

Install this skill

Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.

An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.

Repository context

Repository stars (not skill ratings)
237
Repository last updated
Oct 20, 2026
License
MIT

Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.

Files and excerpt

File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.

Browse files
Read excerpt

# Reverse ETL activation (warehouse to GTM)

The warehouse is the source of truth. This skill moves a computed audience out of it and into the tools where GTM actually happens, without corrupting those tools. The failure mode this skill exists to prevent: a naive "sync the table" job that writes half-matched rows, re-writes unchanged records, blows past API limits, and pushes suppressed or non-consented contacts into a sequence. Do it in this order every time.

## Inputs (block and ask if missing)
- **Source**: warehouse + the exact model/table of the scored/segmented audience (e.g. `analytics.gtm.enterprise_high_intent`). Confirm the grain: account, contact, or both.
- **Destination(s)**: CRM (Salesforce/HubSpot), ad platform (Meta/Google/LinkedIn), and/or sequencer (Outreach/Salesloft/Swan). Each has its own object model and limits.
- **Sync key**: the stable identifier used to match a warehouse row to a destination record (domain, email, CRM Id, ad-platform match key).
- **Field mapping**: which warehouse columns map to which destination fields, and which are read-only in the destination.

## Procedure

1. **Resolve identity BEFORE writing.** Map each warehouse account/person to a destination record on the sync key. Apply a match-confidence floor (default `0.90`). Rows below the floor are quarantined to a review list, never guessed into a create. Ambiguous many-to-one matches (two warehouse rows, one CRM account) are collapsed by a deterministic rule (most-recent, highest-score), never duplicated.
2. **Compute the change-data-capture (CDC) diff.** Compare the resolved audience to the last-synced state. Only real deltas flow: new adds, changed updates (field-level, not whole-row), and intended removals. Unchanged rows never sync (this is what wrecks API budgets and audit logs).
Back to top