ktg-plugin-marketplace/plugins/linkedin-studio/assets
Kjell Tore Guttormsen 55c94ee964 feat(linkedin-studio): S16 — optional manual saves in analytics + close deferred onboarding Write MAJOR
Lifts the original v4.0.0 Non-Goal: an optional, manually-entered `saves`
metric through the analytics layer, built location-agnostic (option c) so
UI-brief §9b/M0 relocates the data dir in one place later.

- types: PostMetrics.saves? + Weekly/Monthly summary.totalSaves? (optional);
  new RankableMetric type for the always-numeric index-access whitelist
- parser: dedicated parseOptionalCount() — blank/non-numeric/negative -> undefined
  ("unknown != 0"), genuine 0 kept; saves NOT folded into engagementRate
- reports: totalSaves set only when >=1 post carries saves (backward-compat)
- cli: saves surfaced in import summary + weekly/monthly totals + per-post
- S16-pre: onboarding.md allowed-tools gains Write (closes S15-deferred MAJOR)
- docs (three-doc rule): plugin README boundary + analytics README + root README
  + plugin CLAUDE.md + CHANGELOG; dwell stays explicitly unmeasurable

Independent /trekreview: brief-conformance 0 findings; code-correctness 2 MAJOR
(own lockstep misses) FIXED in-session (parseOptionalCount + edge tests). Gate:
tsc clean, analytics 116/116, lint 74/0/0, hooks 98/98. Within-v4.1.0 refinement
(no surface/count/version change).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 22:23:12 +02:00
..
analytics feat(linkedin-studio): S16 — optional manual saves in analytics + close deferred onboarding Write MAJOR 2026-05-30 22:23:12 +02:00
audience-insights refactor(linkedin)!: rename plugin linkedin-thought-leadership → linkedin-studio (v3.0.0) 2026-05-29 11:32:02 +02:00
case-studies refactor(linkedin)!: rename plugin linkedin-thought-leadership → linkedin-studio (v3.0.0) 2026-05-29 11:32:02 +02:00
checklists fix(linkedin-studio): S9 — full algorithm-magnitude sweep + lint rebuilt to the criterion 2026-05-30 09:56:49 +02:00
drafts refactor(linkedin)!: rename plugin linkedin-thought-leadership → linkedin-studio (v3.0.0) 2026-05-29 11:32:02 +02:00
examples refactor(linkedin)!: rename plugin linkedin-thought-leadership → linkedin-studio (v3.0.0) 2026-05-29 11:32:02 +02:00
frameworks refactor(linkedin)!: rename plugin linkedin-thought-leadership → linkedin-studio (v3.0.0) 2026-05-29 11:32:02 +02:00
plans refactor(linkedin)!: rename plugin linkedin-thought-leadership → linkedin-studio (v3.0.0) 2026-05-29 11:32:02 +02:00
templates fix(linkedin-studio): close v4.0.0 audit review findings (S8) 2026-05-30 09:27:15 +02:00
voice-samples fix(linkedin-studio): ship placeholder voice profile, gitignore real, sentinel detection 2026-05-30 00:23:32 +02:00
quick-post-resources.md refactor(linkedin)!: rename plugin linkedin-thought-leadership → linkedin-studio (v3.0.0) 2026-05-29 11:32:02 +02:00
README.md refactor(linkedin)!: rename plugin linkedin-thought-leadership → linkedin-studio (v3.0.0) 2026-05-29 11:32:02 +02:00

Personal LinkedIn Assets

This folder contains YOUR personalized content, frameworks, and insights that make this skill uniquely valuable to you.

How Assets Are Used

When you ask Claude to create content, it will:

  1. Check your PERSONALIZATION SETTINGS in SKILL.md
  2. Reference relevant assets from these folders
  3. Blend your authentic voice/examples with LinkedIn best practices
  4. Generate content that sounds like YOU, optimized for the algorithm

Folder Structure

/examples/

Store your best-performing posts for pattern analysis. Claude will study these to understand what works for YOUR audience and replicate those patterns in new content.

/templates/

Your custom post templates. When you develop a structure that works consistently, save it here so Claude can apply it to new content.

/frameworks/

Your proprietary frameworks, models, and methodologies. When creating content, Claude will reference YOUR frameworks instead of generic ones.

/case-studies/

Real examples from your work. Claude uses these for credibility and specificity instead of making up generic scenarios.

/research/

Industry research, data, and trends specific to your domain. Helps Claude create data-driven posts with current, relevant information.

/voice-samples/

Examples of your authentic writing from various contexts. Claude analyzes these to match your natural voice and style.

/audience-insights/

Your analytics, demographics, and engagement patterns. Claude uses this to optimize content for YOUR specific audience, not generic best practices.

/competitors/

Analysis of peers and influencers in your space. Helps identify content gaps and opportunities for differentiation.

Maintenance Schedule

Weekly (5 minutes)

  • Add your best post from the week to /examples/
  • Update posting time insights in /audience-insights/engagement-patterns.md

Monthly (15 minutes)

  • Analyze patterns in /examples/ and document learnings
  • Update demographics in /audience-insights/ based on LinkedIn analytics
  • Add any new frameworks developed to /frameworks/

Quarterly (30 minutes)

  • Refresh industry data in /research/
  • Update competitor analysis in /competitors/
  • Review and refine voice samples in /voice-samples/

Priority Hierarchy

If there's a conflict between:

  • Generic best practices (in /references/)
  • Your personal patterns (in /assets/)

→ Claude will prioritize YOUR patterns (with optimization suggestions if needed)

Exception: If your patterns actively harm algorithmic reach (external links, engagement bait), Claude will flag this and suggest alignment with platform mechanics while maintaining your authentic voice.

Getting Started

  1. Week 1: Fill in PERSONALIZATION SETTINGS in SKILL.md (15 minutes)
  2. Week 2-4: Add 2-3 voice samples to /voice-samples/ (20 minutes)
  3. Month 2: Start populating /examples/ with your successful posts (ongoing)
  4. Month 3: Add frameworks and case studies as they develop (ongoing)

The more you populate these folders, the more personalized and valuable this skill becomes. Think of it as a system that learns YOUR patterns over time.