tables-trace

Installation
SKILL.md

Trace a record

Use when: you have an identifier and want to find the record and see its overall state — "trace 12345", "where is jane@acme.com?", "what enrichments ran for this lead?", "is this record done?". This is a locate + snapshot: which table(s) hold it, and each cell's status. It does not explain why a cell holds what it holds — that's /tables-value-trace.

Treat each in-scope table independently. Tables may not share identifiers or have any relationship; presence (or absence) in one says nothing about another.

1. Settle scope

Resolve which table(s) to look in as in the tables entry-point skill ("Finding a table"), or pass a tbl_... id directly. {id} is whatever the user gave (email, HubSpot ID, row id, etc.).

If {id} is already a rec_... row id and the table is known, skip discovery and go straight to get the row (step 4).

2. Per table: find the identifier's column and archive linkage

For each in-scope table:

  • clay tables columns list <tableId> — find the column that holds this kind of identifier by matching names (Email for an email, HSID/HubSpot ID for a HubSpot id, etc.). Cache the f_id → name map and note column types. The match column must be basic to value-filter on it. If several columns could match, or none does, show the columns and ask which to search.
  • clay tables get <tableId> — read archive. If archive is non-null, resolve archive.searchableFieldFormula (a {{f_xxx}}) to its column via the columns list. Plan to search the archive only if {id} is the value of that indexed column; otherwise the archive isn't searchable by this identifier.
Installs
1
GitHub Stars
140
First Seen
Aug 15, 2026