Communitygithub.com

ComposioHQ/paperjsx

Gere apresentações PPTX, documentos DOCX, planilhas XLSX e relatórios PDF a partir de entrada JSON estruturada usando PaperJSX.

O que é paperjsx?

Esta skill permite que agentes de IA gerem documentos profissionais (PPTX, DOCX, XLSX e PDF) a partir de especificações de layout em JSON. Diferentemente de editores tradicionais, o PaperJSX é focado exclusivamente em criação – ele não modifica arquivos existentes. Suporta os pacotes npm @paperjsx/json-to-pptx, @paperjsx/json-to-docx, @paperjsx/json-to-xlsx e @paperjsx/json-to-pdf, cada um projetado para um formato de documento específico. O fluxo de trabalho é simples: o agente (ou script) constrói um JSON de layout de acordo com o esquema definido, o envia para o motor PaperJSX (como PaperEngine.render ou renderToDocx) e gera o arquivo de saída. Após a geração, é recomendado validar que o arquivo não está vazio. É útil para desenvolvedores que precisam automatizar a criação de relatórios, faturas, apresentações ou planilhas com dados dinâmicos, sem depender de APIs imperativas complexas.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ComposioHQ/awesome-codex-skills/tree/main/paperjsx

Perguntar na sua IA favorita

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

Documentação

Geração de Documentos com PaperJSX

Gere documentos profissionais a partir de especificações de layout em JSON. PaperJSX é apenas para criação — ele cria novos arquivos, não edita os existentes.

Gatilhos

Use esta skill quando o usuário pedir para:

  • Criar uma apresentação ou gerar slides
  • Fazer um arquivo PPTX ou PowerPoint
  • Criar um documento Word ou DOCX
  • Gerar uma planilha Excel com gráficos
  • Criar um arquivo JSON para PPTX, JSON para DOCX ou JSON para XLSX
  • Gerar uma fatura, relatório ou documento com gráficos em PDF

Instalação

Instale o pacote apropriado para o formato:

# Apresentações
npm install @paperjsx/json-to-pptx

# Documentos Word
npm install @paperjsx/json-to-docx

# Planilhas
npm install @paperjsx/json-to-xlsx

# Documentos PDF
npm install @paperjsx/json-to-pdf

Como funciona

  1. Construa uma especificação de layout JSON seguindo o esquema em references/json-schema.md
  2. Escreva um script Node.js que passe o JSON para o motor PaperJSX
  3. Execute o script para gerar o arquivo de saída
  4. Valide se o arquivo de saída existe e não possui zero bytes

Não escreva código imperativo da API PaperJSX. O modelo de execução é sempre: especificação JSON de entrada, arquivo de documento de saída.

Exemplo: Geração de PPTX

import { PaperEngine } from "@paperjsx/json-to-pptx";
import fs from "node:fs";

const spec = {
  type: "Document",
  meta: { title: "Revisão Q4" },
  slides: [
    {
      type: "Slide",
      children: [
        { type: "Text", content: "Revisão de Negócios Q4 2025", style: { fontSize: 36, bold: true } }
      ]
    }
  ]
};

const buffer = await PaperEngine.render(spec);
fs.writeFileSync("apresentacao.pptx", buffer);
console.log("Arquivo apresentacao.pptx gerado");

Exemplo: Geração de DOCX

import { renderToDocx } from "@paperjsx/json-to-docx";
import fs from "node:fs";

const result = await renderToDocx({
  type: "DocxDocument",
  pageSize: "a4",
  orientation: "portrait",
  pages: [
    {
      elements: [
        { type: "heading", level: 1, text: "Relatório Trimestral" },
        { type: "paragraph", text: "Conteúdo da seção aqui." }
      ]
    }
  ]
});

fs.writeFileSync("relatorio.docx", result.buffer);
console.log("Arquivo relatorio.docx gerado");

Exemplo: Geração de XLSX

import { SpreadsheetEngine } from "@paperjsx/json-to-xlsx";
import fs from "node:fs";

const spec = {
  meta: { title: "Dados de Receita", creator: "PaperJSX" },
  sheets: [{
    name: "Receita",
    rows: [
      { cells: [{ value: "Trimestre" }, { value: "Receita" }] },
      { cells: [{ value: "Q1 2026" }, { value: 420000 }] },
      { cells: [{ value: "Q2 2026" }, { value: 510000 }] }
    ]
  }]
};

const buffer = await SpreadsheetEngine.render(spec);
fs.writeFileSync("receita.xlsx", buffer);
console.log("Arquivo receita.xlsx gerado");

Validação

Após gerar qualquer arquivo, sempre verifique:

import fs from "node:fs";

const stats = fs.statSync("saida.pptx");
if (stats.size === 0) {
  throw new Error("O arquivo gerado está vazio");
}
console.log(`Arquivo de saída: ${stats.size} bytes`);

Se o motor lançar um erro, exiba a mensagem de erro completa para o usuário.

Referência do esquema

Consulte references/json-schema.md para o esquema completo de especificação de layout JSON para todos os formatos suportados.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

ComposioHQ/-21risk-automation

Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/-2chat-automation

Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/ably-automation

Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abstract-automation

Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abuselpdb-automation

Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/abyssale-automation

Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/accelo-automation

Automate Accelo tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/accredible-certificates-automation

Automate Accredible Certificates tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/acculynx-automation

Automate Acculynx tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/active-campaign-automation

Automate ActiveCampaign tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/addresszen-automation

Automate Addresszen tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adobe-automation

Automate Adobe tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adrapid-automation

Automate Adrapid tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/adyntel-automation

Automate Adyntel tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/aeroleads-automation

Automate Aeroleads tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/aero-workflow-automation

Automate Aero Workflow tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/affinda-automation

Automate Affinda tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/affinity-automation

Automate Affinity tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/agencyzoom-automation

Automate Agencyzoom tasks via Rube MCP (Composio). Always search tools first for current schemas.

ComposioHQ/agent-deep-links

Build, validate, and troubleshoot deep links for Codex, Cursor, VS Code, Visual Studio, and similar tools. Use when users ask for clickable links (especially in Slack) that open threads, files, folders, or app settings.

Habilidades Relacionadas