CommunityProgramación y desarrollogithub.com

A5 Coin Checklist PDF Generator

Genera listas de verificación de colecciones de monedas en formato A5, listas para imprimir en archivadores Filofax, como PDF. Actívalo siempre que el usuario solicite una lista de monedas imprimible, una hoja de archivador, un PDF de colección de monedas, una lista A5 de monedas o cualquier combinación de 'moneda' con 'imprimir' / 'archivador' / 'lista' / 'PDF'. También actívalo al iterar sobre un PDF existente de lista de monedas: reformatear, agregar series, ajustar el diseño. Esta skill codifica reglas de formato perfeccionadas para ReportLab en papel A5 con márgenes de perforación de 6 agujeros, impresión láser en escala de grises y la fuente Carlito (equivalente a Calibri).

¿Qué es A5 Coin Checklist PDF Generator?

Esta habilidad permite generar listas de verificación de colecciones de monedas en formato PDF, optimizadas para su impresión en papel A5 y archivadores Filofax. Está diseñada para desarrolladores y usuarios de agentes de IA que necesitan crear, reformatear o iterar sobre documentos de colección de monedas, especialmente cuando se requiere un diseño profesional, legible en escala de grises y con márgenes precisos para perforaciones de 6 agujeros. La habilidad utiliza ReportLab para generar el PDF, aplicando reglas estrictas de formato: fuente Carlito (compatible con Calibri), tamaños de letra uniformes en las columnas principales (11pt), diseño a dos columnas con espacio suficiente para evitar superposiciones de texto, y una paleta de grises que incluye sombreado de filas alternas y marcas de verificación dibujadas a línea en lugar de depender del color. También incorpora guías de perforación de 6 agujeros en cada página, un sistema de flujo continuo de páginas (sin saltos de sección innecesarios) y una portada estructurada con estadísticas de la colección. Es compatible con entornos Linux, Windows y macOS, y se activa automáticamente cuando el usuario solicita listas de monedas imprimibles, hojas de archivador, PDFs de monedas en A5, o cuando se itera sobre un PDF existente para mejorar su diseño o contenido.

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

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Generador de Listas de Verificación de Monedas en PDF A5

Cuándo usarlo

  • El usuario quiere una lista de verificación de colección de monedas imprimible
  • El usuario menciona A5, Filofax, archivador o páginas de planificador para monedas
  • El usuario quiere hacer referencia cruzada de una exportación de Numista con una lista maestra de series
  • El usuario está iterando sobre un PDF de lista de verificación de monedas generado previamente

Configuración de página

from reportlab.lib.pagesizes import A5
PAGE_W, PAGE_H = A5  # 148mm x 210mm (419.53 x 595.28 pts)

LEFT_M = 18*mm    # MÁS ANCHO — despeja la perforación de 6 agujeros Filofax
RIGHT_M = 6*mm
TOP_M = 9*mm
BOT_M = 8*mm
USABLE_W = PAGE_W - LEFT_M - RIGHT_M  # ~124mm

Guías de perforación de 6 agujeros

Dibujar en cada página. Posiciones estándar de los agujeros Filofax A5 desde el borde superior:

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)

Fuente

Usar Carlito (compatible métricamente con Calibri, gratuita bajo la Licencia de Fuente Abierta SIL). En Linux suele estar en:

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

En Windows o macOS, descargar Carlito desde Google Fonts y apuntar a esos archivos en su lugar.

Registrar las tres variantes. Nunca recurrir a Helvetica: el diseño a continuación está ajustado para las métricas de estilo Calibri.

Reglas de tipografía (RESTRICCIONES ESTRICTAS)

ElementoFuenteTamañoNotas
Título de portadaCarlito-Bold20ptCentrado en banda negra
Subtítulo de portadaCarlito-Bold16ptDebajo del título
Encabezados de secciónCarlito-Bold8.5-9ptBlanco sobre barra negra
Encabezados de columnaCarlito-Bold7.5ptGris, sobre línea separadora
Texto del cuerpo — TODAS las columnasCarlito / Carlito-Bold11ptUniforme en Nombre, Período, Ahora
Línea de detalle de coleccionadoCarlito-Italic8.5ptGris, debajo de la fila coleccionada
Pie de páginaCarlito6ptNúmero de página + nombre de la lista
Columna de valor facialCarlito9ptAlineado a la derecha, abreviado (5Y, 10Y, 1J)

