ktg-plugin-marketplace/plugins/linkedin-studio/docs/voyage-build-brief.md
Kjell Tore Guttormsen b6bb61246b refactor(linkedin)!: rename plugin linkedin-thought-leadership → linkedin-studio (v3.0.0)
BREAKING CHANGE: the marketplace slug, the agent namespace
(linkedin-studio:<agent>), and the runtime state-file path
(~/.claude/linkedin-studio.local.md) all change. Reinstall required;
existing state migrated in place (post metrics, streak, history preserved).
The /linkedin:* commands are unchanged — the command namespace is set
per-command in frontmatter and was always independent of the plugin slug.
Functionality is byte-identical to v2.4.0; this release is pure identity.

- dir + manifests: plugins/linkedin-studio + plugin.json + root marketplace.json
- agent namespace updated in commands/newsletter.md (only functional invoker)
- state path updated in 4 hook scripts + topic-rotation prompt + state template
- catch-all skill dir renamed skills/linkedin-studio (5 functional skills unchanged)
- docs + version bump to 3.0.0 across README badge, CHANGELOG, root README/CLAUDE.md
- historical records (CHANGELOG past entries, docs/ build artifacts,
  config-audit v5.0.0 snapshots) intentionally retain the old slug

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 11:32:02 +02:00

7.2 KiB
Raw Blame History

Bygge-brief (Voyage-input) — LTL fullspektrum-innholdsmotor → v2.0.0

Formål: Input til /trekplan (Voyage-pluginen). Dette er byggingen av LTL-pluginen, drevet som et Voyage-prosjekt: /trekplan produserer en kjørbar plan med per-steg Manifests, /trekexecute --fg + /trekcontinue driver sesjonene, /trekreview er release-gate. Detaljert referanse: plan-fullspektrum-innholdsmotor.md (samme mappe) — den hardnede planen med §0 orientering, §4 renovering, §5 langform, §6 byggeklosser, §7 render, §10 DoD. Les den; den er fasit for hva som skal bygges. Opprinnelig retningsbrief: brief-fullspektrum-innholdsmotor.md.


1. Oppgave

Løft linkedin-studio-pluginen («LTL», v1.2.0) til v2.0.0: en fullspektrum-motor for ALT LinkedIn-innhold — fra kortform-post til nyhetsbrev-edition — samtidig som den totale kommando-/agent-overflaten reduseres gjennom konsolidering.

Tre arbeidskropper:

  1. Renovering — konsolider reell redundans (27→~23 kommandoer, 16→~14 agenter). Plan §4.
  2. Langform-kapabilitet — én ny kommando /linkedin:newsletter med faset, multi-sesjons pipeline (research → utkast → faktasjekk → persona-review FØR lås → leveranse → hook-gate). Plan §5§6.
  3. Render + annotering inn i pluginen — flytt 4 render-skript + fonts; generaliser build-linkedin; generaliser build-html til artefakt-annoterings-renderer. Plan §7.

2. Orientering (kritisk — repoer og stier)

  • LTL-pluginen (bygg her): /Users/ktg/.claude/plugins/marketplaces/ktg-plugin-marketplace/plugins/linkedin-studio/. Plugin-i-monorepo: steg-stier er relative til denne mappa (sett Execution Strategy cwd: deretter).
  • Marketplace-rot: /Users/ktg/.claude/plugins/marketplaces/ktg-plugin-marketplace/ (Forgejo, aldri GitHub).
  • maskinrommet (annet repo): /Users/ktg/repos/maskinrommet/ — render-skriptene kopieres HERFRA inn i pluginen. Skriving TIL maskinrommet krever eksplisitt instruks (cross-repo, eget spor).
  • Voyage: /Users/ktg/.claude/plugins/marketplaces/ktg-plugin-marketplace/plugins/voyage/ — harness for denne byggingen.
  • svv-memory (prosess-erfaring): /Users/ktg/.claude/projects/-Users-ktg-repos-svv/memory/.
  • Seres-serien (kilden til langform-prosessen): /Users/ktg/repos/maskinrommet/serier/silvija-seres-motsvar/.

Full ordliste (Seres, persona-sweep, hook-gate, faktasjekk «skyldig til motbevist», POST.html, Altinn-feilen, «største prosessfeil») står i plan §0 — les den før planlegging.

3. Låste beslutninger (constraints — IKKE åpne for re-litigering)

  • A: Én ny orkestrator-kommando /linkedin:newsletter, ikke en suite, ikke utvidelse av pipeline.
  • B: Bare langform nå — eksisterende kortform-kommandoer røres ikke.
  • C: Ship alle 4 render-skript + fonts i pluginen (render/); generaliser build-linkedin; maskinrommet blir konsument.
  • D: Hybrid persona-bibliotek i config/, override per prosjekt; primær merkes.
  • E: Faktasjekk er et eget steg.
  • F: Konsolider redundans i samme runde (netto færre kommandoer/agenter).
  • G: Edition-produksjons-state bor i serie-mappa (maskinrommet), ikke i plugin-state.
  • H: build-html generaliseres til artefakt-annoterings-renderer (tabeller, alle overskrifter, inline-kode).

