CtrlK
BlogDocsLog inGet started
Tessl Logo

contact-cache

Track all identified/contacted people across strategies. CSV-backed contact database with dedup by LinkedIn URL or email. Prevents duplicate outreach when running strategies on a recurring cadence.

64

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/contact-cache/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

87%

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

The content is lean, executable, and well-organized for a simple single-task skill. The main gap is missing validation/verification guidance for batch operations, which limits workflow clarity.

Suggestions

Add a validation checkpoint for bulk import, e.g. run 'cache.py stats' after import and confirm the new contact count matches the CSV row count.

Document how to handle partial failures in bulk operations (duplicate rows, malformed URLs) and how to re-run safely.

Note the expected behavior of 'check' on a multi-URL list (e.g. output which are cached vs new) so the batch workflow result is unambiguous.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence: short Usage/Data/Valid Statuses sections with no padding or explanation of concepts Claude already knows.

3 / 3

Actionability

Provides fully executable, copy-paste-ready bash invocations with real flags and a real script path (skills/contact-cache/scripts/cache.py).

3 / 3

Workflow Clarity

Operations are individually clear, but batch operations (bulk CSV import, multi-URL check) lack validation checkpoints or feedback loops for handling partial failures or verifying results, capping workflow clarity at 2.

2 / 3

Progressive Disclosure

A simple, single-purpose skill under 50 lines with well-organized sections and a real referenced bundle file (scripts/cache.py); no nested references, so structure is appropriate.

3 / 3

Total

11

/

12

Passed

Description

67%

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

The description is concrete and well-scoped to a distinct niche, but lacks an explicit 'Use when...' trigger clause and the most natural user phrasings. Adding a trigger clause and plain-language keywords would raise the weaker dimensions.

Suggestions

Add an explicit trigger clause, e.g. 'Use when running lead-generation strategies on a recurring cadence and you need to avoid contacting the same person twice.'

Include natural user phrasings like 'keep track of leads' or 'prevent double outreach' so the description matches how users actually ask for this.

Consider mentioning the CSV backing in trigger context (e.g. 'when you need a lightweight reusable contact list') to broaden natural keyword coverage.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — tracking identified/contacted people, dedup by LinkedIn URL or email, and preventing duplicate outreach — rather than vague abstractions.

3 / 3

Completeness

Clearly states what the skill does but only implies when to use it via 'when running strategies on a recurring cadence'; there is no explicit 'Use when...' trigger clause, capping completeness at 2.

2 / 3

Trigger Term Quality

Contains some natural terms a user might say ('contacts', 'outreach', 'duplicate outreach') but omits common phrasings like 'keep track of leads' or 'don't contact the same person twice'.

2 / 3

Distinctiveness Conflict Risk

Targets a clear niche — a cross-strategy contact cache with dedup — that is unlikely to be confused with other skills.

3 / 3

Total

10

/

12

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.

Validation15 / 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.