CtrlK
BlogDocsLog inGet started
Tessl Logo

comprehensive-enrichment

Enrich any person or company from any identifier — email, name, LinkedIn URL, domain, company name, Twitter/X handle. Use when asked to enrich, look up, or research a lead, contact, person, or company.

58

Quality

73%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

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

Quality

Content

52%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.

The body excels at routing and orchestration logic — identifier detection, parallelization, person-to-company cascade, and output formatting are all clearly specified. However, a significant fraction of the curl examples contain malformed JSON or empty api/path placeholders that make them non-executable as written, the full-pipeline section duplicates the earlier reference sections almost entirely, and the skill is a monolithic single file where an endpoint reference and templates should be split out.

Suggestions

Fix the malformed curl examples: several close the -d JSON string early (Fiber name+company, Sixtyfour enrich-lead, find-phone, linkup, scrapegraph, exa) leaving raw JSON lines outside the quoted payload, and the Twitter, funding, and investors calls have empty '"api":"","path":""' placeholders — every example should be copy-paste executable.

Eliminate the ~120-line duplication in Section 4 (Full Pipeline Example), which re-inlines nearly every command from Sections 2 and 3; reference the earlier sections or keep only the differences (parameter variants, sequencing).

Split the skill into a lean SKILL.md overview plus one-level-deep reference files (e.g., references/person-endpoints.md, references/company-endpoints.md, references/output-templates.md) instead of the current ~540-line monolith.

DimensionReasoningScore

Conciseness

The ~540-line body repeats the same curl boilerplate (auth headers, proxy URL) roughly 40 times and Section 4 ("Full Pipeline Example") re-inlines nearly every command already shown in Sections 2 and 3, so while there is little conceptual over-explanation, the duplication and padding could be cut substantially — fitting anchor 3 ("mostly efficient but could be tightened") rather than 4 given the scale of the repetition.

3 / 5

Actionability

Concrete curl commands exist throughout, but many are malformed and not executable as written — e.g. the Fiber name+company call closes its -d string early and leaves raw JSON lines dangling ('"personName": {"fullName": "John Doe"}...}'), the same broken pattern appears in the Sixtyfour enrich-lead, find-phone, linkup, scrapegraph, and exa examples, and several calls contain empty placeholders ('{"api":"","path":""}') for the Twitter, funding, and investors endpoints — matching anchor 3's "pseudocode instead of executable code; missing key details" better than anchor 4's "concrete commands with minor gaps".

3 / 5

Workflow Clarity

The sequence is clear and well-structured: an identifier routing table ("Email → Person + Company (extract domain)"), parallelization guidance, explicit cascade rule ("Person always cascades to company"), async polling instructions for Nyne, cross-referencing/conflict-flagging instructions, and a full worked example — anchor 4's "clear sequence with most checkpoints present". It is not 5 because there are no explicit error-recovery steps (e.g., what to do when an API call fails or returns empty) beyond conflict flagging.

4 / 5

Progressive Disclosure

There are no bundle files at all (no references/, scripts/, or assets/ directories) and no external references from the body; the entire API endpoint reference, pipeline examples, and output templates are inlined in one ~540-line monolithic SKILL.md — matching anchor 2's "content that clearly belongs in separate files is inlined". It is not 3 because even a single well-signaled split (e.g., an endpoints reference or output-format template file) is absent.

2 / 5

Total

12

/

20

Passed

Description

83%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 strong description that clearly states both capability and explicit usage triggers with concrete, natural language. The enumerated identifier types give it good specificity and a distinct niche; the only weakness is slight over-reliance on the single verb "enrich" and broad research-oriented trigger terms that could occasionally overlap with general web-research skills.

DimensionReasoningScore

Specificity

The description names concrete, enumerated input types ("email, name, LinkedIn URL, domain, company name, Twitter/X handle") for both persons and companies, but the action verbs are limited to a single generalized capability ("Enrich any person or company"), so coverage is strong rather than comprehensive per the anchor-5 example's multiple distinct actions.

4 / 5

Completeness

It explicitly answers both questions: "what" ("Enrich any person or company from any identifier" with the identifier list) and "when" ("Use when asked to enrich, look up, or research a lead, contact, person, or company") with concrete trigger phrases, matching the anchor-5 example.

5 / 5

Trigger Term Quality

Natural trigger phrases like "enrich, look up, or research a lead, contact, person, or company" are present and well-chosen, alongside concrete identifier keywords; common variations such as "prospecting", "find their email", or "contact info" are missing, keeping it just below the comprehensive anchor 5.

4 / 5

Distinctiveness Conflict Risk

The enrichment niche with enumerated identifiers (LinkedIn URL, Twitter/X handle) is mostly distinct with clear triggers, but the broad verbs "look up" and "research a person or company" create minor overlap risk with general research/search skills, matching anchor 4 rather than 5.

4 / 5

Total

17

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (543 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

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.