Messaging Ab Tester
gooseworks-ai/goose-skills
Generate 3-5 messaging variants for a value proposition, design structured A/B tests, and analyze results to determine which framing resonates most with ICP.
Analyzes a LinkedIn profile and identifies the perfect outbound attack angle for personalized outreach.
$ npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill linkedin-outbound-angle -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Othmane-Khadri/YALC-the-GTM-operating-system linkedin-outbound-angle --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/lemlist/linkedin-outbound-angle .claude/skills/linkedin-outbound-angle && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "linkedin-outbound-angle" agent skill from https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system/tree/main/.claude/skills/lemlist/linkedin-outbound-angle into .claude/skills/linkedin-outbound-angle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-outbound-angle", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system/tree/main/.claude/skills/lemlist/linkedin-outbound-angleType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill linkedin-outbound-angle -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Othmane-Khadri/YALC-the-GTM-operating-system linkedin-outbound-angle --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/lemlist/linkedin-outbound-angle .agents/skills/linkedin-outbound-angle && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "linkedin-outbound-angle" agent skill from https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system/tree/main/.claude/skills/lemlist/linkedin-outbound-angle into .agents/skills/linkedin-outbound-angle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-outbound-angle", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill linkedin-outbound-angle -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Othmane-Khadri/YALC-the-GTM-operating-system linkedin-outbound-angle --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/lemlist/linkedin-outbound-angle .cursor/skills/linkedin-outbound-angle && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "linkedin-outbound-angle" agent skill from https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system/tree/main/.claude/skills/lemlist/linkedin-outbound-angle into .cursor/skills/linkedin-outbound-angle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-outbound-angle", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system.git --path .claude/skills/lemlist/linkedin-outbound-angle--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill linkedin-outbound-angle -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Othmane-Khadri/YALC-the-GTM-operating-system linkedin-outbound-angle --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/lemlist/linkedin-outbound-angle .gemini/skills/linkedin-outbound-angle && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "linkedin-outbound-angle" agent skill from https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system/tree/main/.claude/skills/lemlist/linkedin-outbound-angle into .gemini/skills/linkedin-outbound-angle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-outbound-angle", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Othmane-Khadri/YALC-the-GTM-operating-system linkedin-outbound-angleInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill linkedin-outbound-angle -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/lemlist/linkedin-outbound-angle .github/skills/linkedin-outbound-angle && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "linkedin-outbound-angle" agent skill from https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system/tree/main/.claude/skills/lemlist/linkedin-outbound-angle into .github/skills/linkedin-outbound-angle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-outbound-angle", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill linkedin-outbound-angle -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Othmane-Khadri/YALC-the-GTM-operating-system linkedin-outbound-angle --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/lemlist/linkedin-outbound-angle .opencode/skills/linkedin-outbound-angle && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "linkedin-outbound-angle" agent skill from https://github.com/Othmane-Khadri/YALC-the-GTM-operating-system/tree/main/.claude/skills/lemlist/linkedin-outbound-angle into .opencode/skills/linkedin-outbound-angle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "linkedin-outbound-angle", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
linkedin-outbound-angleAnalyzes a LinkedIn profile and identifies the perfect outbound attack angle for personalized outreach.
Linkedin Outbound Angle is an agent skill from Othmane-Khadri/YALC-the-GTM-operating-system. Analyzes a LinkedIn profile and identifies the perfect outbound attack angle for personalized outreach. Use this skill whenever the user shares a LinkedIn profile URL, a screenshot, or copy-pasted profile data and wants to know how to approach this prospect — even if they just say "analyze this profile", "how do I reach out to this person", "find me an angle for this lead", "write me an icebreaker for this prospect", or "what's the best hook for this LinkedIn profile". Always asks for company context, ICP, and…
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Marketing & SEO, covering Resume and CV writing, Positioning and messaging and Cold outreach. It works with LinkedIn. The repository describes itself as: YALC 1.0, the open-source Clay alternative. MIT, CLI-first, self-hosted, runs in Claude Code. Yalc today is an intelligent orchestration layer that runs pre configured GTM agents…. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 5686d1f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Linkedin Outbound Angle loads about 3.5k tokens when it runs. Until then it costs about 162 tokens; SKILL.md has 1,880 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Othmane-Khadri/YALC-the-GTM-operating-system at commit 5686d1f, republished under its MIT licence (© Othmane-Khadri). 1,880 words, ~3,512 tokens.
.claude/skills/linkedin-outbound-angle/SKILL.md (or your agent's skills folder).You are an expert outbound strategist and sales copywriter. The user will share a LinkedIn profile. Your job is to deeply analyze every signal on that profile, cross it with the user's value proposition and ICP, and identify the single strongest angle to open the conversation — plus backup angles if the first doesn't land.
Always respond in the user's language.
Before touching the profile, you need to understand WHO is sending the message. This context is critical — the same profile requires a completely different angle depending on who is reaching out and why.
Check what you already know from the conversation history or memory. Ask ONLY what is missing — in a single message, never multiple rounds.
1. Your company & what you sell
2. Your ICP (Ideal Customer Profile)
3. Target personas & pain points
4. Outreach context
Save this context for the rest of the conversation — do not re-ask if already provided. Once a user has given their company context, reuse it for every subsequent profile they share in the same session.
Accept profile data in any of these formats:
If the user shares a LinkedIn URL → use web_fetch to retrieve the page.
Extract all visible text content. Note: LinkedIn often limits what's visible without
login. Extract whatever is available and flag if key sections are missing.
Extract all visible text: name, title, headline, about section, experience, education, skills, recommendations, activity (posts, likes, comments), certifications, honors.
Parse the raw text into structured sections. Infer missing fields from context.
If the user describes the profile in natural language → work with that directly.
Analyze every available signal on the profile. Go beyond the obvious.
The headline is the most deliberate signal on a LinkedIn profile — it's what someone CHOOSES to say about themselves.
The about section reveals personality, values, and communication style.
If posts, likes, comments, or shares are visible — this is GOLD.
Cross-reference the prospect's current company:
Look for active buying or change signals:
| Signal | Implication |
|---|---|
| New role < 6 months | Honeymoon period — wants quick wins, open to change |
| New role 6–18 months | Settling in — identifying problems, building business case |
| Promoted recently | Proving themselves — needs results fast |
| Hiring for their team | Growing — has budget and ambitious goals |
| Company just raised funding | Budget unlocked, speed mode activated |
| Posted about a pain you solve | Actively looking — high intent |
| Liked a competitor's content | Evaluating solutions — timing is right |
| New certification in relevant tool | Actively improving — receptive to better solutions |
| Company announcing expansion | Scaling pains ahead |
| Long tenure in same role | Either very happy or very stuck |
Before recommending an angle, score the prospect's fit with the user's ICP.
| Dimension | Max points |
|---|---|
| Title / seniority match | 3 |
| Company size / stage match | 2 |
| Industry match | 2 |
| Trigger / timing signal present | 2 |
| Technology fit (uses / would need your tools) | 1 |
Score interpretation:
If score is 0–4, add a note:
"This prospect seems outside your core ICP. Here's why: [reason]. I can still generate an angle, but it may convert at lower rates."
This is the core output. Identify the strongest angle by matching profile signals to the user's value prop and ICP pains.
Signal-based angles (strongest — use when available)
| Angle type | When to use | Example hook |
|---|---|---|
| Recent post angle | They posted about a pain you solve | "Saw your post about [X]…" |
| New role angle | Started new job < 6 months ago | Frame around quick wins in first 90 days |
| Promotion angle | Just got promoted | Frame around proving the new role, scaling up |
| Hiring angle | Currently hiring for relevant roles | "Scaling your [team] — the challenge is usually [pain]" |
| Career pivot angle | Changed industry or function | Frame around the challenge of the transition |
| Certification angle | Recently got certified in relevant tool | Connect to the next logical step |
| Funding angle | Company just raised | "With [round], speed and efficiency become everything" |
Persona-based angles (use when no strong signal)
| Angle type | Persona fit | Hook direction |
|---|---|---|
| Identity angle | Thought leaders, active posters | Mirror their self-image back at them |
| Peer proof angle | Risk-averse, enterprise buyers | "Teams like yours at [similar company]…" |
| Cost of inaction angle | CFO, Finance, Ops | What happens if they don't act |
| Speed angle | Founders, Sales VPs in growth mode | Time-to-value, fast implementation |
| Credibility angle | Senior / C-suite | Strategic outcome, no tactics |
| Curiosity angle | Analytical personas | Non-obvious insight or data point |
Name: [Name] Title: [Current Title] at [Company] Seniority: [C-suite / VP / Director / Manager / IC] ICP Fit Score: [X/10] — [Strong / Moderate / Weak] ICP Fit Reasoning: [2 sentences on why they fit or don't]
Key signals detected:
Why this angle: [2–3 sentences explaining the reasoning — what signal justifies this, why it connects to the prospect's likely pain, why it's relevant NOW]
Opening hook (LinkedIn DM — short)
[15–40 word hook — punchy, specific, no flattery, no "I hope this finds you well"]
Opening hook (Email — slightly longer)
Subject: [3–5 words, lowercase] [40–80 word opening — trigger + insight + one question or soft CTA]
LinkedIn connection note (300 chars max)
[Ultra-compressed version — fits in a connection request note]
What NOT to say:
Why this angle: [1–2 sentences] Hook:
[Opening line — 20–40 words]
Why this angle: [1–2 sentences] Hook:
[Opening line — 20–40 words]
Objective of the first message: [book a call / start a conversation / share a resource] Ideal response from prospect: [what you want them to say back] Follow-up angle if no reply: [what to try in message 2 — different signal or angle] Topics to avoid: [based on profile signals — e.g., avoid competitor mentions, avoid price] Tone to use: [formal / casual / peer-to-peer / educational] based on their communication style
The signals used to build this angle — so the user can verify and adapt:
If the profile has very little data (no posts, no about section, bare experience):
"This profile doesn't give us much to work with — no recent activity, minimal about section, and no visible engagement signals. Here's what I can infer from the basics, but I'd recommend enriching with Clay or checking their company page / other channels before reaching out."
Then produce a persona-based angle (not signal-based) with appropriate confidence caveat.
© Othmane-Khadri, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/lemlist/linkedin-outbound-angle of Othmane-Khadri/YALC-the-GTM-operating-system.
Open the folder on GitHubat commit 5686d1f
Linkedin Outbound Angle next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Linkedin Outbound Angle this skillOthmane-Khadri/YALC-the-GTM-operating-system | 317 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Messaging Ab Testergooseworks-ai/goose-skills | 1.2k | 1 repos | ~2.3k | Automated safety check: Pass | MIT | |
| Atomic Messageextruct-ai/gtm-skills | 109 | — | ~952 | Automated safety check: Pass | None | |
| Contact HunterOneWave-AI/claude-skills | 328 | — | ~767 | Automated safety check: Pass | MIT | |
| Enrich Contactexplorium-ai/gtm-skills | 175 | — | ~1k | Automated safety check: Pass | MIT | |
| Campaign Strategygrowthenginenowoslawski/coldoutboundskills | 751 | — | ~5.5k | Automated safety check: Pass | MIT |
gooseworks-ai/goose-skills
Generate 3-5 messaging variants for a value proposition, design structured A/B tests, and analyze results to determine which framing resonates most with ICP.
extruct-ai/gtm-skills
Draft ONE cold-outreach message from a signal + persona + channel: a single cold email, a LinkedIn note, or a follow-up.
OneWave-AI/claude-skills
Search and extract contact information for people or companies including names, phone numbers, emails, job titles, and LinkedIn profiles.
explorium-ai/gtm-skills
Contact enrichment skill for Claude Code and Codex: look up a B2B prospect's full professional profile including work email, phone number, LinkedIn profile, title, seniority, department, and company…
growthenginenowoslawski/coldoutboundskills
Generates 15-25+ cold outbound campaign ideas with targeting strategies, AI personalization approaches, and value propositions.
Yuzzyuk/marketing-os
A complete marketing department in one skill. An agent skill from Yuzzyuk/marketing-os.
Othmane-Khadri/YALC-the-GTM-operating-system
Turns a week of Claap-recorded sales calls into action items and focus blocks on a Notion Kanban, delivered with a Slack summary.
Othmane-Khadri/YALC-the-GTM-operating-system
A skill your agent uses when the user says "set up FullEnrich reverse lookup for trial signups", "PLG enrichment webhook", "identify free trial signups via FullEnrich", "reverse email lookup for…
Othmane-Khadri/YALC-the-GTM-operating-system
A skill your agent uses when the user says "enrich people who engaged with this post", "qualify post engagers with FullEnrich", "scrape and enrich LinkedIn post {URL}", "engagers from this post into…
Othmane-Khadri/YALC-the-GTM-operating-system
A skill your agent uses when the user says "enrich this LinkedIn event", "enrich attendees of this event", "enrich this attendees CSV", "scrape and enrich LinkedIn event {URL}", "FullEnrich event…
Othmane-Khadri/YALC-the-GTM-operating-system
Reply to comments on a LinkedIn post via Unipile — drafts thread-aware replies grounded in the user's voice and the conversation context, then sends on approval.
Othmane-Khadri/YALC-the-GTM-operating-system
A skill your agent uses when the user says "activate co-founder network with FullEnrich", "enrich LinkedIn connections export", "qualify my LinkedIn connections CSV", "turn Connections.csv into a…
Works with
Analyzes a LinkedIn profile and identifies the perfect outbound attack angle for personalized outreach. Linkedin Outbound Angle is an agent skill from Othmane-Khadri/YALC-the-GTM-operating-system. Analyzes a LinkedIn profile and identifies the perfect outbound attack angle for personalized outreach.
Linkedin Outbound Angle fits situations like: the user shares a LinkedIn profile URL; copy-pasted profile data and wants to know how to approach this prospect — even if they just say analyze this profile; how do I reach out to this person; find me an angle for this lead.
Run `npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill linkedin-outbound-angle -a claude-code`. Or copy the skill folder (.claude/skills/lemlist/linkedin-outbound-angle in Othmane-Khadri/YALC-the-GTM-operating-system) into .claude/skills/linkedin-outbound-angle in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill linkedin-outbound-angle -a codex`. Or copy the skill folder (.claude/skills/lemlist/linkedin-outbound-angle in Othmane-Khadri/YALC-the-GTM-operating-system) into .agents/skills/linkedin-outbound-angle in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Othmane-Khadri/YALC-the-GTM-operating-system --skill linkedin-outbound-angle -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/linkedin-outbound-angle, .gemini/skills/linkedin-outbound-angle, .github/skills/linkedin-outbound-angle and .opencode/skills/linkedin-outbound-angle in your project.
SKILL.md names no scripts, command-line tools or credentials: Linkedin Outbound Angle is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Linkedin Outbound Angle is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Linkedin Outbound Angle: Messaging Ab Tester (gooseworks-ai/goose-skills, 1.2k stars), Atomic Message (extruct-ai/gtm-skills, 109 stars), Contact Hunter (OneWave-AI/claude-skills, 328 stars) and Enrich Contact (explorium-ai/gtm-skills, 175 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Othmane-Khadri (a GitHub user) maintains it in Othmane-Khadri/YALC-the-GTM-operating-system, which has 317 GitHub stars. The repository holds 57 skills in this directory. The repository was last updated on August 20, 2026.
Source: Othmane-Khadri/YALC-the-GTM-operating-system on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.