About list-enrichment
A skill for adding research-based enrichment columns to Extruct company tables. It guides column configuration and delegates table operations, enrichment runs, and progress checks to `extruct-api`.
Key features
- 01Confirms table metadata and existing columns
- 02Designs column formats, agent types, and prompts
- 03Creates columns and runs selected enrichment
- 04Monitors cell progress and failures
- 05Spot-checks enriched rows for quality
Use cases
- 01Research funding, technology, or company categories
- 02Enrich only newly added table columns
- 03Review sample results and adjust weak prompts
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ extruct-ai/ gtm-skills --skill list-enrichmentAfter installing, type/list-enrichmentin Claude Code to confirm it loaded.
Details
From the project READMETable Enrichment
Add research-powered enrichment columns to Extruct company tables.
Extruct API Operations
This skill delegates all Extruct API calls to the extruct-api skill.
For all Extruct API operations, read and follow the instructions in skills/extruct-api/SKILL.md.
All table reads, column creation, enrichment runs, polling, and data fetching are handled by the extruct-api skill. This skill focuses on what to enrich and how to design columns — the extruct-api skill handles the API execution.
Workflow
1. Confirm the table
Get the table ID from the user (URL or ID). Use the extruct-api skill to fetch table metadata. Show the user: table name, row count, existing columns.
2. Get column configs
Two paths:
Path A: From enrichment-design — User has column_configs ready. Confirm and proceed.
Path B: Design on the fly — Confirm with the user:
- What data point? — what to research (e.g. "funding stage", "primary vertical", "tech stack")
- Output format — pick the right format:
| Format | When to use | Extra params |
|---|---|---|
text | Free-form research output | — |
number / money | Numeric data (revenue, headcount) | — |
select | Single choice from known categories | labels: [...] |
multiselect | Multiple tags from known categories | labels: [...] |
json | Structured multi-field data | output_schema: {...} |
grade | 1-5 score | — |
label | Single tag from list | labels: [...] |
date | Date values | — |
url / email / phone | Contact info | — |
- Agent type — default
research_pro. Usellmwhen no web research needed (classification from existing profile data).
3. Write the prompt
Craft a clear prompt using {input} for the row's domain value. Prompt guidelines:
- Be specific about what to find
- Specify the exact output format in the prompt (e.g. "Return ONLY a number in millions USD")
- Include fallback instruction (e.g. "If not found, return N/A")
- For
select/multiselect, the labels constrain the output — the prompt should guide which label to pick
4. Create the column(s)
Delegate column creation to the extruct-api skill with the column_configs array.
5. Trigger enrichment (only the new columns)
Delegate the enrichment run to the extruct-api skill. Always scope the run to the newly created column(s) only. Avoid broad or implicit run payloads when you only intend to enrich specific columns.
6. Monitor progress
Delegate progress monitoring to the extruct-api skill. Use it to poll table data and check cell statuses.
Show the user:
- Current % complete (done cells / total cells)
- Number of failed cells (if any)
- Estimated time remaining (based on rate so far)
Stop polling when all cells are done or failed.
7. Quality spot-check
After enrichment completes (or after 50%+ is done), fetch a sample of 5-10 enriched rows and display for review.
Present to user as a table. Ask:
- "Does the data quality look right?"
- "Any columns returning garbage or N/A too often?"
- "Should we adjust any prompts and re-run?"
If quality issues are found:
- Delete the problematic column
- Adjust the prompt
- Re-create and re-run