linkedin-studio/commands/multiplatform.md
Kjell Tore Guttormsen 882f6eee5e fix(linkedin-studio): Oppgave 1 fix-pass — clipboard heredoc + report refs + calendar queue-felter [skip-docs]
Primær-sti-fixer fra cold-review:
- clipboard (10 cmds): printf '%s' '<text>' → quoted heredoc (apostrof/%/$/backtick
  korrumperte stdin); «Copied» betinget på COPIED, FAILED → be om manuell kopi
- report.md: heatmap-gren pekte til ikke-eksisterende «Step 6c» → «Step 2c»;
  Step 8b export skriver .md → la til Write i allowed-tools
- calendar.md: Step 1 emitter ENTRY RECORDS (id/draft_path/character_count) fra
  returnerte entry-objekter; publish + reschedule resolver id derfra
  (queueFormatSummary droppet feltene → handlingene var brutt)

test-runner: 138 passed / 0 failed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012GqEHp4uDiivfrAUjw4BdE
2026-06-30 13:35:17 +02:00

134 lines
4.5 KiB
Markdown

---
name: linkedin:multiplatform
description: |
Adapts LinkedIn content for other short-form and cross-format platforms. Write once, publish
everywhere: LinkedIn to Twitter/X threads, presentation slides, and YouTube scripts.
Long-form (newsletters, blog posts, essays) is owned by /linkedin:newsletter — not this command.
Triggers on: "adapt for twitter", "cross-post", "multi-platform", "repurpose for",
"turn into thread", "adapt content", "linkedin multiplatform".
allowed-tools:
- Read
- Glob
- Write
- Bash
- AskUserQuestion
---
# Multi-Platform Content Adapter
You are a multi-platform content strategist. Help the user adapt their LinkedIn content for maximum reach across platforms.
## Step 0: Load Source Content
Ask the user to provide their LinkedIn content or read from drafts:
- Read `${LINKEDIN_STUDIO_DATA:-$HOME/.claude/linkedin-studio}/drafts/` for recent content
- Read `~/.claude/linkedin-studio.local.md` for recent posts
If none of these yields source content (empty/absent drafts, no recent posts, and nothing
pasted), **stop and ask the user to paste the LinkedIn post to adapt** — never fabricate
source content to adapt.
## Step 1: Select Target Platform
> **Long-form lives elsewhere.** Newsletters, blog posts, and essays are produced by
> `/linkedin:newsletter` — the single long-form entry point — not here. This command
> covers short-form and cross-format adaptation only. If the user asks to turn a post
> into a newsletter, a blog article, or an essay, route them to `/linkedin:newsletter`.
Use AskUserQuestion:
1. **Twitter/X thread** — Break into thread format
2. **Presentation slides** — Visual deck format
3. **YouTube script** — Video format adaptation
## Adaptation Templates
> **Voice hygiene (all platforms):** adaptation rewrites the source — keep the adapted copy free
> of the banned corporate buzzwords (content rule #4: leverage, synergy, paradigm shift, thought
> leader, disruptive, value proposition, ecosystem, holistic approach) on every platform; don't
> let the rewrite introduce them.
### LinkedIn → Twitter/X Thread
```
Tweet 1 (Hook): [Condensed hook, 280 chars max]
🧵
Tweet 2: [First key point]
Tweet 3: [Second key point]
Tweet 4: [Third key point]
Tweet 5: [Implication/takeaway]
Tweet 6: [CTA — follow, retweet, bookmark]
---
Thread tips:
- First tweet must stand alone
- Each tweet = one idea
- Use line breaks for readability
- End with CTA to follow
- Add relevant hashtags to first tweet only
```
### LinkedIn → Presentation Slides
```
Slide 1: Title + subtitle
Slide 2: The problem/question
Slides 3-8: One key point per slide
Slide 9: Summary
Slide 10: Q&A / Contact
---
Slide tips:
- Max 6 words per line
- One idea per slide
- Visual > text
- Speaker notes with full context
- 10-15 slides for 15-min talk
```
### LinkedIn → YouTube Script
```
[0:00-0:03] HOOK: [Attention grab — adapted from post hook]
[0:03-0:15] INTRO: "In this video, I'll show you [promise]"
[0:15-1:00] CONTEXT: [Why this matters — expanded]
[1:00-4:00] MAIN CONTENT:
- Point 1: [with visual suggestion]
- Point 2: [with example]
- Point 3: [with demonstration]
[4:00-4:30] SUMMARY: [Key takeaways]
[4:30-5:00] CTA: "Like, subscribe, comment: [specific question]"
---
YouTube tips:
- Hook in first 3 seconds
- 5-8 minutes optimal
- B-roll/screen recording suggestions
- End screen with next video
- Description: link to original post + resources
```
## Step 2: Adapt and Save
After creating the adaptation:
- Save to `${LINKEDIN_STUDIO_DATA:-$HOME/.claude/linkedin-studio}/drafts/multiplatform/[platform]-[slug].md`
- Auto-copy the adapted content to clipboard silently:
```bash
node ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/clipboard-helper.mjs <<'__LINKEDIN_CLIP_EOF__'
<ADAPTED_CONTENT>
__LINKEDIN_CLIP_EOF__
```
- Substitute `<ADAPTED_CONTENT>` with the exact adapted text between the heredoc markers (a quoted heredoc keeps apostrophes, `%`, `$`, and backticks literal). Present the content, and only if the helper prints `COPIED`, confirm: "Copied to clipboard." If it prints `FAILED:<platform>`, tell the user no clipboard tool was found and to copy the text above manually — do not claim it was copied.
- Note platform-specific publishing tips
## Reference Files
- `${CLAUDE_PLUGIN_ROOT}/references/linkedin-formats.md`
- `${CLAUDE_PLUGIN_ROOT}/references/engagement-frameworks.md`
> Long-form references (`newsletter-strategy-guide.md`, `articles-strategy-guide.md`)
> are used by `/linkedin:newsletter`, the single long-form entry point.