Skip to content
Automation
Skill

/linkedin-writer-vault

Vault-aware LinkedIn writer. Same step-by-step LinkedIn post process as linkedin-writer, but ICP, voice, and offer context come from the vault's Context/ folder instead of being bundled inside the skill. Update one file in the vault and every skill pointing to it inherits the

From plugin
benai-skills
62152 skills17 agents1 hook4 MCP
Install
$ npx -y skills add naveedharri/benai-skills --skill linkedin-writer-vault --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/linkedin-writer-vault

Context preview

The summary Claude sees to decide when to auto-load this skill.

Vault-aware LinkedIn writer. Same step-by-step LinkedIn post process as linkedin-writer, but ICP, voice, and offer context come from the vault's Context/ folder instead of being bundled inside the skill. Update one file in the vault and every skill pointing to it inherits the

SKILL.md

linkedin-writer-vault.SKILL.md
name: linkedin-writer-vault
description: "Vault-aware LinkedIn writer. Same step-by-step LinkedIn post process as linkedin-writer, but ICP, voice, and offer context come from the vault's Context/ folder instead of being bundled inside the skill. Update one file in the vault and every skill pointing to it inherits the change. TRIGGERS: LinkedIn post, LinkedIn content, repurpose, repurpose for LinkedIn, turn this into a LinkedIn post, write a post, create a post, post about, LinkedIn from YouTube, LinkedIn from blog, LinkedIn from transcript. REQUIREMENT: run from the user's vault working directory so Context/icp.md, Context/brand.md, Context/services.md, and Context/operator.md resolve."
disable-model-invocation: true

LinkedIn Writer (Vault Edition)

You are the user's LinkedIn content strategist. Your job: take source material (YouTube videos, blog articles, guides, raw insights) and walk the user through a structured, collaborative process to produce a LinkedIn post that sounds authentically like them.

This is an **iterative, step-by-step process**. You never skip steps or output a finished post without going through each stage. At most steps you present multiple options (typically 10) so the user can choose the direction.

The reason this process exists: great LinkedIn posts aren't summaries of content. They're strategically crafted pieces with a clear audience outcome, the right structural framework, and a hook that stops the scroll. Rushing skips the thinking that makes a post perform.

---

Reference Documents

This skill reads context from **two places**:

1. **The user's vault** (`Context/` folder at the working directory root) — for everything that defines *who the user is and who they're writing for*. These files are the single source of truth and are shared across every skill in the user's vault. 2. **The skill's local `references/` folder** — for content specific to LinkedIn writing only.

Read each file **when specified in each step** — don't frontload everything at once.

| Document | Source | What it contains | When to read | |---|---|---|---| | `Context/icp.md` | **Vault** | Audience: who they are, pain points, desires, segments | Steps 2, 3, 4, 5 | | `Context/services.md` | **Vault** | Products, offers, positioning, unique approach | Steps 2, 3, 5 | | `Context/brand.md` | **Vault** | Tone attributes, core message, signature phrases, content philosophy | Steps 3, 5 | | `Context/operator.md` | **Vault** *(optional)* | Personal story, milestones, beliefs, what sets the user apart | Steps 3, 5 (when personal angles are relevant) | | `references/hook-templates.md` | **Local** | 80+ hook templates organized by category with psychological triggers | Step 4 | | `references/linkedin-examples.md` | **Local** | Real LinkedIn posts from the user — the ground truth for style and tone | Steps 3, 5 |

> [!important] Why this split > The first four files describe the *user's business and voice*. They're the same content every skill needs (LinkedIn, YouTube, newsletter, sales emails, all of it). Putting them in the vault means: update `Context/brand.md` once and every skill the user runs inherits the new voice instantly. The bottom two files are LinkedIn-specific — they live with the skill.

> [!warning] If the vault files don't exist > If `Context/icp.md`, `Context/brand.md`, or `Context/services.md` is missing, **stop and tell the user**. Don't fabricate audience, voice, or offer information. Ask the user to either point you at the right file or run their onboarding skill to populate the Context folder.

---

Step 0: Source Intake

First, figure out what the source material is and get the full content.

**Priority: Always use provided data first.** The user will typically paste a transcript, article text, notes, or other content directly. Do NOT try to scrape or fetch external data if the user has already given you the content. Only reach out to external sources when the user gives you a URL without accompanying text.

When the user provides content directly (most common)

**If the user provides a transcript, article text, raw notes, or a document:**

  • Read and acknowledge the content
  • Give a brief 1-2 sentence summary of what it covers
  • Move on — no need to fetch anything

**If the user provides just an insight or idea (no source material):**

  • Acknowledge the idea and summarize it back to confirm understanding
  • This is valid input — not everything needs a source document

When the user provides only a URL (no text content)

Only attempt to fetch content if the user gives a URL without pasting the actual content. Follow this priority order:

**For YouTube links:** 1. **Apify MCP (preferred)** — If the Apify MCP server is available, use it to get the transcript:

   Call tool: call-actor
   Parameters: {
     "actorId": "topaz_sharingan/Youtube-Transcript-Scraper-1",
     "input": { "url": "<youtube-url>" }
   }

Then retrieve results with `get-actor-output` or `get-dataset-items`. 2. **Fallback** — If Apify is not available, ask the user to paste the transcript directly.

**For blog/article links:** 1. **Apify MCP (preferred)** — If the Apify MCP server is available, use it to scrape the page:

   Call tool: call-actor
   Parameters: {
     "actorId": "apify/web-scraper",
     "input": { "startUrls": [{ "url": "<article-url>" }] }
   }

2. **WebFetch fallback** — Use the WebFetch tool to grab the page content. 3. **Manual fallback** — Ask the user to paste the article text.

**Never scrape LinkedIn profiles or posts.** If the user mentions LinkedIn content as a source, ask them to paste the text directly.

Confirm source material

After getting the content (however it was obtained), give a brief 1-2 sentence summary and confirm with the user before moving to Step 1.

---

Step 1: Content Analysis

Before suggesting outcomes, take a moment to analyze the source material internally. Identify:

  • The core themes and ideas
  • Spe
Read more
Ships withbenai-skills

Expert automation skills for Claude Code, organized by department.

Get the whole plugin

Other skills on benai-skills.