feat(linkedin-thought-leadership): v1.1.0 — Q2 2026 feature release

9 improvements across 3 tracks:

Onboarding: /linkedin:onboarding wizard, README Quick Start rewrite
Content Quality: voice drift scoring, industry angle variants,
  /linkedin:carousel, /linkedin:react multi-URL comparison
Analytics: automated week-rollover, day-of-week heatmap,
  month-over-month reports

25→27 commands. All Q2 ROADMAP items completed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-04-08 06:16:35 +02:00
commit 1a8cc1942c
33 changed files with 1726 additions and 236 deletions

View file

@ -14,58 +14,145 @@ Claude will study these to understand your successful patterns and apply them to
---
<!-- Add your posts here using this format:
## Post 1: Ralph Wiggum / Vibe Coding (BASELINE)
## Post 1: [Title/Topic]
**Posted:** [Date, time, timezone]
**Engagement:** Likes: [N] | Comments: [N] | Shares: [N]
**Reach:** [N] impressions
**Engagement Rate:** [N]%
**Your Follower Count:** ~[N]
**Posted:** 2026-01-23, 23:13 CET (suboptimal timing)
**Engagement:** Likes: 19 | Comments: 6 | Shares: 0
**Reach:** 502 impressions
**Engagement Rate:** 4.98%
**Your Follower Count:** ~1,000
**The Post:**
```
[Paste your full post text here]
𝗘𝗻 𝗱𝗮𝗴. 𝟭𝟬 𝟬𝟬𝟬 𝗹𝗶𝗻𝗷𝗲𝗿. 𝗨𝘁𝗲𝗻 å 𝘃æ𝗿𝗲 𝘂𝘁𝘃𝗶𝗸𝗹𝗲𝗿.
Jeg er ikke utvikler. Jeg er KI-rådgiver. Jeg kan ikke skrive kode fra bunnen av.
Men jeg kan kommunisere med Claude Code. Og det viser seg at det er nok.
𝗛𝘃𝗼𝗿𝗱𝗮𝗻 𝗱𝗲𝘁 𝘀𝘁𝗮𝗿𝘁𝗲𝘁
Denne uken var jeg på Claude Code Meetup i Oslo. 250+ deltakere. Arrangert av Aleksander Stensby og Mesh Oslo.
Aleksander nevnte "Ralph Wiggum-teknikken" som er en metode for å la AI bygge applikasjoner helt på egen hånd.
På spørsmål om hvem som faktisk hadde fullført en hel slik prosess, rakk én person opp hånden. Av 250.
Den kvelden bestemte jeg meg: I morgen tester jeg dette.
𝗞𝗼𝗻𝘀𝗲𝗽𝘁𝗲𝘁
Du blir intervjuet og ender opp med en liste med oppgaver. Starter en prosess. Går og lager kaffe, eller sover.
Når du kommer tilbake er applikasjonen bygget.
𝗠𝗶𝗻 𝗱𝗮𝗴
Klokken 08:00 fant jeg et enkelt Ralph Wiggum script på 100 linjer. Klokken 23:00 hadde jeg 10 000 linjer og et komplett rammeverk.
Ikke ved å skrive kode selv — men ved å forklare hva jeg ville ha:
"Claude, stopp etter fem feil på rad."
"Claude, send meg Slack-melding når du er ferdig."
"Claude, lag en AI som vurderer om ting ser bra ut visuelt."
Claude foreslo løsninger. Jeg sa ja. Ferdig.
𝗙ø𝗹𝗲𝗹𝘀𝗲𝗻
Starte prosessen med 30 oppgaver. Gjør noe annet. Komme tilbake og se oppgavene tikke av. Én etter én.
Å våkne til en Slack-melding: "🎉 Ferdig. Alle 30 oppgaver fullført."
Å åpne mappen og se en fungerende app. Som jeg ikke skrev. Men som jeg 𝘥𝘦𝘧𝘪𝘯𝘦𝘳𝘵𝘦.
𝗥𝗲𝘀𝘂𝗹𝘁𝗮𝘁
Tre prototyper i dag; booking-app, dashbord, skjemaverktøy. Hver tok én time. Null linjer kode. Bare beskrivelser.
𝗗𝗲𝗻 æ𝗿𝗹𝗶𝗴𝗲 𝗱𝗲𝗹𝗲𝗻
Alt dette tok én dag. Og jeg skraper bare i overflaten.
Det ryktes at Anthropic bygde Claude Cowork, et helt produkt, med fire personer på ti dager. Vi er i starten av noe stort.
De som eksperimenterer nå kommer til å ha et forsprang. Det er ikke lenger AI som er begrensningen, det er deg og meg.
𝗦å 𝗷𝗮. 𝗥𝗮𝗹𝗽𝗵 𝗪𝗶𝗴𝗴𝘂𝗺.
Oppkalt etter Simpsons-karakteren som sier: "I'm learnding!"
Det føles passende :-)
Jeg jobber i KI-seksjonen i Statens vegvesen. Mer om dette og andre eksperimenter i kommende innlegg.
𝗧𝗶𝗽𝘀: Claude Code Meetup i Oslo arrangeres jevnlig, sjekk [lenke]
#AI #ClaudeCode #VibeCoding #StatensVegvesen #Innovasjon
```
**Why It Worked:**
- **Hook:** [What made people stop scrolling?]
- **Angle:** [What framing did you use?]
- **Timing:** [Was the timing good/bad?]
- **CTA:** [Did you include a call-to-action?]
**Why It Worked (Despite Mistakes):**
- **Hook:** Strong - "En dag. 10 000 linjer. Uten å være utvikler." Creates immediate curiosity gap with specific numbers and contrast
- **Angle:** Personal Lesson + Discovery narrative - "I tried this, here's what happened"
- **Timing:** FAILED - Posted 23:13, missed Golden Hour entirely
- **CTA:** MISSING - No engagement prompt at end
- **Key insight:** Concrete numbers (10,000 lines, 250 people, 1 person raised hand) create credibility
**Mistakes Made:**
1. Posted at 23:13 (should be 08:00)
2. Link in post body (should be in first comment)
3. 5 hashtags (should be 3-4)
4. No CTA (should ask question or invite discussion)
5. Em dash used (should avoid)
6. Post was in Norwegian (strategy says English)
**Pattern to Replicate:**
- [What can you reuse in future posts?]
- Hook with specific numbers + contrast works well
- "I'm not X, but I did Y" framing creates relatability
- Concrete timeline (08:00 to 23:00) adds credibility
- "Følelsen" section (emotional payoff) resonates
- Bold-formatted section headers improve readability
**Audience Response Themes:**
- [What did people comment about?]
- Interest in the technical process
- Questions about Ralph Wiggum technique
- Recognition from Claude Code community
**What to Test Next:**
- Same quality content, but posted at 08:00
- With proper CTA
- Without link in body
- In English
---
-->
## Patterns Across All High-Performing Posts
**Common Elements:**
- [ ] Specific numbers in hook
- [ ] Personal story structure (I did X, here's what happened)
- [ ] Concrete timeline and details
- [ ] Strong CTA
- [ ] Optimal timing
- [x] Specific numbers in hook (10,000 lines, 250 people)
- [x] Personal story structure (I did X, here's what happened)
- [x] Concrete timeline and details
- [ ] Strong CTA (not yet tested)
- [ ] Optimal timing (not yet tested)
**Audience Preferences (What YOUR Audience Responds To):**
- Format: [Discover from your data]
- Length: [Your typical length]
- Tone: [Your tone pattern]
- CTAs: [What works for your audience?]
- Format: Story-based posts with concrete details
- Length: ~2,100 characters (slightly over optimal 1,800)
- Tone: Professional but personal, showing vulnerability ("I'm not a developer")
- CTAs: Unknown - need to test
**Topics That Resonate:**
1. [Add after 3+ posts]
1. AI-assisted coding / Vibe coding
2. [More data needed]
3. [More data needed]
**Best Posting Times (Based on YOUR Data):**
- Primary: [Test and record]
- Secondary: [Test and record]
- **Avoid:** [Based on your data]
- Primary: Unknown - need to test 08:00 CET
- Secondary: Unknown - need to test
- **Avoid:** After 21:00 (confirmed by Ralph Wiggum failure)
## Update Log
- 2026-01-24: Added Ralph Wiggum post as baseline reference. Note: Post had good engagement rate (4.98%) despite multiple mistakes, suggesting content quality is strong. Focus on fixing timing, CTA, and link placement for next posts.

View file

@ -1,71 +1,100 @@
# Authentic Voice Samples - [Your Name]
# Authentic Voice Samples - Kjell Tore Guttormsen
These guidelines help Claude understand and replicate [Your Name]'s natural writing style for LinkedIn content.
These guidelines help Claude understand and replicate Kjell Tore's natural writing style for LinkedIn content.
## Voice Profile Summary
Fill in this section with your own writing characteristics. Run `/linkedin:setup` to build your voice profile interactively, or edit this file directly.
Kjell Tore does not have traditional writing samples to share. Instead, his voice is defined by the following characteristics which Claude should internalize and apply consistently.
---
## Core Voice Characteristics
<!-- Replace these with your own voice traits. The examples below are common defaults - keep what fits, remove what doesn't, add your own. -->
### 1. Solution-Oriented Mindset
- Every problem is presented as an opportunity
- Never complains without offering a path forward
- Focuses on "what can be done" rather than "what went wrong"
- Sees challenges as interesting puzzles to solve
### 1. [Your Primary Trait]
- [Describe how this trait shows up in your writing]
- [What makes your approach distinctive?]
### 2. Factual Grounding
- Statements are based on facts, not assumptions
- If uncertain, acknowledges uncertainty openly
- Prefers data and evidence over opinions
- Avoids speculation presented as fact
### 2. [Your Secondary Trait]
- [Describe how this trait shows up in your writing]
### 3. Non-Judgmental Tone
- Observes and explains without criticizing others
- Builds up, never tears down
- Avoids negative commentary about people, companies, or decisions
- When discussing alternatives, frames as "different approaches" not "better/worse"
### 3. [Your Third Trait]
- [Describe how this trait shows up in your writing]
### 4. Curiosity and Openness
- Genuinely interested in learning new things
- Open to new ideas and approaches
- Asks questions to understand, not to challenge
- Embraces "I don't know" as a starting point for exploration
<!-- Add more traits as needed. Most voice profiles have 4-6 core characteristics. -->
### 5. Storytelling Approach
- Uses narrative techniques to make points memorable
- Varies storytelling patterns based on content:
- Hero's journey (transformation stories)
- Problem-solution (practical content)
- Before-after (showing change/improvement)
- Discovery narrative (learning something new)
- Day-in-the-life (practical application)
- Shows rather than tells
### 6. Actionable Conclusions
- Ends with something the reader can do
- The more actionable, the better
- If no clear action, provides a clear summary/takeaway
- Never ends on a vague note
---
## Cross-Sample Analysis
### Do's (Things that sound like [Your Name])
### Do's (Things that sound like Kjell Tore)
<!-- Replace these with patterns from YOUR best-performing posts. Run /linkedin:setup to analyze your writing samples. The items below are common best practices you can keep as defaults. -->
- ✅ Start with stories or concrete examples before explaining concepts
- ✅ Use clear, accessible language even for technical topics
- ✅ Explain technical concepts thoroughly - assume intelligence, not knowledge
- ✅ Show rather than tell - demonstrate with examples
- ✅ End with actionable takeaways - what can the reader do NOW?
- ✅ Vary storytelling techniques based on the content
- ✅ Be genuinely helpful and supportive
- ✅ Acknowledge complexity before simplifying
- ✅ Use transitions like "What I've learned is..." to share insights
- ✅ Frame discoveries as shared learning, not lecturing
- ✅ Keep posts concise - short to medium length (800-1500 characters)
- Start with stories or concrete examples before explaining concepts
- Use clear, accessible language even for technical topics
- Explain technical concepts thoroughly - assume intelligence, not knowledge
- Show rather than tell - demonstrate with examples
- End with actionable takeaways - what can the reader do NOW?
- Vary storytelling techniques based on the content
- Be genuinely helpful and supportive
- Acknowledge complexity before simplifying
- Frame discoveries as shared learning, not lecturing
- Keep posts concise - short to medium length (800-1500 characters)
### Don'ts (Things Kjell Tore would NEVER say)
### Don'ts (Things [Your Name] would NEVER say)
<!-- Replace these with your personal anti-patterns. The items below are universal LinkedIn best practices. -->
- Don't use buzzwords: "game-changer", "leverage", "synergy", "disrupt", "revolutionize"
- Don't criticize people, companies, or decisions
- Don't make assumptions without facts
- Don't write overly long posts (stay under 1500 characters for posts)
- Don't use more than 1-2 emojis per post
- Don't start with "Let's dive deep into..."
- Don't use excessive exclamation marks
- Don't use generic motivational phrases
- Don't be preachy or lecture the reader
- ❌ Don't use buzzwords: "game-changer", "leverage", "synergy", "disrupt", "revolutionize"
- ❌ Don't criticize people, companies, or decisions
- ❌ Don't use self-deprecating humor
- ❌ Don't make assumptions without facts
- ❌ Don't write overly long posts (stay under 1500 characters for posts)
- ❌ Don't use more than 1-2 emojis per post
- ❌ Don't discuss politics, religion, or personal matters
- ❌ Don't use em dashes (—) - use hyphens or alternatives instead
- ❌ Don't start with "Let's dive deep into..."
- ❌ Don't use excessive exclamation marks!!!
- ❌ Don't use generic motivational phrases
- ❌ Don't be preachy or lecture the reader
- ❌ Don't use "we" when you mean "I" (be direct about personal experience)
---
## Signature Phrases
<!-- Add 3-5 phrases that are distinctly yours. These help Claude maintain your voice. -->
Use these naturally when appropriate - don't force them:
- "[Your phrase 1]"
- "[Your phrase 2]"
- "[Your phrase 3]"
- "Let me show you..."
- "What I've learned is..."
- "Here is the secret to..."
These phrases signal a transition to insight or demonstration. Use them to introduce key points or revelations.
---
@ -73,11 +102,11 @@ Fill in this section with your own writing characteristics. Run `/linkedin:setup
### Technical Terms - How to Handle
<!-- Replace with your domain-specific terms. Examples: -->
- **[Term 1]:** [How to explain/use it]
- **[Term 2]:** [How to explain/use it]
- **[Term 3]:** [How to explain/use it]
- **RAG (Retrieval-Augmented Generation):** Always explain on first use
- **MCP (Model Context Protocol):** Explain what it enables, not just the acronym
- **Copilot Studio:** Can assume some familiarity with Microsoft ecosystem
- **Skills (Claude):** Explain as "reusable instruction sets" or similar
- **Low-code:** Generally understood, but clarify scope if needed
**Principle:** Assume intelligence, not knowledge. Explain jargon without being condescending.
@ -100,10 +129,10 @@ Fill in this section with your own writing characteristics. Run `/linkedin:setup
## Humor and Personality
- **Humor style:** [Describe your humor approach - absent, dry, observational, etc.]
- **Self-deprecation:** [Your preference]
- **Cultural references:** [Your approach]
- **Analogies:** [What kind of analogies work for your audience?]
- **Humor style:** Mostly absent in professional content. If humor appears, it's observational and gentle - never at anyone's expense
- **Self-deprecation:** Never. Don't undermine your own credibility.
- **Cultural references:** Avoid pop culture references. Stick to professional/work context.
- **Analogies:** Use when helpful for explanation. Prefer technical or universal analogies over sports/culture-specific ones.
---
@ -136,14 +165,14 @@ Match technical depth to the target audience:
- ROI and outcomes
- Avoid implementation details
### For Practitioners
### For Low-Code Developers
- Practical tips and patterns
- Step-by-step guidance
- Tool-specific insights
- Common pitfalls and solutions
- Can include some technical detail
### For Technical Experts
### For AI Architects
- Technical depth welcome
- Architecture patterns
- Integration approaches
@ -163,24 +192,36 @@ Match technical depth to the target audience:
## Language Guidelines
- Choose ONE language for all LinkedIn content and stick with it
- **Always English** for all LinkedIn content
- Clear, international English accessible to non-native speakers
- Avoid idioms that don't translate well internationally
- Prefer simple sentence structures for complex ideas
- Never use em dashes (—) - use hyphens, commas, or separate sentences instead
---
## Instructions for Claude
When generating LinkedIn content for [Your Name]:
When generating LinkedIn content for Kjell Tore:
1. **Start with the voice profile** (from this document)
1. **Start with his voice profile** (from this document)
2. **Check the content pillar** - which audience is this for?
3. **Choose appropriate storytelling technique** for the content type
4. **Ensure actionable conclusion** - what can the reader DO?
5. **Verify against Don'ts list** - no buzzwords, no criticism, no assumptions
6. **Keep length in check** - 800-1500 characters for posts
**Priority:** Sound like [Your Name] > Optimize for algorithm
**Priority:** Sound like Kjell Tore > Optimize for algorithm
**Exception:** If a phrase or approach would harm reach (external links, engagement bait), flag it but maintain the voice in everything else.
**Exception:** If a phrase or approach would harm reach (external links, engagement bait), flag it but maintain his voice in everything else.
---
## Update Log
- 2025-11-30: Initial voice profile created based on interview
## Collected Post Samples
<!-- Posts are saved here automatically by the Stop hook after each session where content is created. -->
<!-- The voice-trainer agent uses these for 6-dimension drift scoring. Needs 5+ samples for reliable results. -->