Crítico: Mantener las columnas Nombre, Período y Ahora en el MISMO tamaño de fuente (11pt). Los tamaños mixtos se ven poco profesionales en una página impresa.

Diseño de filas

ROW_H = 16-18      # pts — espaciado generoso entre líneas
SEC_H = 17          # altura de la barra de encabezado de sección
COL_H = 13          # altura del encabezado de columna
COLLECTED_EXTRA = 11 # altura adicional para la línea de detalle en filas coleccionadas
  • Dibujar una línea separadora sutil (0.2pt, #DDDDDD) en la parte inferior de cada fila
  • Alternar fondos de fila: cada fila par recibe relleno #EBEBEB
  • Filas coleccionadas: texto en negrita + marca de verificación en la casilla

Posiciones de columnas (desde LEFT_M)

COL_CK = 0          # casilla de verificación
COL_YR = 11         # año
COL_NM = 36         # nombre de la moneda (columna principal)
# Columnas del lado derecho — empujar a la derecha para evitar superposición con texto del período
COL_ERA = 84*mm     # marcador de era (B/P/N) o valor facial
COL_NOW = 89*mm     # estado actual / información secundaria

Lección clave: Las cadenas de fecha/período como "300 a. C.-1279" miden ~28mm de ancho a 11pt. El marcador de era y la columna AHORA deben comenzar después de 84mm para evitar superposición. Esto fue una corrección de múltiples iteraciones.

Diseño en escala de grises (OBLIGATORIO)

Diseñado para una impresora láser en escala de grises. Nunca confiar en el color para transmitir significado.

Elemento visualEnfoque en escala de grises
Resaltado de fila coleccionadaRayado diagonal (no relleno de color)
Encabezados de secciónTexto blanco sobre barra negra sólida
Filas alternas#EBEBEB vs blanco
Indicadores de eraLetras de texto (B/P/N), no puntos de color
Marcas de ceca coleccionadasPeso negrita vs normal (no color)
Casillas de verificaciónMarca dibujada con líneas, no Unicode

Implementación del rayado:

def hatched(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()

Marca de verificación (no X, no 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)

Flujo de página (Continuo)

Nunca dar a cada sección su propia página. Las secciones fluyen de forma continua. Las secciones pequeñas (3-5 elementos) deben empaquetarse en la misma página que la cola de la sección anterior.

# Prevenir huérfano: el encabezado de sección necesita encabezado + encabezado_columna + 1 fila mínimo
if item_type == 'section_header':
    needed = h + COL_H + 2 + ROW_H + 4
    if y - needed < BOT_M:
        y = new_page(c)

Estructura de la portada

  1. Banda negra con título (20pt) y subtítulo (16pt)
  2. Línea de subtítulo debajo de la banda (12pt, gris)
  3. Regla horizontal
  4. Cuadro de estadísticas (relleno #EBEBEB): "Total: X Tengo: Y Necesito: Z" (14pt negrita)
  5. Porcentaje de cobertura (11pt, gris)
  6. Nombre del coleccionista (14pt negrita) + identificador de Numista (11pt)
  7. Sección de leyenda (si aplica)
  8. Resumen de series con conteos alineados a la derecha

No incluir

  • Página de notas en blanco separada (desperdicia papel)
  • Elementos que dependen del color
  • Marcas de verificación Unicode o caracteres especiales (problemas de cobertura de fuente)
  • Tamaños de fuente por debajo de 7pt para cualquier elemento
  • Más de 1 página de espacio en blanco en cualquier parte del documento

Salida

Guardar el PDF donde el usuario pueda abrirlo (en claude.ai: /mnt/user-data/outputs/ y llamar a present_files; en Claude Code: la carpeta de trabajo). Renderizar páginas con pdf2image para una revisión visual antes de entregar.

Individual skills in this repo

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

Skills relacionados