Implements the 6-change spec from the Seres-serien production (linkedin-plugin-endringsspec.md). All acceptance criteria met. 1. Avoid-patterns (modell-/navne-katalog, completeness-over-reader-action, self-referential overhead openings) → longform-quality-rules.md (rule 1+3) + user-profile.template.md. 2. Persona gate now BLOCKING with explicit hard-fail list (primær mistet meg / doesn't own action / sjargong-mur / modell-navne-katalog → BLOCK; "JA med store forbehold" = NEI) → persona-reviewer.md + personas.template.md. 3. Fact-check declared orthogonal to narrative strength + post-cutoff web-search mandate + high-frequency-error checklist → fact-checker.md. 4. NEW agent voice-scrubber.md (Opus) — de-AI scrub + Norwegian-chronicle voice-drift; gold standard = approved Norwegian editions, NOT the English post corpus. Wired into newsletter.md Step 4. 5. Operator gates = render+annotate rounds (build-html.mjs to file://) as primary flow, AskUserQuestion as receipt/fallback → newsletter.md 2.5+3a. 6. Edition state reconciled with STATE.md (ONE-system). edition-HANDOVER template deleted; narrative to <serie>/STATE.md, machine data (factcheckLog, personaSweep, immutableRules) to edition-state.json. Agents 14 to 15; commands unchanged (24). Backward-compatible (additive state-shape only). Docs updated across all three levels + CHANGELOG. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
72 lines
6 KiB
Markdown
72 lines
6 KiB
Markdown
# 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-thought-leadership/ v2.2.0 — Full-spectrum LinkedIn content engine (short-form feed + long-form newsletter). 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 hardens the longform gates (2nd production run): blocking persona hard-fails (mistet meg / doesn't own action / sjargong-mur / modell-navne-katalog → BLOCK), 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), and edition-state reconciled with STATE.md (`edition-HANDOVER.md` deleted). Agents 14→15; commands unchanged (24). 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)
|
|
|
|
Alle plugins + root har:
|
|
- `REMEMBER.md` — Sesjonsstatus, sist gjort, viktige beslutninger
|
|
- `TODO.md` — Nærliggende oppgaver (1-4 uker)
|
|
- `ROADMAP.md` — Langsiktig retning (kvartal/halvår)
|
|
|
|
Disse trackes IKKE i git. Oppdater ved sesjonsslutt.
|
|
|
|
## Arbeidsflyt
|
|
|
|
1. `cd` til riktig plugin-mappe
|
|
2. Les pluginets CLAUDE.md for kontekst
|
|
3. Les REMEMBER.md og TODO.md for sesjonsstatus
|
|
4. Jobb innenfor scope
|
|
5. Oppdater REMEMBER.md ved avslutning
|
|
|
|
## 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)
|