ktg-plugin-marketplace/CLAUDE.md
Kjell Tore Guttormsen c5b4c58f4f docs(claude): retire root REMEMBER/TODO/ROADMAP, point session files at STATE.md
Removed the legacy root local-continuity files (NEXT-SESSION-PROMPT.local.md,
REMEMBER.md, ROADMAP.md, TODO.md) per the single STATE.md continuity system.
Their durable content was already covered by CLAUDE.md + GOVERNANCE.md; the
rest was stale. Updated the Sesjonsfiler and Arbeidsflyt sections so CLAUDE.md
no longer mandates the deleted files. Per-plugin legacy files remain and are
flagged for the same cleanup, one plugin at a time.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 01:24:28 +02:00

73 lines
8.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ktg-plugin-marketplace
Open-source Claude Code plugin marketplace. Solo project by Kjell Tore Guttormsen.
## Repo-struktur
```
plugins/
ai-psychosis/ v1.0.0 — Interaction awareness (sycophancy, reinforcement loops)
config-audit/ v3.1.0 — Configuration intelligence (health, opportunities, auto-fix, whats-active)
graceful-handoff/ v2.1.0 — Auto-trigger handoff via Stop hook (skill + JSON pipeline + 4-step model-aware context resolution)
linkedin-studio/ v3.1.0 — Full-spectrum LinkedIn content engine (short-form feed + long-form newsletter). **v3.1.0 adds a cold adversarial review package (Endring 9)** to the long-form pipeline: three new headless archetypes (all Opus) — `content-reviewer` (argument integrity C1C5, ≤8 flags), `language-reviewer` (Norwegian L1L5, ≤10 flags), `fact-reviewer` (cold re-verification F1F4 + pivot-risk, web search) — that re-review a frozen draft with NO drafting-session context (each refuses drafting framing as "context pollution"); new **Step 6.5 (headless-review)** in `/linkedin:newsletter` after the persona sweep, before lock (the independence layer the in-session gates can't be); standalone **`/linkedin:headless-review`** command (run in a fresh session for max isolation); **`/linkedin:pivot`** command + pivot-detection gate (>20 % word-count / >2 new sections re-opens cleared gates before lock); **per-artifact personas** (`articles.NN.personas`). Motivated by Del 4 (Security Champions pivot): the in-session editor + persona sweep shared the drafting session's framing-bias, so the shipped version was never independently re-reviewed. Pipeline 15→16 phases; 24→26 commands; 16→19 agents; additive `personas`/`pivots`/`headlessReview` state; backward-compatible, reload required for the new agents. **v3.0.0 renamed from `linkedin-thought-leadership`** (LinkedIn Thought Leadership → LinkedIn Studio): slug + agent namespace (`linkedin-studio:<agent>`) + runtime state path (`~/.claude/linkedin-studio.local.md`) all change; the `/linkedin:*` commands are unchanged (frontmatter-namespaced, slug-independent). Breaking — reinstall required; functionality byte-identical to v2.4.0. v2.0.0 consolidated surface (27→24 commands, 16→14 agents) + added `/linkedin:newsletter` orchestrator with fact-check + persona-sweep gates BEFORE lock. v2.1.0 added skeleton-gate BEFORE prose (Step 2.5 + Step 3a) + third `persona-reviewer` mode (`skjelett`); pipeline 11→13 phases. v2.2.0 hardened the longform gates (2nd production run): blocking persona hard-fails, fact-check post-cutoff web-search mandate + orthogonal-to-narrative rule, new `voice-scrubber` agent (Opus, de-AI + Norwegian-chronicle voice; gold standard = approved Norwegian editions NOT English post corpus), render+annotate operator gates (2.5/3a), edition-state reconciled with STATE.md (`edition-HANDOVER.md` deleted); agents 14→15. v2.3.0 added **Step 7.5 (visual-assets)** to `/linkedin:newsletter` — cover (+ inline figures) or carousel deck, generated (default mcp-image; external `cover-raw.png` accepted) + operator-gated via `SendUserFile` BEFORE lock so `build-linkedin.mjs` picks up `cover.png` without a post-lock re-render; pipeline 13→14 phases, new `config/image-credit-caption.template.md`, additive `visualAssets` state. v2.4.0 adds **Step 5.5 (editorial-review)** to `/linkedin:newsletter` — new `editorial-reviewer` agent (Opus) judging craft (prosa-håndverk + narrativ-arkitektur), not reader-response, ≤10 flags BLOCK/REWORK/NICE as direction, operator-gated via `SendUserFile` between fact-check (5) and persona-sweep (6), mirroring Maskinrommet skrivekontrakt §C2; motivated by Del 4 (every persona PASS yet 8 fresh editor points, ~6/8 craft/architecture blind spots). Pipeline 14→15 phases; agents 15→16; additive `editorialReview` state; doc/orchestration-only (new agent + fasit fixture + lint test the only new files). Commands unchanged (24); agents 16. Render pipeline self-hosted (OFL-1.1 fonts).
llm-security/ v7.7.2 — Security scanning, auditing, threat modeling. HTML report output for all 18 skill commands (render-report CLI + canonical ESM module mirrored bit-identical into the playground). v7.7.2 translated the remaining Norwegian surface text in the playground UI, the canonical renderer, the agent prompts, and the README/CLAUDE.md state sections to English. v7.7.1 stripped the playground to the catalog as the only routable surface.
ms-ai-architect/ v1.15.0 — Microsoft AI architecture (Cosmo Skyberg persona) + manual KB-refresh slash command + v3 project-view (sidebar med 17 artifacts + main + import-modal overlay, v2-surface fjernet i v1.15.0)
okr/ v1.0.0 — OKR guidance for Norwegian public sector
voyage/ v5.0.3 — Brief, research, plan, execute, review, continue. Contract-driven Claude Code pipeline (six-command universal pipeline + multi-session resumption + --gates autonomy chain). /trekbrief, /trekplan, and /trekreview each end by running scripts/annotate.mjs against the just-written .md and printing the file:// link to a self-contained operator-annotation HTML modelled on claude-code-100x/build-site.js: pencil-toggle annotation mode, select text or click any element, choose intent (Fiks/Endre/Spørsmål), comment, sidebar groups by section with delete + Copy Prompt, localStorage persistence per artifact path. v5.0.0 removed the v4.2/v4.3 bespoke playground + /trekrevise + Handover 8; v5.0.1 pointed at /playground document-critique (wrong direction); v5.0.2 was operator-led but too thin; v5.0.3 matches the reference the operator pointed at from day one.
shared/
playground-design-system/ v0.6.0 — Aksel/Digdir-aligned CSS design system + JSON schemas + self-hosted Inter/JetBrains Mono/Source Serif 4 fonts. Tier 1 base + Tier 2 + Tier 3 wave 1+2 (20 components) + Tier 4 project-view-arketype (v0.6.0 — sidebar + main + import-modal overlay). Consumed by ms-ai-architect, okr, llm-security, voyage, config-audit.
playground-examples/ — Reference scenarios (ROS-Lier, OKR-Bærum, security-Direktorat) + showcase landing + 12 isolated Tier 3 wave 2 component demos under components/
```
Hvert plugin er selvstendig med egen CLAUDE.md, README, hooks, agents og commands. `shared/` inneholder marketplace-nivå infrastruktur som flere plugins bygger på.
## Konvensjoner
- **Språk:** Norsk dialog, engelsk kode/docs
- **Commits:** Conventional Commits — `type(scope): description`
- **Git:** Forgejo (`git.fromaitochitta.com/open/ktg-plugin-marketplace`). Aldri GitHub.
- **Hooks:** Alltid Node.js (.mjs), aldri bash. Cross-platform.
- **Avhengigheter:** Null npm dependencies i hooks/scannere. `node:test` for tester.
- **Bidrag:** Issues velkommen som signaler. PRs ikke akseptert. Fork-and-own er anbefalt adopsjonsmodell — se `GOVERNANCE.md`.
- **Lisens:** MIT, alle plugins
- **Docs ved endring (OBLIGATORISK):** Enhver feature-endring som pusher til Forgejo MÅ oppdatere alle tre doc-nivåer i SAMME commit eller umiddelbart etter:
1. Plugin `README.md` — detaljert dokumentasjon av endringen
2. Plugin `CLAUDE.md` — arkitektur/oversikt
3. Rot-`README.md` — marketplace-landingssiden (`git.fromaitochitta.com/open/ktg-plugin-marketplace`)
- **Playground-oppdatering:** Ved endring av plugin playground HTML eller delt design-system, følg prosedyren i `shared/PLAYGROUND-MAINTENANCE.md` (4 spor: HTML-endring, DS-endring, screenshots, release).
## Sesjonsfiler (lokale, gitignored)
**Rot:** `STATE.md` er state-of-play, injisert ved sesjonsstart av
`~/.claude/hooks/session-start.sh` (nærmeste STATE.md fra cwd opp til rot) og
overskrevet ved sesjonsslutt. Varige fakta hører i denne CLAUDE.md / `GOVERNANCE.md`;
git-historikk er langtidsloggen.
**Per-plugin (legacy, under utfasing):** noen `plugins/<navn>/` har fortsatt egne
`REMEMBER.md` / `TODO.md` / `ROADMAP.md`. Disse konsolideres til plugin-egen
`STATE.md` + git etter samme mønster som rot, ett plugin om gangen.
## Arbeidsflyt
1. `cd` til riktig plugin-mappe
2. Les pluginets CLAUDE.md + injisert STATE.md for kontekst
3. Jobb innenfor scope
4. Overskriv STATE.md ved avslutning, commit endringer
## Communication patterns
### Linking to local files
When pointing to local files in responses, always use markdown link syntax with a descriptive name:
- Use `[Human-friendly name](file:///absolute/path)` — never bare `file:///...` URLs or autolinks `<file://...>`.
- Always use absolute paths. Never `~/` or relative paths.
- For multiple files, render as a bullet list of named markdown links.
Why: bare `file://` URLs only render the first as clickable across multiple lines. Named markdown links make each entry independently clickable and look cleaner.
Example:
- [Brief](file:///Users/ktg/.../brief.html)
- [Research summary](file:///Users/ktg/.../research/summary.md)