Communitygithub.com

jp-consulting-pptx

Crea presentaciones PowerPoint (.pptx) en japonés con el estilo de las firmas consultoras japonesas, evitando las marcas típicas de diapositivas generadas por IA. Cubre redacción (estilo, títulos de acción, mezcla です/ます, eliminación de traducciones literales), diseño (alineación, cuadrícula, selección de patrones) y acabado (fuentes, colores, márgenes).

¿Qué es jp-consulting-pptx?

Este skill especializado para agentes de IA (como Claude Code, Cursor o Codex) permite generar presentaciones PowerPoint .pptx en japonés con la calidad y el estilo profesional de las firmas consultoras japonesas, evitando los artefactos comunes de las diapositivas generadas por IA. Se enfoca en tres áreas críticas: redacción (文体), diseño (配置) y acabado (仕上げ). El skill proporciona un flujo de trabajo detallado que comienza con la definición de una historia narrativa, seguido de la redacción de contenido, selección de patrones de diseño, construcción programática, linting automático y validación visual. Incluye una biblioteca JavaScript (basada en pptxgenjs) con componentes predefinidos como portadas, diapositivas de contenido, tablas, gráficos de barras, columnas y chevrones, junto con un linter Python que verifica fuentes, etiquetas de idioma, desbordamientos, espacios y repetición de diseños. También proporciona guías de referencia sobre estilo de escritura, patrones de diseño y reglas de embellecimiento, todo orientado a producir documentos que parezcan creados por un consultor japonés experto, no por una máquina.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Brian-LEE0/jp-consulting-pptx/tree/HEAD

Preguntar en tu IA favorita

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

Documentación

Japanese consulting-style PPTX

Este skill añade una capa específica para japonés sobre el skill pptx. Si el skill pptx está disponible (claude.ai: /mnt/skills/public/pptx/SKILL.md), léelo primero para conocer los problemas comunes de pptxgenjs y los comandos de QA (validate.py, soffice → pdftoppm). Todo lo que sigue lo reemplaza o amplía. Los scripts propios de este skill solo necesitan Node + pptxgenjs y Python 3 + python-pptx.

Por qué existe esto

Las diapositivas japonesas creadas por pipelines predeterminados parecen hechas por máquina por tres razones, en este orden de visibilidad:

  1. 文体 – Explicaciones en です・ます, titubeos (〜と言えるでしょう), palabras vacías (さまざまな/効率的に), sintaxis de traducción. Se corrige con references/writing-style.md y el linter.
  2. 配置 – Títulos centrados, filas idénticas de tres tarjetas, franjas de acento, espacios desiguales, títulos que se mueven entre diapositivas. Se corrige con references/layout-and-patterns.md y zonas de diseño fijas en la biblioteca.
  3. 仕上げ – pptxgenjs deja vacía la fuente de Asia Oriental, por lo que PowerPoint renderiza el japonés en 游ゴシック Light; etiqueta el texto como en-US; ignora kinsoku. Se corrige con scripts/postprocess_jp.py, que se ejecuta automáticamente desde la biblioteca.

La causa del sonido a IA es el vacío, no palabras concretas. Prohibir una frase hace que el modelo la sustituya por un sinónimo. Así que corrige la causa: añade concreción (quién, qué, cuántos, para cuándo) o elimina la frase. writing-style.md §0 lo explica; sigue su proceso de tres pasos (削る → 足す → 揃える).

Reemplazos del skill pptx

pptx skill diceAquí
Título 36–44pt, cuerpo 14–16ptTítulo 24pt, lead 14, cuerpo 14, notas 10. Las presentaciones de consultoras japonesas son documentos para leer; los títulos largos en japonés no caben a 36pt. Usa cuerpo de 18pt+ solo si la presentación se proyecta.
Fuentes de la lista seguraLatín/números Arial, japonés BIZ UDPゴシック (alternativas: 游ゴシック, メイリオ). Establece font: en createDeck. QA renderiza con una fuente sustituta, así que deja ~10% de margen en las cajas.
Cada diapositiva necesita un elemento visualUna tabla estructurada, columnas o un proceso cuenta como visual. Evita diapositivas solo con viñetas; nunca añadas iconos decorativos para cumplir esto.
Sin líneas de acento, sin barras de colorIgual aquí, y tampoco franjas en bordes de tarjetas ni bandas de encabezado de ancho completo.

