Files
kalina-ci/SKILL.md
T
mm db3725da4d init: KALINA CI 1.0.0 - Marke, Satzvorlage, Vorlagen, Stempel, CLI
Zusammenfuehrung der bisher verstreuten CI (Markendoku + Open-WebUI-Skill) in ein
versioniertes Repository. Neu: tools/kalina-pdf (build/stamp/check/tokens),
tokens.json, docs/aenderungen.md als verbindlicher Aenderungsweg.
2026-10-23 10:39:30 +02:00

4.6 KiB

name, description, metadata
name description metadata
kalina-ci Use when a PDF, page or slide must carry the KALINA corporate identity. One CSS, one CLI, one source.
version stand
1.0.0 2026-10-23

KALINA CI — Corporate Identity für Dokumente und Seiten

Diese Skill-Datei ist der Einstiegspunkt in die KALINA CI. Alles, was nach KALINA aussehen soll — PDF, Bericht, Angebot, Folie, Landingpage — nimmt diese Dateien, nicht selbst erfundene Farben und nicht ein nachgebautes Logo.

Die CI ist versioniert. Änderungen laufen über das Repository (Issue → Branch → PR), nicht ad hoc in einem Projekt. Siehe docs/aenderungen.md.

Was hier liegt

Pfad Rolle
css/kalina-ci.css Satzvorlage: @page A4, Kopfleiste, Tabellen, Plakette, Fußlinie
templates/report.html Mehrseitiger Bericht (Deckblatt, Abschnitte, Tabellen)
templates/page.html Einzelne Seite / Handout
templates/bild-mit-prompt.html Generiertes Bild mit Prompt als Dokument
assets/kalina-mark.svg Marke (Kreis + K + Beeren), schriftfrei, überall einsetzbar
assets/kalina-wordmark.svg Wortmarke — nur verwenden, wo DejaVu Sans liegt
assets/kalina-logo-combined.svg Marke + Wortmarke
assets/favicon/ 16 / 32 / 180 / 512 px, gerendert aus der Marke
scripts/stamp_existing_pdf.py Fremd-PDF stempeln (Deckblatt, Fußzeile, optional Kopfb and)
tools/kalina-pdf CLI: bauen, stempeln, prüfen
tokens.json Farben, Schriften, Geometrie, Zonen — maschinenlesbar

Drei Wege, ein Ergebnis

# 1. Neues Dokument: Vorlage kopieren, «Platzhalter» füllen, bauen
cp templates/report.html bericht.html
tools/kalina-pdf build bericht.html --stamp --titel "Angebot 2026-17"

# 2. Fremdes PDF (Anhang, Behördenpost, Kundenpdf) mit CI versehen
tools/kalina-pdf stamp eingang.pdf -o eingang-kalina.pdf --titel "Rechnung 4711"

# 3. Nur prüfen: Seiten, Füllgrad je Seite, Seite 1 als PNG
tools/kalina-pdf check bericht.pdf --raster raster/

build kopiert fehlendes kalina-ci.css neben die HTML-Datei, weil weasyprint Stylesheets relativ zur HTML-Datei auflöst. stamp lässt das Original unangetastet und schreibt immer eine neue Datei. check bricht mit Exit 1 ab, wenn eine Seite unter 55 % Füllgrad liegt — eine Fast-Leerseite ist ein Layoutfehler, kein Inhalt.

Regeln, die aus Fehlern entstanden sind

  • Marke ja, Wortmarke vorsichtig. Die Marke (Kreis + K + Beeren) ist schriftfrei und skaliert beliebig. Die Wortmarken-SVG setzt ihre Buchstaben absolut (x = 10/80/150/212/242/319) und ist auf DejaVu Sans Bold vermessen — in einer fremden Schrift stoßen L, i und N zusammen. In Dokumenten und Webseiten die Wortmarke deshalb als Text setzen: KAL + rotes i + NA.
  • Auf helle Fläche Ink, auf Ink-Fläche Bone. Bone auf Bone ist unsichtbar; im gerasterten PDF stand dann nur das rote i.
  • Wortmarke nicht unter s ≈ 0.2. Darunter ist der i-Schaft ~2 pt lang und der Beeren-Cluster kleiner als 2 pt. In Kopfzeilen s = 0.24.
  • Marke im Band nie größer als das Band. 44 mm Marke in 12 mm Band ragt heraus und liegt auf dem fremden Titel.
  • Nach jedem Bau die erste Seite rastern und ansehen, nicht auf Sichtbarkeit schließen: tools/kalina-pdf check x.pdf --raster raster/.
  • break-inside: avoid nur für kurze Abschnitte. Bei Berichten mit Abschnitten länger als eine Seite erzwingt die Vorlage einen Seitenanfang je Abschnitt und hinterlässt fast leere Vorderseiten (gemessen: 14 Seiten, eine bei 11,6 %; nach Aufhebung 10 Seiten ohne Seite unter 89 %). Im eigenen <style>: @media print { .abschnitt { break-inside: auto; } }, h2, h3 { break-after: avoid }.
  • Füllgrad ohne Kopf- und Fußzone messen — sonst zählt die Fußzeile als unterster Block und jede Seite meldet dieselben ~105 %. kalina-pdf check macht das richtig.
  • Überschrift und lange Tabelle gehören zusammen. Reißt eine 12-Zeilen-Tabelle mit einer Zeile auf die Folgeseite, ist das ein Satzfehler: break-before: page an die Überschrift oder Tabelle kürzen.

Farben

Ink #0B0F14 · Bone #F5F5EF · Kalina-Rot #C1121F · Steel #3A4250 · Muted #8A94A2

Wenn ein anderer Agent das Design macht

Werkzeuge und Agenten, die eine Seite bauen (Bildgeneratoren, externe Design-Dienste), sehen diese Dateien nicht und erfinden sonst ein eigenes Logo — markenfremd und meist als schweres Raster-PNG. Also die Marke mitgeben: SVG inline einbetten oder als Datei beilegen, nie einen Fremdanbieter die Marke neu zeichnen lassen. Danach nachsehen, dass das Ergebnis keine Bilder von fremden Hosts zieht.