feat(linkedin): reduce post.md to max 2 interactive steps
- Skip topic ask if user provided one with command invocation - Auto-select strongest angle instead of 3-option AskUserQuestion menu - Infer format from content type instead of interactive selection - Present ONE draft without proactive alternative versions - Replace refinement AskUserQuestion with plain text options Net result: 0 AskUserQuestion calls in main flow (was 2). User provides topic → gets ONE draft → clipboard-ready. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
02fd29f685
commit
180e2fb4c2
1 changed files with 24 additions and 38 deletions
|
|
@ -42,7 +42,9 @@ Check for existing assets:
|
|||
|
||||
## Step 1: Understand the Input
|
||||
|
||||
Ask the user what they want to post about. Identify the type of raw material:
|
||||
If the user already provided a clear topic with the command invocation (e.g., `/linkedin:post about AI governance in public sector`), skip asking and proceed directly. Only ask if the input is missing or genuinely vague.
|
||||
|
||||
Identify the type of raw material:
|
||||
|
||||
| Input Type | Examples |
|
||||
|------------|----------|
|
||||
|
|
@ -53,48 +55,40 @@ Ask the user what they want to post about. Identify the type of raw material:
|
|||
| Opinion | Perspective on industry topic |
|
||||
| Question | Something they're genuinely curious about |
|
||||
|
||||
If the input is vague, ask clarifying questions:
|
||||
If the input is genuinely vague (no discernible topic or intent), ask ONE clarifying question:
|
||||
- "What's the key insight you want to share?"
|
||||
- "Who's your primary audience for this?"
|
||||
- "What action or reaction do you want from readers?"
|
||||
|
||||
If they provide a URL, use WebFetch to extract the content first.
|
||||
|
||||
## Step 2: Identify Thought Leadership Angles
|
||||
## Step 2: Select Thought Leadership Angle
|
||||
|
||||
Read `references/thought-leadership-angles.md` for the 8 universal angles.
|
||||
|
||||
**Industry-specific angles:** If `config/user-profile.local.md` exists and has an `industry` field, check the "Industry Angle Variants" section in `thought-leadership-angles.md` for the matching industry table. Use the industry-specific starter questions and example hooks to generate more targeted angle suggestions.
|
||||
|
||||
Present 2-3 possible angles for their content:
|
||||
Select the strongest angle based on the content and user's expertise areas. Present ONE recommended angle with brief reasoning:
|
||||
|
||||
```
|
||||
I see three possible angles for this:
|
||||
Angle: [Angle Name] — [Why this is the strongest angle for this content and your audience].
|
||||
|
||||
1. **[Angle Name]**: [Brief description + why it works for this content]
|
||||
2. **[Angle Name]**: [Brief description + why it works for this content]
|
||||
3. **[Angle Name]**: [Brief description + why it works for this content]
|
||||
|
||||
Which resonates most with what you want to communicate?
|
||||
Proceeding with this angle. (Say "try a different angle" if you'd prefer another.)
|
||||
```
|
||||
|
||||
Use AskUserQuestion to let them choose.
|
||||
Do NOT use AskUserQuestion here. If the user disagrees, they will say so, and then present 2-3 alternatives.
|
||||
|
||||
## Step 3: Choose Format and Length
|
||||
## Step 3: Infer Format and Length
|
||||
|
||||
Read `references/linkedin-formats.md` for format specifications.
|
||||
Infer format automatically based on content type — do NOT ask the user to choose:
|
||||
|
||||
Based on content type, recommend a format:
|
||||
|
||||
| Content Type | Recommended Format |
|
||||
|--------------|-------------------|
|
||||
| Data/research | Medium post (1,200-1,800 chars) or Carousel |
|
||||
| Personal stories | Medium post (1,000-1,400 chars) |
|
||||
| Quick insights | Short post (150-300 chars) - suggest /linkedin:quick |
|
||||
| Frameworks/processes | Carousel or Native document |
|
||||
| Content Type | Auto-Selected Format |
|
||||
|--------------|---------------------|
|
||||
| Data/research | Medium text post (1,200-1,800 chars) |
|
||||
| Personal stories | Medium text post (1,000-1,400 chars) |
|
||||
| Quick insights | Redirect to `/linkedin:quick` |
|
||||
| Frameworks/processes | Medium text post (note: "This could also work as a carousel — run `/linkedin:carousel` if you'd prefer that format.") |
|
||||
| Opinions/takes | Text-only medium post |
|
||||
|
||||
If carousel is the best format, recommend: "This topic works great as a carousel. Run `/linkedin:carousel` for the full slide-by-slide generator with 5 proven templates."
|
||||
Proceed with standard text post format by default. Only mention carousel or other formats as a brief note if particularly well-suited — do not wait for a response.
|
||||
|
||||
## Step 4: Structure and Write
|
||||
|
||||
|
|
@ -139,9 +133,9 @@ Before presenting, verify against `assets/checklists/quality-scorecard.md`:
|
|||
- [ ] Topic aligns with user's 5 core expertise areas
|
||||
- [ ] Passes thought leadership test (helps someone decide or think differently)
|
||||
|
||||
## Step 6: Present Draft and Variations
|
||||
## Step 6: Present Draft
|
||||
|
||||
Present the main draft with:
|
||||
Present ONE draft with:
|
||||
- Character count
|
||||
- Hook analysis (what makes it work)
|
||||
- CTA explanation
|
||||
|
|
@ -152,23 +146,15 @@ printf '%s' '<FINAL_POST_TEXT>' | node ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/clipb
|
|||
```
|
||||
Then confirm: "Copied to clipboard."
|
||||
|
||||
Then offer:
|
||||
- 1-2 alternative versions with different angles or tones
|
||||
- Option to refine or adjust
|
||||
Do NOT proactively offer alternative versions. Only generate alternatives if the user asks for them.
|
||||
|
||||
## Step 7: Refinement Cycle
|
||||
|
||||
Use AskUserQuestion to ask:
|
||||
Do NOT use AskUserQuestion here. Simply state:
|
||||
|
||||
**How does this look?**
|
||||
1. Perfect - ready to post
|
||||
2. Adjust the hook
|
||||
3. Change the tone
|
||||
4. Shorten it
|
||||
5. Make it more provocative
|
||||
6. Try a different angle entirely
|
||||
"Want to refine? Options: adjust hook / change tone / shorten / more provocative / different angle."
|
||||
|
||||
Iterate until they're satisfied.
|
||||
Wait for the user to respond naturally. Iterate until they're satisfied or they indicate the post is ready.
|
||||
|
||||
## Step 8: Pre-Publish Reminder
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue