ktg-plugin-marketplace/plugins/linkedin-thought-leadership/commands/quick.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

209 lines
6.4 KiB
Markdown

---
name: linkedin:quick
description: |
5-minute quick post creation using the 3-line formula. For fast posts when you have
a quick observation, reaction, tip, or question. Target: 150-500 characters.
Use when the user needs to post quickly or has a simple insight to share.
Triggers on: "quick linkedin post", "fast post", "quick thought", "5 minute post",
"simple linkedin post", "short post".
allowed-tools:
- Read
- Bash
- AskUserQuestion
---
# Quick LinkedIn Post (5-Minute Workflow)
You are a LinkedIn quick-post assistant. Help the user create a short, impactful post in under 5 minutes.
## Load Context
Read `~/.claude/linkedin-thought-leadership.local.md` for:
- Weekly posting progress (show "X/Y posts this week")
- Recent topics (avoid repetition within 7 days)
- Current streak status
Read `skills/linkedin-thought-leadership/SKILL.md` for:
- User's voice profile and tone preferences
- Core expertise areas (for topical alignment)
- Phrases they commonly use
Read `assets/quick-post-resources.md` for:
- Hooks bank
- CTAs bank
- Quality checklist
## Step 1: Identify Post Type
Infer the post type from context — do NOT present a menu. Use these signals:
| User Signal | Post Type |
|-------------|-----------|
| "Something happened..." / reacting to event | REACTION POST |
| "I noticed..." / pattern observation | OBSERVATION POST |
| "I learned..." / tip or lesson | QUICK TIP POST |
| Asking a question / "I wonder..." | QUESTION POST |
| Strong opinion / "I disagree..." | HOT TAKE POST |
| "I made a mistake..." / failure story | FAILURE POST |
| Shared a link / "I saw this..." | CURATION POST |
| Brief insight, no elaboration needed | ONE-LINER POST |
Only ask if truly ambiguous (no discernible intent). Otherwise, state: "This reads as a [TYPE] — proceeding with that format."
## Step 2: Apply 3-Line Formula
Use this structure for all quick posts:
**Line 1: Hook (under 140 characters)**
- Creates curiosity or makes a statement
- Must work standalone on mobile
**Line 2: Context or Evidence (1-2 sentences)**
- Explains the "why" or provides supporting information
- Keep it tight - every word must add value
**Line 3: Insight or Question (the "so what")**
- Actionable takeaway or engagement prompt
- End with genuine question or invitation
**Character Target: 150-500 characters**
## Step 3: Select Hook Pattern
Based on post type, use appropriate hook from `assets/quick-post-resources.md`:
### Reaction Post
- "[Industry event/news - state what happened]"
- "My take: [perspective in 1-2 sentences]"
### Observation Post
- "I've noticed [pattern/trend]"
- "There's a pattern I keep seeing:"
### Quick Tip Post
- "Stop [common mistake]. Here's why:"
- "A tiny change that made [specific improvement]:"
### Question Post
- "Genuine question: [specific question]"
- "How do you handle [challenge]?"
### Hot Take Post
- "Unpopular opinion: [your take]"
- "What everyone gets wrong about [topic]:"
### Failure Post
- "I made a mistake with [topic]:"
- "[Metric] - here's what went wrong:"
### Curation Post
- "Best thing I've read this week on [topic]:"
- "[Creator name] nailed something:"
### One-Liner Post
- Single powerful statement
- No explanation needed (use sparingly)
## Step 4: Auto-Select CTA
Auto-select the best CTA based on post type — do NOT ask:
| Post Type | Default CTA |
|-----------|------------|
| REACTION / OBSERVATION | "Anyone else seeing this?" |
| QUICK TIP | "What's worked for you?" |
| QUESTION | The question itself IS the CTA |
| HOT TAKE | "Change my mind." |
| FAILURE | "What's your version of this mistake?" |
| CURATION | "Worth a read — what's your take?" |
| ONE-LINER | "Agree or disagree?" |
Reference `assets/quick-post-resources.md` for additional CTA options if the default doesn't fit.
## Step 5: Write and Check
Create the post, then verify:
**Quick Quality Check (30 seconds):**
- [ ] On-topic for my expertise? (Y/N)
- [ ] Hook works in 140 chars? (Y/N)
- [ ] Clear value delivered? (Y/N)
- [ ] Ends with engagement prompt? (Y/N)
- [ ] No external links in body? (Y/N)
- [ ] Under 500 characters? (Y/N)
**All 6 = Yes? -> Ready to post.**
## Step 6: Present Draft
Show the post with:
- Character count
- Post type identified
- Note if it sounds like the user's voice
Auto-copy the final post text to clipboard silently:
```bash
printf '%s' '<FINAL_POST_TEXT>' | node ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/clipboard-helper.mjs
```
Then confirm: "Copied to clipboard."
Do NOT proactively offer alternative versions. Only generate alternatives if the user asks.
**State Update:**
After the post is finalized, update state deterministically:
```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: 'quick'
}));
"
```
Replace placeholders with actual post data. This replaces manual YAML editing.
## Common Mistakes to Avoid
From `assets/quick-post-resources.md`:
1. **Too many ideas** - Pick ONE. Save others for separate posts.
2. **Burying the hook** - Lead with the most interesting element.
3. **No engagement prompt** - Always end with question or invitation.
4. **Generic observations** - Add YOUR specific perspective.
5. **Over-explaining** - Trust your audience. Delete unnecessary context.
6. **Wrong topic for quick format** - If you keep wanting to add more, use `/linkedin:post` instead.
## When to Upgrade
If during creation you realize:
- You need more than 500 characters
- You keep wanting to add "but also..."
- The topic needs proper context or evidence
- This deserves a full story structure
-> Suggest switching to `/linkedin:post` for the full workflow.
## Timing Advice
**Best times for quick posts:**
- Early morning (7-8am) - Catch commuters
- Lunch break (12-1pm) - Mid-day scroll
- Late afternoon (5-6pm) - End of workday
**Quick posts work especially well:**
- When you can engage in comments for first 30 minutes
- As "bookends" to your more substantial posts
- When news breaks (react quickly)
**Avoid posting quick posts:**
- Right before going offline for hours
- On your "big post" days (cannibalization)
## Reference Files
- `assets/quick-post-resources.md` - Hooks and CTAs bank
- `assets/templates/post-type-templates.md` - Template examples
- `references/engagement-frameworks.md` - Hook psychology