Communitygithub.com

jp-consulting-pptx

Cria apresentações PowerPoint (.pptx) em japonês no estilo de consultorias japonesas, sem traços típicos de slides gerados por IA. Cobre escrita (estilo, títulos de ação, registro です/ます, eliminação de traduções), layout (alinhamento, grades, seleção de padrões) e acabamento (fontes, cores, margens).

O que é jp-consulting-pptx?

Este skill adiciona uma camada especializada em japonês sobre o skill `pptx` básico. Ele resolve os três problemas principais que fazem slides gerados por IA parecerem artificiais: 文体 (estilo de escrita), 配置 (layout) e 仕上げ (acabamento). Inclui um linter dedicado (`lint_jp_deck.py`) que verifica mais de 15 regras, desde fontes e tags de idioma até overflow e repetição de layouts. O workflow é estruturado: primeiro a história (action titles), depois a escrita com guia de estilo, escolha de padrões de slide (sem repetir entre slides vizinhos), construção com a biblioteca JavaScript fornecida, linting rigoroso, e validação visual com renderização para imagens. Suporta plataformas como Claude Code e ferramentas que executem Node.js + Python 3. A biblioteca oferece componentes prontos (cover, bullets, barChart, table, columns, chevrons, takeaway, note) que seguem automaticamente as regras de layout e acabamento. O skill também permite corrigir slides japoneses existentes: execute o linter primeiro, depois edite o texto seguindo o guia de estilo, mantendo o layout original a menos que viole as regras.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Apresentações PowerPoint no Estilo de Consultoria Japonesa

Este skill adiciona uma camada específica para o japonês sobre o skill pptx. Se o skill pptx estiver disponível (claude.ai: /mnt/skills/public/pptx/SKILL.md), leia-o primeiro para conhecer as armadilhas do pptxgenjs e os comandos de QA (validate.py, soffice → pdftoppm). Tudo abaixo substitui ou estende esse conteúdo. Os scripts próprios deste skill precisam apenas de Node + pptxgenjs e Python 3 + python-pptx.

Por que isso existe

Slides japoneses feitos por pipelines padrão parecem produzidos por máquina por três motivos, nesta ordem de visibilidade:

  1. 文体 (Estilo de escrita) – Explicações em です・ます, rodeios (〜と言えるでしょう), palavras vazias (さまざまな/効率的に), sintaxe de tradução. Corrigido com references/writing-style.md mais o linter.
  2. 配置 (Layout) – Títulos centralizados, linhas idênticas de três cartões, faixas de destaque, gaps irregulares, títulos que se movem entre slides. Corrigido com references/layout-and-patterns.md e zonas de layout fixas na biblioteca.
  3. 仕上げ (Acabamento) – pptxgenjs deixa a fonte do Leste Asiático vazia, então o PowerPoint renderiza japonês em 游ゴシック Light; marca o texto como en-US; ignora kinsoku. Corrigido por scripts/postprocess_jp.py, executado automaticamente pela biblioteca.

A causa do texto com som de IA é o vazio, não palavras específicas. Banir uma frase faz o modelo substituir por um sinônimo. Então corrija a causa: adicione especificidades (quem, o quê, quantos, até quando) ou remova a frase. writing-style.md §0 explica isso; siga sua reescrita em três passos (削る – cortar, 足す – adicionar, 揃える – alinhar).

Substituições do skill pptx

O que o skill pptx dizAqui
Título 36–44pt, corpo 14–16ptTítulo 24pt, lead 14, corpo 14, notas 10. Decks de consultoria japonesa são documentos lidos; títulos longos em japonês não cabem em 36pt. Use corpo 18pt+ apenas se o deck for projetado.
Fontes da lista seguraLatim/números Arial, japonês BIZ UDPゴシック (alternativas: 游ゴシック, メイリオ). Defina font: em createDeck. O QA renderiza com uma fonte substituta, então deixe ~10% de folga nas caixas.
Todo slide precisa de um elemento visualUma tabela estruturada, colunas ou processo conta como visual. Evite slides só com bullets; nunca adicione ícones decorativos para satisfazer isso.
Sem linhas de destaque, sem barras coloridasO mesmo aqui, e também sem bordas de cartão ou faixas de cabeçalho de largura total.

