diff --git a/skills/build-list/SKILL.md b/skills/build-list/SKILL.md index 3fd8b78..9ad2309 100644 --- a/skills/build-list/SKILL.md +++ b/skills/build-list/SKILL.md @@ -20,6 +20,7 @@ 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 @@ -27,8 +28,14 @@ The user may also specify: 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: ` 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. @@ -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: diff --git a/skills/enrich-company/SKILL.md b/skills/enrich-company/SKILL.md index 9af7554..dba6b8b 100644 --- a/skills/enrich-company/SKILL.md +++ b/skills/enrich-company/SKILL.md @@ -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 @@ -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] diff --git a/skills/enrich-contact/SKILL.md b/skills/enrich-contact/SKILL.md index 53d34f2..f0a83e7 100644 --- a/skills/enrich-contact/SKILL.md +++ b/skills/enrich-contact/SKILL.md @@ -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 @@ -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. diff --git a/skills/find-similar/SKILL.md b/skills/find-similar/SKILL.md index 9c386ff..d0e698e 100644 --- a/skills/find-similar/SKILL.md +++ b/skills/find-similar/SKILL.md @@ -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