CtrlK
BlogDocsLog inGet started
Tessl Logo

linkedin-outreach

End-to-end LinkedIn outreach campaign builder. Takes leads from Supabase, upstream skills, or CSV. Aligns on campaign goal and tone, writes personalized LinkedIn message sequences (connection request + follow-ups + optional InMail), presents for review, and exports for the user's outreach tool (Dripify, Botdog, Expandi, or manual CSV). Logs to Supabase outreach_log.

66

Quality

80%

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/outreach/capabilities/linkedin-outreach/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

85%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-engineered, highly actionable multi-phase skill with strong workflow clarity and executable code. The principal weakness is progressive disclosure: the body points to template, tone-preset, and Supabase tool files that are not present in the bundle.

Suggestions

Ship the referenced bundle files (templates/sequence-templates/*.md, templates/tone-presets.json, tools/supabase/schema.sql, tools/supabase/setup_database.py, tools/supabase/supabase_client.py) so the one-level-deep references resolve.

Verify each in-body path matches an actual file in references/scripts/assets, or move genuinely-needed reference content inline if external files will not be bundled.

Consider consolidating the six sequence-template references into a single indexed reference doc to reduce the number of dangling paths users must locate.

DimensionReasoningScore

Conciseness

The body is dense and actionable with minimal padding and no generic explanations of concepts Claude already knows; the only redundancy is the cooldown reference section, which is explicitly intentional and shared with cold-email-outreach.

4 / 5

Actionability

Provides copy-paste-ready Python (Supabase client), concrete PostgREST filter examples, per-tool CSV column mappings, exact character limits, and named merge variables — fully executable guidance covering the common cases.

5 / 5

Workflow Clarity

Six phases are clearly sequenced with explicit validation checkpoints and feedback loops: mandatory cooldown filter, lead-table confirmation, sequence-structure approval before copy generation, a calibration loop (max 3 rounds), a hard approval gate, and post-generation character-count rewrite enforcement.

5 / 5

Progressive Disclosure

References are clearly signaled and one-level-deep (e.g., templates/sequence-templates/*.md, templates/tone-presets.json, tools/supabase/schema.sql), but none of these referenced bundle files exist in the skill bundle, so the disclosure structure cannot actually be navigated.

3 / 5

Total

17

/

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 strong, specific description that names concrete actions and tools, with good natural trigger terms and a clear niche. Its main weakness is the absence of an explicit 'Use when...' clause, which caps completeness at 3.

Suggestions

Add a 'Use when ...' sentence naming concrete trigger phrases (e.g., 'Use when the user asks to build a LinkedIn campaign, send LinkedIn messages or connection requests, or mentions Dripify/Botdog/Expandi/PhantomBuster').

Include a couple of natural synonyms or phrasings users actually say (e.g., 'LinkedIn connection requests', 'LinkedIn follow-ups') to round out trigger term coverage.

Consider noting the relationship to cold-email-outreach explicitly in the description to reinforce distinctiveness from the email counterpart.

DimensionReasoningScore

Specificity

Lists multiple concrete actions ('Takes leads from Supabase, upstream skills, or CSV', 'Aligns on campaign goal and tone', 'writes personalized LinkedIn message sequences (connection request + follow-ups + optional InMail)', 'presents for review', 'and exports', 'Logs to Supabase outreach_log') plus named export tools, giving comprehensive coverage.

5 / 5

Completeness

The 'what' is clear and detailed, but the description contains no 'Use when...' clause or equivalent explicit trigger guidance — the when-guidance lives only in the body — so completeness is capped at 3 per the rubric.

3 / 5

Trigger Term Quality

Includes natural phrases users would say ('LinkedIn outreach campaign', 'LinkedIn message sequences', 'connection request', 'follow-ups', 'InMail') and tool names (Dripify, Botdog, Expandi), but offers no synonyms or file extensions beyond the core terms.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear LinkedIn-specific niche with named tools and a distinct trigger vocabulary, minimal overlap risk with other skills.

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.

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.