CtrlK
BlogDocsLog inGet started
Tessl Logo

gtm-enrichment-smart

Multi-provider waterfall lead enrichment. Takes an email (+ optional name) and returns person + company data by cross-referencing cheap APIs first, using expensive AI agents only as fallback. Cost-efficient (~$0.04-$0.10/lead) with confidence scoring and full error visibility.

61

Quality

77%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/lead-generation/capabilities/gtm-enrichment-smart/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

70%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-sequenced, information-dense workflow with excellent gating logic, conflict-resolution loops, and error visibility, but held back by malformed JSON in several curl payloads that prevents copy-paste execution and by a fully monolithic structure with no offloaded reference files. The duplicated api_calls schema and Tips restatements add minor token overhead.

Suggestions

Fix the malformed JSON payloads in Apollo people/match, both Sixtyfour calls, and Brand.dev ai/products by wrapping parameters in a "query":{...} object, matching the working Hunter examples (e.g., -d '{"api":"apollo","path":"/api/v1/people/match","query":{"email":"{email}","reveal_personal_emails":true}}').

Move the full output-format JSON schema, cost-tracking table, and per-provider field-extraction lists into a references/ file (e.g., references/output-format.md), keeping SKILL.md as a concise overview with well-signaled one-level-deep links.

Deduplicate the meta.api_calls structure (define it once in Error Visibility and reference it from Output Format) and trim Tips entries that restate gating already specified per phase.

DimensionReasoningScore

Conciseness

The body is dense with operational specifics Claude cannot know (endpoints, field paths, merge rules, per-call costs) with no padding or basic-concept explanations. It is not 5 because the meta.api_calls schema is specified twice (once inside the Output Format example and again in Error Visibility) and the Tips section restates gating logic already given per phase.

4 / 5

Actionability

Most curl commands are complete and executable (Hunter combined/verifier, Apollo org enrich, Tomba, GitHub), but the Apollo people/match, both Sixtyfour, and Brand.dev ai/products payloads are malformed JSON — the -d string closes early and dangles "email": "{email}" without the "query":{...} wrapper used in the working examples. It is not 4 because several commands are not copy-paste runnable, and not 2 because the majority of guidance is concrete with fully specified extraction fields.

3 / 5

Workflow Clarity

Phases 0-5 are explicitly sequenced with precise gating conditions (free-email check, funding-missing, person-data conflict, person-not-found, funded+B2B+>50 employees), a genuine conflict-resolution feedback loop (Tomba tie-breaker with keep-both-and-flag on three-way disagreement), and an explicit error taxonomy (success/partial/error/skipped) with the rule "Never silently skip failures". It is not 4 because validation checkpoints and error-recovery behavior are explicit at every phase boundary, not merely present for most steps.

5 / 5

Progressive Disclosure

The ~420-line body has clear section headers and a coherent flow, but no bundle files exist and everything is inlined, including content that clearly belongs in separate files (the ~60-line output JSON schema, the cost-tracking table, per-provider field maps). It is not 4 because substantial reference material is inlined in SKILL.md rather than split out, and not 2 because the inlined content is well structured, not a minimal-structure wall.

3 / 5

Total

15

/

20

Passed

Description

75%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A specific, third-person description that clearly states what the skill does with concrete actions and a distinct niche. Its main weakness is the complete absence of any "Use when..." trigger guidance, which caps completeness, and limited synonym coverage for natural user phrasings.

Suggestions

Append a trigger clause such as "Use when the user asks to enrich a lead, prospect, or contact from an email address, or wants person/company research on someone's email."

Add natural synonyms users would say ("prospect research", "contact enrichment", "who is this person") to broaden trigger-term coverage.

Trim the cost/latency claims ("Cost-efficient (~$0.04-$0.10/lead)") or move them after the capability statement so the description leads with what it does and when to use it.

DimensionReasoningScore

Specificity

"Takes an email (+ optional name) and returns person + company data by cross-referencing cheap APIs first, using expensive AI agents only as fallback" plus "confidence scoring and full error visibility" lists multiple concrete actions comprehensively covering the skill's pipeline. It is not 4 because there are no minor coverage gaps within the stated niche.

5 / 5

Completeness

The "what" is explicit and concrete (waterfall enrichment from an email returning person + company data), but there is no "Use when..." clause or equivalent trigger guidance, capping completeness at 3 per the rubric guideline. It is not 4 because the "when" is entirely absent rather than merely implicit.

3 / 5

Trigger Term Quality

"lead enrichment", "email", and "person + company data" are natural phrases users would say, but common synonyms like "prospect", "enrich this contact", or "who is this person" are absent. It is not 5 because synonym and variation coverage is incomplete, and not 3 because the core natural terms are all present.

4 / 5

Distinctiveness Conflict Risk

"Multi-provider waterfall lead enrichment" from an email address is a clear niche with distinct triggers (lead enrichment, email lookup) and minimal risk of firing for an unrelated skill. It is not 4 because no closely related skill described here would plausibly overlap with this trigger set.

5 / 5

Total

17

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
gooseworks-ai/goose-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.