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>
209 lines
6.4 KiB
Markdown
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
|