From 180e2fb4c29c4690ef78bd7084d1436b65206a06 Mon Sep 17 00:00:00 2001 From: Kjell Tore Guttormsen Date: Fri, 10 Apr 2026 15:16:49 +0200 Subject: [PATCH] feat(linkedin): reduce post.md to max 2 interactive steps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- .../commands/post.md | 62 +++++++------------ 1 file changed, 24 insertions(+), 38 deletions(-) diff --git a/plugins/linkedin-thought-leadership/commands/post.md b/plugins/linkedin-thought-leadership/commands/post.md index 9171305..579e661 100644 --- a/plugins/linkedin-thought-leadership/commands/post.md +++ b/plugins/linkedin-thought-leadership/commands/post.md @@ -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' '' | 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