Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions skills/build-list/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,22 @@ The user may also specify:
- How many results they want (default: 25)
- Whether they want contacts, companies, or both
- Specific fields to include in the output
- Data quality requirements: "with verified email", "with direct phone", "updated in the last 6 months"

## Workflow

1. **Determine list type**: Is the user asking for contacts, companies, or both? Default to contacts if they mention titles/roles, companies if they mention firmographics only.

2. **Parse criteria** from natural language into structured filters:
- Job titles, management levels, departments, job functions → contact filters
- Industry, employee count, revenue, geography, tech stack, company type → company filters
- Growth rate, funding, rankings → company filters
- "With verified email" or "has email" → `hasEmail: true` contact filter
- "With direct phone" or "has phone" → `hasPhone: true` contact filter
- "Updated in the last X months/days" → `lastUpdatedDateAfter: <ISO date>` contact filter (compute the date from today)
- Industry, employee count, revenue, tech stack, company type → company filters
- "In the [city] area" or metro region → `metroArea` company filter
- "Series B+", "recently funded", "post-Series A" → `fundingStage` company filter
- Growth rate, rankings → company filters
- Geography: `state` for state-level, `country` for country-level, `metroArea` for metro precision

3. **Resolve all filter values** using `lookup` before searching. This is critical — do NOT guess values. For every filter you plan to use, call `lookup` with the corresponding field name to get the valid values and use the returned `id` values in your search parameters.

Expand Down Expand Up @@ -72,9 +79,9 @@ Show the user exactly what filters were used so they can verify:

### List Summary
- **Total results found**: X (showing top Y)
- **Filters applied**: [summary]
- **Filters applied**: [summary — include any `hasEmail`, `hasPhone`, `lastUpdatedDateAfter`, `metroArea`, or `fundingStage` filters so the user can verify]
- **Average accuracy score**: X (contacts only)
- **Data quality**: Flag any concerns (low accuracy, stale records)
- **Data quality**: Flag any concerns (low accuracy scores, records not updated in 12+ months)

### Refinement Options
If the list is too broad or too narrow, suggest specific filter adjustments:
Expand Down
5 changes: 4 additions & 1 deletion skills/enrich-company/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ The user will provide via `$ARGUMENTS` one of:

4. **If no match**, try a fallback:
- Use `search_companies` with `companyName` for fuzzy matching — use lookup `id` values for any filters
- If the user provided a city or metro area, add `metroArea` to narrow results to the right region
- Suggest alternatives from the search results

## Output Format
Expand Down Expand Up @@ -60,7 +61,9 @@ The user will provide via `$ARGUMENTS` one of:
**Growth Signals**
- 1-Year Employee Growth: X%
- 2-Year Employee Growth: X%
- Recent Funding: [if available]
- Funding Stage: [if available — e.g., Series B, IPO, Private Equity-backed]
- Recent Funding: [amount + date if available]
- Metro Area: [if available — more granular than HQ city]

**ZoomInfo Coverage**
- Contacts in Database: [count]
Expand Down
4 changes: 3 additions & 1 deletion skills/enrich-contact/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ The user will provide via `$ARGUMENTS` one of:

4. **If no match**, try a fallback:
- If name + company failed, try `search_contacts` with `jobTitle` or `companyName` variations — use lookup `id` values for any filters
- If searching by name returns too many results, add `hasEmail: true` to narrow to contacts with verified email on file
- Suggest alternative spellings or company names

## Output Format
Expand All @@ -51,7 +52,8 @@ The user will provide via `$ARGUMENTS` one of:
| Company Industry | |
| Company Size | |
| LinkedIn | |
| Supplemental Email | (secondary email if available) |
| Last Updated | |
| ZoomInfo Person ID | |

If any fields are unavailable, omit them rather than showing blanks. Note the accuracy score prominently — anything below 80 deserves a flag.
If any fields are unavailable, omit them rather than showing blanks. Note the accuracy score prominently — anything below 80 deserves a flag. If `lastUpdated` is more than 12 months ago, note the record may be stale and recommend re-verifying before outreach.
1 change: 1 addition & 0 deletions skills/find-similar/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ Determine whether the user is looking for similar **companies** or **contacts**
2. **Find similar companies** using `find_similar_companies`. This returns up to 100 results ranked by similarity score.
- If you have a ZoomInfo company ID, pass `companyId`.
- If you only have a company name, pass `companyName` — the API can resolve it directly.
- If the user specified a geography, funding stage, or employee range to narrow results, note that `find_similar_companies` does not accept firmographic filters directly — apply them as post-filters on the returned results, or follow up with `search_companies` using `techAttributeTagList` or firmographic filters to cross-reference.

### Company Output Format

Expand Down