CtrlK
BlogDocsLog inGet started
Tessl Logo

linkedin-message-writer

Research LinkedIn profiles and write personalized messages for any LinkedIn message type — connection requests, InMails, DMs, message requests, post comments, and comment replies. Takes LinkedIn URLs as input, researches each person (profile data + recent posts via Apify), and generates messages tailored to each lead's background, interests, and recent activity. Exports tool-ready CSVs for Dripify, Expandi, Botdog, PhantomBuster, or generic format. No LinkedIn cookies or login required.

61

Quality

72%

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-message-writer/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

77%

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

The body is highly actionable with a clear, validated workflow for a batch outreach operation, but it is a single large monolithic file with some marketing-flavored filler that could be tightened or split into reference files.

Suggestions

Split the per-tool CSV column specs and the full message-type reference into a references/ file (e.g. MESSAGE_TYPES.md, EXPORT_FORMATS.md) and link to them one level deep to improve progressive disclosure.

Trim conversational filler such as 'That's it. One env var. Nothing else.' and the repeated no-cookies tagline to recover token budget.

Condense the Phase 0 intake into a tighter checklist so the prose doesn't pad the token budget.

DimensionReasoningScore

Conciseness

It largely avoids explaining concepts Claude already knows, but carries conversational/marketing filler ('That's it. One env var. Nothing else.', the repeated no-cookies tagline) and a verbose 11-question intake block that could be tightened.

2 / 3

Actionability

It provides copy-paste-ready executable curl calls with exact Apify actor IDs, per-tool CSV column layouts, cost-per-profile figures, character limits, and a file-naming convention — fully concrete guidance.

3 / 3

Workflow Clarity

Phases 0–5 are clearly sequenced with explicit checkpoints (confirm lead count, generate-then-iterate max 3 rounds, character-count enforcement, do-not-mark-done without confirmation) plus an error-handling table for this batch operation.

3 / 3

Progressive Disclosure

No references/, scripts/, or assets/ bundle files exist and the ~340-line skill is monolithic, keeping reference material (per-tool CSV specs, message-type table, curl templates) inline rather than split into clearly-signaled one-level-deep files.

2 / 3

Total

10

/

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 specific and distinctive about the skill's LinkedIn outreach niche, but is capped on completeness because it omits an explicit 'Use when...' trigger clause, and its trigger-term phrasing reads as capability enumeration rather than natural user speech.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user wants to write LinkedIn messages, do LinkedIn outreach, or send personalized connection requests / InMails / DMs.'

Mirror the natural phrases users actually say ('write LinkedIn messages,' 'LinkedIn outreach,' 'connect with these leads') into the description rather than only listing message types.

Lead with the triggering scenario before the capability list so 'when to use it' is as prominent as 'what it does.'

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'Research LinkedIn profiles,' 'write personalized messages,' six named message types, 'researches each person (profile data + recent posts via Apify),' and 'Exports tool-ready CSVs' — matching the 'lists multiple specific concrete actions' anchor.

3 / 3

Completeness

It clearly answers 'what this does' but lacks any 'Use when...' clause or equivalent explicit trigger guidance, which the rubric caps at 2.

2 / 3

Trigger Term Quality

It contains relevant LinkedIn keywords (connection requests, InMails, DMs) but enumerates capabilities rather than echoing natural user phrasings like 'write LinkedIn messages' or 'LinkedIn outreach,' so coverage of naturally-spoken terms is incomplete.

2 / 3

Distinctiveness Conflict Risk

It carves a clear niche — LinkedIn message writing via Apify with exports to named outreach tools — with distinct triggers unlikely to collide with unrelated 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.