Fluxo de Trabalho

  1. História primeiro. Escreva os action titles para cada slide como uma lista e leia-os em ordem. Se os títulos sozinhos não contarem a história, corrija a história antes de qualquer layout (writing-style.md §2).
  2. Escreva o texto por slide aplicando writing-style.md §1–§5: registro elemento por elemento, sem です・ます em títulos ou bullets, números com 基準 (base) e 出所 (fonte).
  3. Escolha um padrão por slide da tabela em layout-and-patterns.md §2. Slides vizinhos não devem usar o mesmo padrão.
  4. Construa com a biblioteca (abaixo). Não coloque manualmente o título, lead, notas ou número da página; os layouts são responsáveis por eles.
  5. Linte: python3 scripts/lint_jp_deck.py deck.pptx. Corrija todo ERROR e leia todo WARN. Reexecute até não restar nenhum ERROR.
  6. Valide e renderize: validate.py, depois converta para imagens e inspecione cada slide (veja beautify.md §4–§5). Olhe os slides com olhos frescos; verifique títulos com linhas órfãs e blocos com gaps menores que 0,3in.
  7. Relate o resumo do lint e qualquer WARN que você manteve propositalmente, com a justificativa.

Se o usuário fornecer slides japoneses existentes para corrigir, execute o linter primeiro para obter uma lista de defeitos, depois edite o texto conforme writing-style.md e mantenha o layout deles, a menos que viole as regras de layout.

Biblioteca

const { createDeck } = require("<skill dir>/scripts/jp_deck_lib.js");
const d = createDeck({ font: "biz-ud", palette: "ink", title: "…", company: "…", footerText: "Confidential" });
const { L } = d;                                  // zonas em polegadas: 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, "示唆の一文");                      // fundo da zona de corpo
d.note(s, ["出所:…", "注:…"]);
await d.finish("out.pptx");                       // escreve, depois executa postprocess_jp.py

scripts/sample_deck.js constrói um deck de referência de 8 slides que usa todos os componentes; leia-o antes de escrever um novo script de construção. Opções de cor para linhas, tabelas e gráficos precisam de hex de d.THEME.colors; texto e preenchimentos aceitam cores do esquema d.C.*. postprocess_jp.py falha alto se uma cor do esquema vazar para uma opção apenas hex.

Não chame pres.addText com um fontFace personalizado; as fontes do tema carregam o par latim/japonês. Uma fonte codificada quebra o mapeamento do Leste Asiático.

Arquivos de Referência

  • references/writing-style.md – registro por elemento, títulos de ação, catálogo de cheiro de IA (NG → OK), notação numérica, regras de bullet, passos de reescrita, lista de verificação pré-voo. Leia antes de escrever qualquer texto de slide.
  • references/layout-and-patterns.md – zonas e grade, tabela conteúdo → padrão, princípios de alinhamento, layouts com aparência de IA a evitar, convenções de gráficos e tabelas.
  • references/beautify.md – sistema de cores, escala tipográfica, regras de formas, verificações de acabamento, observações de renderização.

Linter

scripts/lint_jp_deck.py deck.pptx [--strict] [--json] [--ignore RULE …] lê o .pptx com python-pptx e relata ERROR / WARN / INFO por slide. Código de saída 1 em qualquer ERROR (ou qualquer WARN com --strict). Ele cobre os itens ★ em writing-style.md §3 mais fontes, tags de idioma, estimativas de overflow, sobreposições, gaps apertados, margens, desvio de posição do título, texto do corpo centralizado e repetição de layout. Ele não pode julgar se um título é uma boa afirmação; faça isso lendo os títulos em ordem.

Habilidades Relacionadas