ktg-plugin-marketplace/plugins/linkedin-thought-leadership/hooks/prompts/state-update-reminder.md
Kjell Tore Guttormsen 1a8cc1942c 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>
2026-04-08 06:16:35 +02:00

4.5 KiB

Before ending this LinkedIn content session, do two things:

1. Update State File If a post was created or finalized in this session, update ~/.claude/linkedin-thought-leadership.local.md:

  • Set last_post_date to today (YYYY-MM-DD format)
  • Set last_post_topic to the main topic (use the matching expertise_areas value when possible for consistent pillar tracking)
  • If first_post_date is null and a post was created, set first_post_date to today (YYYY-MM-DD). This is set ONCE and never changed after that.
  • Check if ISO week has changed — if so, reset posts_this_week to 0 and update current_week
  • Increment posts_this_week
  • Update streak: increment current_streak if posting on consecutive days (gap <= 1 day), reset to 1 if gap > 2 days
  • Update longest_streak if current exceeds it
  • Add entry to '## Recent Posts' section: [YYYY-MM-DD] "Hook text..." (char count) - topic_area (use expertise_area name for consistent pillar tracking)
  • Clear next_planned_topic if it was used, or set it to the next suggested topic
  • If analytics data was imported in this session, set last_import_date to today (YYYY-MM-DD) and last_import_week to current ISO week (YYYY-WXX)
  • If the user mentioned or updated their follower count during this session:
    • Update follower_count to the new value
    • If the month changed since last monthly_growth entry, append: {month: "YYYY-MM", count: X, delta: X}
    • Recalculate growth_rate_needed: (follower_target - follower_count) / months_remaining
    • Recalculate projected_10k_date from average of last 3 monthly deltas
    • Add entry to '## Milestone Log': [YYYY-MM] count (+delta)

2. Pre-Publish Reminders (only if a post was created)

  • Quality Check: Has content been reviewed against quality scorecard? Hook 110-140 chars, 1,200-1,800 chars total, authentic tone, no external links.
  • 5x5x5 Engagement: Before posting, complete 15-20 min pre-posting engagement — 5 people with overlapping audiences, find their recent posts, write 5 thoughtful comments (15+ words each).
  • First-Hour Plan: Respond within 5 minutes to first comments. Add value in responses. Target 15+ engagements in first hour.
  • Posting Time: Post when target audience is most active.

3. Queue Status Check

If posts were added to the queue during this session (assets/drafts/queue.json was modified):

  • Confirm how many posts were queued and their scheduled dates
  • Remind: "View your full schedule with /linkedin:calendar"

If a scheduled post was published during this session:

  • Verify it was marked as published in queue.json (status = "published")
  • If not, remind: "Run /linkedin:publish to update the queue status"

Provide reminders naturally based on what was done in the session. If no LinkedIn content was created, skip the reminders and just ensure state is consistent.

4. Voice Sample Collection (if a post was created)

If a LinkedIn post was created or finalized in this session, save the full post text as a voice sample:

  • Read the full post text from the draft that was just created
  • Check if assets/voice-samples/authentic-voice-samples.md exists
  • Append the full post to the ## Collected Post Samples section:
    ### [YYYY-MM-DD] — [post type] ([char count] chars)
    [Full post text exactly as written]
    
  • Ask the user for confirmation before writing: "I'll save this post as a voice sample for drift detection. OK?"
  • This builds the voice sample library that enables automatic drift scoring (needs 5+ samples for reliable scoring)
  • The more samples collected, the more accurate the voice-trainer's drift detection becomes

5. Content History Log (if a post was created)

If a LinkedIn post was created or finalized, append an entry to the content history log:

  • If assets/analytics/content-history.md does not exist, initialize it from config/content-history.template.md
  • Append a new row to the "## Content Log" table:
    | YYYY-MM-DD | "Hook text..." | topic_area | format | word_count | char_count | source |
    
    Where:
    • date: Today's date
    • hook: First 60 characters of the hook line
    • topic: Matching expertise_area value (for pillar tracking)
    • format: post/quick/react/video/pipeline
    • word_count: Word count of the full post
    • char_count: Character count of the full post
    • source: original/url/curated (where the idea came from)
  • This is append-only — never edit or delete existing entries
  • This log enables /linkedin:report and analytics-interpreter to track content production over time without requiring LinkedIn CSV imports