> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://gtm-tools.sh/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://gtm-tools.sh/_mcp/server.

# LinkedIn Copywriter

> Install the gtm-skills bundle into Claude Code (or any Agent Skills-compatible client) with one command. Includes the `linkedin-copywriter` sub-skill, which reads your recent posts to learn your voice, fetches context for the target post or profile, drafts in your style, scrubs em dashes / banned vocabulary / sycophantic openers / rule-of-three constructions, and returns copy-paste-ready output. Four modes (post / comment / invitation / dm), per-mode char limits, draft-then-paste by default.

## Getting started

The `linkedin-copywriter` skill is part of the [gtm-skills](https://github.com/arnaudjnn/gtm-skills) bundle, a [Claude Code skill](https://docs.claude.com/en/docs/claude-code/skills) catalog for GTM workflows, listed on the [skills.sh](https://www.skills.sh/arnaudjnn/gtm-skills/linkedin-copywriter) registry. It's a focused instruction set that loads on demand when an agent is asked to draft LinkedIn content: it uses the gtm-tools [LinkedIn tools](/linkedin-tools) for voice ingestion and context fetching, then drafts and scrubs against an anti-AI pattern list built from the top LinkedIn-ghostwriter skills on the market.

The skill calls the gtm-tools HTTP API over `curl`, so it works in Claude Code and any Agent Skills-compatible client with no MCP wiring. Drafting needs only an API key; the two sending modes (`invitation`, `dm`) also need a [LinkedIn session in the pool](/extension).

## Installation

Install just the LinkedIn Copywriter skill:

```bash
npx skills add arnaudjnn/gtm-skills --skill linkedin-copywriter
```

Add `--yes` to skip the confirmation prompts (for CI or a scripted setup), and `--global` to install at user level instead of into the current project:

```bash
npx skills add arnaudjnn/gtm-skills --skill linkedin-copywriter --yes --global
```

Or install the whole `gtm-skills` catalog (`outbound-sales`, `linkedin-copywriter`, `reddit-community-manager`):

```bash
npx skills add arnaudjnn/gtm-skills
```

Both work because `arnaudjnn/gtm-skills` follows the [anthropics/skills](https://github.com/anthropics/skills) layout: each skill lives at `skills/<name>/SKILL.md` and is addressable by name.

### Claude Code plugin marketplace

The repo also ships a [`.claude-plugin/marketplace.json`](https://github.com/arnaudjnn/gtm-skills/blob/main/.claude-plugin/marketplace.json), so you can install it as a plugin instead:

```
/plugin marketplace add arnaudjnn/gtm-skills
/plugin install gtm-skills@gtm-skills
```

### Manual installation

Skills are plain markdown. Clone the repo and drop the directory where your client looks for skills:

```bash
git clone https://github.com/arnaudjnn/gtm-skills.git
cp -R gtm-skills/skills/linkedin-copywriter ~/.claude/skills/linkedin-copywriter
```

## Configuration

### Environment variable

Set the API key once. Every tool call in the skill reads it:

```bash
export GTM_TOOLS_API_KEY="<your-api-key>"
```

### Where the skill installs

`npx skills add` writes the real files under `.agents/skills/<name>/` and symlinks them into each agent directory it detects, including `.claude/skills/<name>` for Claude Code. Pass `--copy` if you'd rather have real files in both places than symlinks, and `--global` to install into your home directory instead of the project.

Get an API key with `get_api_key` (see [Getting Your API Key](/knowledge-base/getting-started/getting-api-key)) or run `gtm-tools admin login`, which stores it in `~/.gtm-tools/config.json`.

## Features

When the `linkedin-copywriter` skill loads, it teaches the agent:

### Four modes

`post` / `comment` / `invitation` / `dm`, each with its own char budget, structure, and tool fan-out. The skill picks the mode from the request and asks rather than guessing when it's ambiguous.

### Voice ingestion

Pulls the user's last 15 to 30 posts via `list_user_posts` to learn their register before drafting: sentence length, opener patterns, content pillars, formatting habits. It captures rhythm, never copies phrases.

### The Reaction-Mode Gate

For comments, it extracts the original poster's claims **verbatim** and confirms which one to react to before drafting. This catches misreadings before they become public, downvotable comments.

### Anti-AI scrub

A mandatory pass against roughly 55 banned corporate tells (*leverage, utilize, robust, paradigm, synergy, streamline, comprehensive, pivotal, transformative, cutting-edge, ecosystem, holistic*, plus intensifiers like *deeply, truly, fundamentally*), an em-dash ban, a rule-of-three ban, a sycophancy ban, and a hedge-stacking ban. Each failure means a rewrite.

### Char-limit guards

3,000 hard / 1,800 to 2,800 sweet spot for posts; 1,250 hard / 200 to 350 for comments; 300 hard for invitations; \~800 target for DMs.

### Draft-then-paste by default

Posts and comments come back as copy-paste-ready text, because LinkedIn's write API is gated to approved partners. Invitations and DMs send via `send_linkedin_invitation` / `send_linkedin_message` only after explicit approval ("ship it", not "looks good").

### Five bundled sub-skills

`profiles`, `companies`, `posts`, `jobs`, and `messaging` ship alongside the main skill, each a focused tool reference the agent loads when a draft needs that kind of lookup.

## Example usage

Ask in natural language. The skill loads on its own, with no slash command:

* "Write a LinkedIn post about what we learned migrating off Segment."
* "Draft a comment on this post: `<url>`."
* "Ghostwrite this in my voice, I'll paste it myself."
* "Write a connection request to the VP of Sales at acme.com."
* "Repurpose this blog post into a LinkedIn post."

It won't take over pure prospecting (use the [LinkedIn tools](/linkedin-tools) directly, or the [`outbound-sales`](/skills/outbound-sales) skill) or non-LinkedIn channels.

## Resources

* [View on skills.sh](https://www.skills.sh/arnaudjnn/gtm-skills/linkedin-copywriter): the full `SKILL.md`, install count, related skills.
* [Source on GitHub](https://github.com/arnaudjnn/gtm-skills/tree/main/skills/linkedin-copywriter): `SKILL.md` plus the bundled references (`anti-ai.md`, `hooks.md`, `comment-templates.md`, `tools-reference.md`). Open a PR to improve it.
* [LinkedIn Tools](/linkedin-tools): every tool the skill calls.
* [Browser Extension](/extension): required for the sending modes.