CommunityCodierung & Entwicklunggithub.com

A5-Münzcheckliste PDF-Generator

Erzeugt druckfertige A5-Filofax-Münzsammlungs-Checklisten als PDF. Immer aktivieren, wenn der Benutzer nach einer druckbaren Münzcheckliste, einem Bindeeinlage, einem Münz-PDF, einer A5-Münzliste oder etwas mit „Münze“ + „Druck“ / „Binder“ / „Checkliste“ / „PDF“ fragt.

Was ist A5-Münzcheckliste PDF-Generator?

Dieses Skill generiert professionelle A5-PDF-Checklisten für Münzsammlungen, optimiert für den Ausdruck auf Graustufen-Laserdruckern und die Verwendung in Filofax-/Ringbuch-Ordnern mit 6-Loch-Punkturand. Es kodiert hart erarbeitete Formatierungsregeln für ReportLab, darunter den richtigen Seitenrand (18 mm links für die Lochung), die Verwendung der Carlito-Schriftart (metrikkompatibel zu Calibri) für ein sauberes Schriftbild, alternierende Zeilenhintergründe und Schraffuren anstelle von Farbe für gesammelte Einträge. Das Skill unterstützt die Fließtext-Anordnung von Abschnitten ohne Seitenumbrüche zwischen kleinen Gruppen, eine Titelseite mit Statistiken und eine konsistente Tabellenstruktur mit einheitlicher Schriftgröße (11 pt) für Name, Zeitraum und Status-Spalten. Es vermeidet bewusst alles, was auf einem S/W-Drucker schlecht aussieht (Farben, Unicode-Symbole) und stellt sicher, dass die Checkliste sofort ausgedruckt werden kann.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/cercit/AI-Skills/tree/main/a5-coin

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht A5-Münzcheckliste PDF-Generator?

Wann verwenden

  • Der Benutzer möchte eine druckbare Münzsammlungs-Checkliste
  • Der Benutzer erwähnt A5, Filofax, Binder oder Planerseiten für Münzen
  • Der Benutzer möchte einen Numista-Export mit einer Serien-Masterliste abgleichen
  • Der Benutzer arbeitet an einer zuvor generierten Münzcheckliste PDF

Seiteneinrichtung

from reportlab.lib.pagesizes import A5
PAGE_W, PAGE_H = A5  # 148mm x 210mm (419,53 x 595,28 Punkte)

LEFT_M = 18*mm    # BREITER — lässt Platz für 6-Loch-Filofax-Stanzung
RIGHT_M = 6*mm
TOP_M = 9*mm
BOT_M = 8*mm
USABLE_W = PAGE_W - LEFT_M - RIGHT_M  # ~124mm

6-Loch-Stanzhilfen

Auf jeder Seite zeichnen. Standard-Lochpositionen für Filofax A5, gemessen von der Oberkante:

HOLE_POSITIONS_MM = [19, 51, 70, 140, 159, 191]
for h in HOLE_POSITIONS_MM:
    y = PAGE_H - h*mm
    c.setStrokeColor(HexColor("#CCCCCC"))
    c.setLineWidth(0.25)
    c.circle(4.5*mm, y, 2.2*mm, stroke=1, fill=0)

Schriftart

Carlito verwenden (metrikkompatibel zu Calibri, kostenlos unter der SIL Open Font License). Unter Linux befindet es sich normalerweise unter:

/usr/share/fonts/truetype/crosextra/Carlito-Regular.ttf
/usr/share/fonts/truetype/crosextra/Carlito-Bold.ttf
/usr/share/fonts/truetype/crosextra/Carlito-Italic.ttf

Unter Windows oder macOS Carlito von Google Fonts herunterladen und stattdessen auf diese Dateien verweisen.

Alle drei Varianten registrieren. Niemals auf Helvetica ausweichen: Das Layout unten ist auf Calibri-ähnliche Metriken abgestimmt.

Typografische Regeln (HARTE EINSCHRÄNKUNGEN)

ElementSchriftartGrößeHinweise
Titelseite-ÜberschriftCarlito-Bold20ptZentriert in schwarzem Balken
Titelseite-UntertitelCarlito-Bold16ptUnter der Überschrift
AbschnittsüberschriftenCarlito-Bold8.5-9ptWeiß auf schwarzem Balken
SpaltenüberschriftenCarlito-Bold7.5ptGrau, oberhalb der Trennlinie
Fließtext — ALLE SpaltenCarlito / Carlito-Bold11ptEinheitlich für Name, Zeitraum, Jetzt
Detailzeile gesammeltCarlito-Italic8.5ptGrau, unterhalb der gesammelten Zeile
FußzeileCarlito6ptSeitenzahl + Checklistenname
Nennwert-SpalteCarlito9ptRechtsbündig, abgekürzt (5Y, 10Y, 1J)

Wichtig: Name-, Zeitraum- und Jetzt-Spalten auf der GLEICHEN Schriftgröße (11pt) halten. Unterschiedliche Größen wirken auf einer gedruckten Seite unprofessionell.