Flujo de trabajo

  1. Historia primero. Escribe los títulos de acción de cada diapositiva como una lista y léelos en orden. Si los títulos por sí solos no cuentan la historia, corrige la historia antes de cualquier diseño (writing-style.md §2).
  2. Escribe el texto por diapositiva aplicando writing-style.md §1–§5: registro elemento por elemento, sin です・ます en títulos o viñetas, números con 基準 y 出所.
  3. Elige un patrón por diapositiva de la tabla en layout-and-patterns.md §2. Las diapositivas vecinas no deben usar el mismo patrón.
  4. Construye con la biblioteca (abajo). No coloques manualmente el título, lead, notas o número de página; los diseños los gestionan.
  5. Lintea: python3 scripts/lint_jp_deck.py deck.pptx. Corrige cada ERROR y lee cada WARN. Repite hasta que no quede ningún ERROR.
  6. Valida y renderiza: validate.py, luego convierte a imágenes e inspecciona cada diapositiva (ver beautify.md §4–§5). Mira las diapositivas con ojos frescos; revisa títulos por líneas huérfanas y bloques por espacios de menos de 0.3 pulgadas.
  7. Informa el resumen del linter y cualquier WARN que hayas mantenido a propósito, con la razón.

Si el usuario proporciona diapositivas japonesas existentes para corregir, ejecuta primero el linter para obtener una lista de defectos, luego edita el texto según writing-style.md y mantén su diseño a menos que viole las reglas de diseño.

Biblioteca

const { createDeck } = require("<directorio del skill>/scripts/jp_deck_lib.js");
const d = createDeck({ font: "biz-ud", palette: "ink", title: "…", company: "…", footerText: "Confidential" });
const { L } = d;                                  // zonas en pulgadas: L.body, L.note, …
d.cover({ title, subtitle, meta });
const s = d.content({ title: "結論を言い切るタイトル", lead: "対象・条件", section: "章名" });
d.bullets(s, ["体言止めの行", { t: "補足", lv: 1 }], { x: L.body.x, y: L.body.y, w: 6, h: 3 });
d.barChart(s, { labels, series: [{ name, values }] }, rect, { hi: 0 });
d.table(s, rows, rect, { numCols: [1, 2], hlRow: 2 });
d.columns(s, [{ head, items, foot, hl }], rect);
d.chevrons(s, [{ head, items, out, hl }], rect);
d.takeaway(s, "示唆の一文");                      // parte inferior de la zona de cuerpo
d.note(s, ["出所:…", "注:…"]);
await d.finish("out.pptx");                       // escribe, luego ejecuta postprocess_jp.py

scripts/sample_deck.js construye una presentación de referencia de 8 diapositivas que usa todos los componentes; léelo antes de escribir un nuevo script de construcción. Las opciones de color para líneas, tablas y gráficos necesitan hex de d.THEME.colors; el texto y los rellenos toman colores de esquema d.C.*. postprocess_jp.py falla con estrépito si un color de esquema se ha filtrado en una opción solo hex.

No uses pres.addText con un fontFace personalizado; las fuentes del tema llevan el par latín y japonés. Una fuente codificada rompe el mapeo de Asia Oriental.

Archivos de referencia

  • references/writing-style.md – registro por elemento, títulos de acción, el catálogo de olor a IA (NG → OK), notación numérica, reglas de viñetas, pasos de reescritura, lista de verificación previa. Léelo antes de escribir cualquier texto de diapositiva.
  • references/layout-and-patterns.md – zonas y cuadrícula, tabla contenido → patrón, principios de alineación, diseños con aspecto de IA que evitar, convenciones de gráficos y tablas.
  • references/beautify.md – sistema de color, escala tipográfica, reglas de formas, comprobaciones de acabado, advertencias de renderizado.

Linter

scripts/lint_jp_deck.py deck.pptx [--strict] [--json] [--ignore REGLA …] lee el .pptx con python-pptx e informa ERROR / WARN / INFO por diapositiva. Código de salida 1 en cualquier ERROR (o cualquier WARN con --strict). Cubre los elementos ★ de writing-style.md §3 más fuentes, etiquetas de idioma, estimaciones de desbordamiento, superposiciones, espacios ajustados, márgenes, desviación de posición del título, texto de cuerpo centrado y repetición de diseño. No puede juzgar si un título es una buena afirmación; hazlo leyendo los títulos en orden.

Skills relacionados