linkedin-studio/assets
Kjell Tore Guttormsen 63506f7d5c feat(linkedin-studio): N16 — out-of-network-andel + patterns-oppdatering + boundary-map [skip-docs]
Reach-splitten (in/out-of-network) er native i LinkedIns post-analytics siden juni
2026, men vises som PROSENT og finnes ikke i CSV-eksporten. Planen antok to
manuelle antall; verifiseringen viste prosent, så modellen er ett felt —
outOfNetworkPct — og in-network er komplementet.

- parseOptionalPercent: egen parser, ikke parseOptionalCount. Komma er desimal
  (36,5 -> 36.5, aldri 365), og verdi >100 avvises: i én kolonne kan ikke et
  absolutt antall skilles fra en andel, så svaret er unknown, ikke en gjetning.
  Blank/ikke-numerisk/negativ -> unknown; ekte 0 beholdes.
- Ett lagret halvpart, kryssjekket: In-network godtas og lagres som komplement;
  et transkribert par som ikke summerer til ~100 (±1 avrunding) forkastes som
  unknown i stedet for å bli halvveis trodd.
- weightedOutOfNetworkPct: impressions-vektet roll-up (avgOutOfNetworkPct, uke +
  måned). Flatt snitt lar en 50-visnings-post slå en på 10 000; poster uten
  avlesning ekskluderes, og null vekt gir undefined — aldri 0, aldri NaN.
- Reach inngår ALDRI i engagementRate (distribusjon != engasjement). Rapporten
  leser den som akvisisjon (ut) vs resonans (inn), og sier «ikke ført for denne
  perioden» framfor å estimere. En reach-innsikt går inn i N15s do-next-kanal.
- Step 7c (A2-F11): rapporten tilbyr diff mot brukerens engagement-patterns.md
  med eksplisitt go — aldri stille skriving, aldri inn i den shippede malen.
- Boundary-map (E#9): dwell eksplisitt umålbar, saves partner-gated, reach
  native men CSV-eksport uverifisert.
- Reach-frie importer er byte-identiske med før, på skjerm og på disk.

TDD: rødt bevist først (10 feilende), analytics 119 -> 144 tester, tsc ren.
test-runner 232 -> 247 (Section 16w, gulv 213 -> 228). Alle suiter grønne.
CHANGELOG: N15-oppføringen manglet og er backfilt sammen med N16.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QxvWAjte7vPcF79QeSRvRJ
2026-07-25 15:56:04 +02:00
..
analytics feat(linkedin-studio): N16 — out-of-network-andel + patterns-oppdatering + boundary-map [skip-docs] 2026-07-25 15:56:04 +02:00
audience-insights chore(linkedin-studio): M0-13 — 4 D2 templates + scrub leak + scaffold fallback 2026-06-18 12:19:48 +02:00
case-studies fix(linkedin-studio): S29d terminology-scrub — "thought leadership" → neutral (skills/config/assets/hooks-test) 2026-06-20 06:19:10 +02:00
checklists fix(linkedin-studio): S29d terminology-scrub — "thought leadership" → neutral (skills/config/assets/hooks-test) 2026-06-20 06:19:10 +02:00
drafts feat(ultraplan-local): v1.6.0 — /ultraresearch-local deep research command 2026-04-08 08:58:35 +02:00
examples chore(linkedin-studio): re-add example placeholder; STATE.md now local-only 2026-06-20 11:07:26 +02:00
frameworks feat(ultraplan-local): v1.6.0 — /ultraresearch-local deep research command 2026-04-08 08:58:35 +02:00
plans feat(ultraplan-local): v1.6.0 — /ultraresearch-local deep research command 2026-04-08 08:58:35 +02:00
templates chore(linkedin-studio): M0-13 — 4 D2 templates + scrub leak + scaffold fallback 2026-06-18 12:19:48 +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 feat(ultraplan-local): v1.6.0 — /ultraresearch-local deep research command 2026-04-08 08:58:35 +02:00
README.md feat(ultraplan-local): v1.6.0 — /ultraresearch-local deep research command 2026-04-08 08:58:35 +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.