Zeilen-Layout

ROW_H = 16-18      # Punkte — großzügiger Abstand zwischen den Zeilen
SEC_H = 17          # Höhe der Abschnittsüberschrift
COL_H = 13          # Höhe der Spaltenüberschriften
COLLECTED_EXTRA = 11 # Zusätzliche Höhe für die Detailzeile bei gesammelten Zeilen
  • Eine dezente Trennlinie (0,2pt, #DDDDDD) am unteren Rand jeder Zeile zeichnen
  • Zeilenhintergründe abwechseln: jede gerade Zeile erhält #EBEBEB-Füllung
  • Gesammelte Zeilen: fetter Text + Häkchen in der Checkbox

Spaltenpositionen (ab LEFT_M)

COL_CK = 0          # Checkbox
COL_YR = 11         # Jahr
COL_NM = 36         # Münzname (primäre Spalte)
# Rechte Spalten — nach rechts schieben, um Überlappung mit Zeitraumtext zu vermeiden
COL_ERA = 84*mm     # Epochenmarker (B/P/N) oder Nennwert
COL_NOW = 89*mm     # Aktueller Status / Sekundärinformation

Wichtige Lektion: Zeitraum-/Datumsstrings wie "300 BCE-1279" sind bei 11pt etwa 28mm breit. Der Epochenmarker und die NOW-Spalte MÜSSEN nach 84mm beginnen, um Überlappungen zu vermeiden. Dies war eine Korrektur über mehrere Iterationen.

Graustufen-Design (VERPFLICHTEND)

Für einen Graustufen-Laserdrucker ausgelegt. Niemals auf Farbe zur Bedeutungserklärung vertrauen.

Visuelles ElementGraustufen-Ansatz
Hervorhebung gesammelter ZeilenDiagonale Schraffur (keine Farbfüllung)
AbschnittsüberschriftenWeißer Text auf schwarzem Balken
Abwechselnde Zeilen#EBEBEB vs. weiß
EpochenindikatorenTextbuchstaben (B/P/N), keine farbigen Punkte
Gesammelte MünzstättenFett vs. normale Schriftstärke (nicht Farbe)
CheckboxenHäkchen mit Linien gezeichnet, nicht Unicode

Schraffur-Implementierung:

def schraffur(c, x, y, w, h):
    c.saveState()
    p = c.beginPath(); p.rect(x, y, w, h)
    c.clipPath(p, stroke=0)
    c.setStrokeColor(HexColor("#CCCCCC"))
    c.setLineWidth(0.35)
    for i in range(-int(h), int(w+h), 5):
        c.line(x+i, y, x+i+h, y+h)
    c.restoreState()

Häkchen (nicht X, nicht Unicode):

c.setStrokeColor(BLK); c.setLineWidth(1.2)
cx = LEFT_M + COL_CK + 1; cy = ty - 1
c.line(cx+2, cy+4, cx+4, cy+1.5)
c.line(cx+4, cy+1.5, cx+8, cy+7.5)

Seitenfluss (Durchgehend)

Jedem Abschnitt niemals eine eigene Seite geben. Abschnitte fließen durchgehend. Kleine Abschnitte (3-5 Elemente) müssen auf derselben Seite wie der vorherige Abschnittsende untergebracht werden.

# Waisen verhindern: Abschnittsüberschrift benötigt mindestens Überschrift + Spaltenüberschrift + 1 Zeile
if item_type == 'section_header':
    needed = h + COL_H + 2 + ROW_H + 4
    if y - needed < BOT_M:
        y = new_page(c)

Titelseiten-Struktur

  1. Schwarzer Balken mit Überschrift (20pt) und Untertitel (16pt)
  2. Untertitelzeile unterhalb des Balkens (12pt, grau)
  3. Horizontale Linie
  4. Statistikbox (#EBEBEB-Füllung): "Gesamt: X Habe: Y Brauche: Z" (14pt fett)
  5. Abdeckungsprozentsatz (11pt, grau)
  6. Sammlername (14pt fett) + Numista-Handle (11pt)
  7. Legendenabschnitt (falls zutreffend)
  8. Serienzusammenfassung mit rechtsbündigen Zählern

Nicht einfügen

  • Separate leere Notizenseite (Papierverbrauch)
  • Farbabhängige Elemente
  • Unicode-Häkchen oder Sonderzeichen (Probleme mit Schrifteinbettung)
  • Schriftgrößen unter 7pt für irgendein Element
  • Mehr als 1 Seite Leerraum an irgendeiner Stelle des Dokuments

Ausgabe

PDF dort speichern, wo der Benutzer es öffnen kann (auf claude.ai: /mnt/user-data/outputs/ und present_files aufrufen; in Claude Code: das Arbeitsverzeichnis). Seiten mit pdf2image für eine visuelle Qualitätskontrolle rendern, bevor sie ausgeliefert werden.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Verwandte Skills