4. Forskning er allerede gjort (ikke gjenta fra null)

/trekplan-utforskningen kan være bekreftende, ikke fra-scratch. Følgende er ferdig kartlagt og frosset i planen:

  • Inventar-audit av alle 27 kommandoer + 16 agenter (overlapp/redundans/langform-relevans) → plan §4, §6.
  • Render-kontraktene (4 skript, cwd-modell, weasyprint-avhengighet, build-linkedin hardkoding) → plan §0.6, §7.
  • Prosess-erfaringen (16 faser, persona-sweep-før-lås, faktasjekk-sweep) → plan §0.4, svv-memory.
  • Arkitektur-mønstre i LTL (kommando-mal, agent-frontmatter, hook-kompilering, state-updater) → plan §3.

/trekplan bør verifisere disse mot faktiske filer der det er billig, ikke re-derivere.

5. Scope og fasing

Fire faser (plan §9.1). Kritisk sti = langform (fase 13); renovering (fase 4) kan følge etter.

  • Fase 1 — Fundament: render-migrering + annoterings-generalisering + persona-bibliotek + fact-checker + persona-reviewer + edition-state-skjema; finansier de 2 nye agentene ved å avvikle content-tracker + personalization-scorer.
  • Fase 2 — Kapabilitet: commands/newsletter.md (10 steg) + reconcile newsletter-sti ut av multiplatform.
  • Fase 3 — Dogfood: produser en ekte edition ende-til-ende; fiks friksjon.
  • Fase 4 — Renovering: templates→quick, publish→calendar, collab+speaking→outreach, authority→strategy, analytics/engagement-merge, router-gating → v2.0.0.

Sesjons-dekomponeringen S1S20 i plan §9.2 er forslag til Execution Strategy. Hver sesjon ≤ 35% kontekst.

Utenfor scope: variabel-intensitet-deling av agenter inn i kortform (utsatt, beslutning B); konsolidering utover §4; cross-repo-endringer i maskinrommet (eget spor, krever instruks).

6. Suksesskriterier (per-steg DoD → Manifests)

Plan §10 definerer DoD per sesjon. Oversett disse til Voyage per-steg Manifests (expected_paths, min_file_count, must_contain, commit_message_pattern, forbidden_paths):

  • Deterministisk (Voyage Verify: + Manifest + Phase 7.5-audit): filer finnes, ls | wc -l stemmer, node --test grønt, grep gir forventet, render kjører fra serie-mappa, edition-config-bytte endrer output.
  • Kjent-svar-fixture (skriv FØR implementasjon, jf. husregel «ingen produksjonskode uten feilende test først»): fact-checker mot 3 påstander (sann/falsk/uverifiserbar → 🟢/🔴/🟡); persona-reviewer mot test-tekst (≤5 flagg, 6 akser, INGEN omskrevet copy).
  • Subjektiv kvalitet — ALDRI selv-sertifisert. Voice-match, om teksten «lander», prosakvalitet rutes til (a) gate-agent med eksplisitt verdikt (persona-reviewer rent JA fra primær; voice-trainer-bekreftelse) eller (b) operatør via annoterbar review-HTML. Et slikt steg er ikke «ferdig» på Claudes eget skjønn. (Voyage Phase 7.5-audit er sikkerhetsnettet mot hallusinert «ferdig».)

7. Ufravikelige regler

  • Modell: Opus 4.7 på alt (Voyage profile: premium). Ikke degrader.
  • Kjøremodus: /trekexecute --fg (sekvensielt, abonnement). IKKE parallell claude -p (API-billing). /trekcontinue per fersk sesjon.
  • Doc-plikt: hver feature-endring som pushes oppdaterer plugin-README + plugin-CLAUDE + rot-README i samme commit.
  • Cross-repo: ingen skriving til /Users/ktg/repos/maskinrommet/ uten eksplisitt instruks.
  • Ingen push uten eksplisitt instruks.
  • Hooks (bash 3.2 / Node): alle nye hooks i Node .mjs; rediger hooks/hooks.template.json + hooks/prompts/*.md → kjør python3 hooks/scripts/compile-hooks.py.
  • Redaksjonell kvalitet på .md-prompter (kommandoer/agenter) verifiseres av operatør via annoterings-HTML, ikke mekanisk.

8. Åpne spørsmål (avklares i plan, ikke blokkerende)

  • edition-config.json JSON vs. frontmatter (anbefalt JSON).
  • video-scripter absorberes i content-repurposer? (besluttes sent).