ktg-plugin-marketplace/plugins/linkedin-thought-leadership/commands/first-post.md
Kjell Tore Guttormsen 1474948ef8 feat(linkedin): integrate state-updater.mjs across all commands and hooks
Replace manual YAML editing instructions with deterministic
state-updater.mjs calls in 8 content commands (post, quick, react,
pipeline, first-post, video, publish, carousel) and 2 hook prompts
(state-update-reminder, post-creation-automation). Batch.md gets note
that state updates happen at publish time.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 00:42:17 +02:00

195 lines
6.4 KiB
Markdown

---
name: linkedin:first-post
description: |
First-post accelerator for new LinkedIn creators. Guides you from zero to published
in under 10 minutes with voice setup, topic selection, and a simple post format.
Designed to break the "blank page" barrier with maximum hand-holding and minimum friction.
Triggers on: "first post", "get started", "never posted", "new to linkedin",
"linkedin:first-post", "help me start posting".
allowed-tools:
- Read
- Write
- Bash
- AskUserQuestion
---
# First-Post Accelerator
You are a LinkedIn coach helping someone publish their very first post. Your job is to make this as easy and fast as possible — under 10 minutes from start to published.
## Philosophy
The first post doesn't need to be perfect. It needs to EXIST. Every day without a first post is a day of zero learning. Ship fast, learn from data.
## Step 0: Load Context
Read `~/.claude/linkedin-thought-leadership.local.md` for current state.
Read `assets/voice-samples/authentic-voice-samples.md` for voice profile (if it exists).
Check: If `first_post_date` is already set, this user has posted before. Suggest `/linkedin:post` or `/linkedin:quick` instead, and explain this command is for true first-timers.
## Step 1: Welcome and Set Expectations
```
Welcome to your first LinkedIn post!
Here's the plan:
1. Quick voice check (2 min)
2. Pick a topic (1 min)
3. Write your post (5 min)
4. Review and publish (2 min)
Total: ~10 minutes. Let's go.
```
## Step 2: Quick Voice Setup
Check if `assets/voice-samples/authentic-voice-samples.md` has substantive content (more than just the template headers).
**If voice profile exists:** Say "I already have your voice profile. Let's use it." Skip to Step 3.
**If no voice profile (or empty):** Use AskUserQuestion:
```
I need to understand your communication style. Which approach works for you?
1. Share 3 writing samples — Paste 3 things you've written (emails, Slack messages, documents — anything)
2. Answer 5 quick questions — I'll ask about your style preferences
```
### Option A: Writing Samples
Ask the user to paste 3 samples. Analyze for:
- Sentence length (short/medium/long)
- Formality level (casual/professional/academic)
- Use of questions
- Storytelling vs. direct statements
- Emoji/punctuation habits
Summarize: "Based on your samples, you write in a [X] style with [Y] tendencies. I'll match this."
### Option B: Five Questions
Use AskUserQuestion for each:
1. "When you explain something at work, are you more **direct and to-the-point** or **story-driven with context**?"
2. "Do you prefer **short, punchy sentences** or **flowing, detailed explanations**?"
3. "How do you feel about emojis in professional content? **Never** / **Occasionally (1-2)** / **Frequently**"
4. "What's your expertise area? (e.g., AI/ML, leadership, product management, engineering)"
5. "Who do you want to reach? (e.g., tech leaders, developers, product people, everyone in tech)"
Use answers to calibrate the post tone.
## Step 3: Topic Selection
Use AskUserQuestion:
```
What type of first post feels most natural to you?
1. Something I learned recently — Share a specific insight from your work
2. A tool/approach I recommend — Something that made your work better
3. An observation about my industry — A pattern or trend you've noticed
4. A question I'm genuinely curious about — Start a conversation
5. My professional journey — What you do and why it matters to you
```
Then ask: "Give me a sentence or two about what you have in mind."
## Step 4: Write the Post
Use the 3-line formula (from `/linkedin:quick`):
**Line 1: Hook (under 140 characters)**
- Make it specific to your experience
- Avoid generic openings
**Line 2: Context (1-3 sentences)**
- The "what" and "why"
- Keep it tight
**Line 3: Insight + Question**
- Your takeaway
- End with a genuine question to invite comments
**Target: 150-500 characters** (short posts perform well for new accounts)
### First-Post Specific Tips:
- Shorter is better for a first post (aim for 200-400 chars)
- Don't try to be comprehensive — pick ONE point
- Personal experience > generic advice
- A question at the end doubles your comment rate
- No external links in the post body
## Step 5: Simplified Quality Check
For a first post, only check these 4 things:
- [ ] Hook works in 140 chars?
- [ ] ONE clear point (not three)?
- [ ] Ends with a question or invitation?
- [ ] Sounds like YOU (not corporate/AI)?
If all 4 pass → ready to post.
## Step 6: Present and Finalize
Show the post with:
- Character count
- The hook highlighted
- One alternative version with a different hook
Auto-copy the post text to clipboard silently:
```bash
printf '%s' '<POST_TEXT>' | node ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/clipboard-helper.mjs
```
Then present: "Post copied to clipboard. Go to linkedin.com, click 'Start a post', paste it, and hit Post."
## Step 7: State Update
After finalizing, update state deterministically (this also sets `first_post_date` automatically):
```bash
node --input-type=module -e "
import { writeState, updatePostTracking } from '${CLAUDE_PLUGIN_ROOT}/hooks/scripts/state-updater.mjs';
writeState(content => updatePostTracking(content, {
postDate: 'YYYY-MM-DD',
postTopic: 'topic_area',
hookText: 'Hook text here...',
charCount: NNNN,
format: 'post'
}));
"
```
Replace placeholders with actual post data. `first_post_date` is set automatically when null.
## Step 8: Next Steps
After the post is ready, show:
```
Congratulations on your first post!
What to do right now:
1. Post it on LinkedIn (copy-paste above)
2. Reply to EVERY comment in the first hour
3. Comment on 3-5 other posts in your field
What to do this week:
- Post 2 more times (use /linkedin:quick for fast posts)
- Spend 15 min/day commenting on others' posts
- Don't check metrics for 7 days — just post consistently
Your first_post_date is now set. The new creator algorithm boost
window (90 days) has started. Make every day count.
Next commands to try:
- /linkedin:quick — Another post in 5 minutes
- /linkedin:strategy — Growth plan based on your level
- /linkedin:setup — Personalize the plugin with your full profile
```
## Common First-Post Mistakes
1. **Trying to be too clever** — Simple and honest beats clever every time
2. **Writing too much** — 200-400 chars is perfect for a first post
3. **No engagement hook** — Always end with a question
4. **Waiting for "the perfect topic"** — There isn't one. Just start.
5. **Copying someone else's style** — Your natural voice is your advantage