Communitygithub.com

ComposioHQ/paperjsx

構造化された JSON 入力から PPTX プレゼンテーション、DOCX 文書、XLSX スプレッドシート、PDF レポートを生成します。

paperjsx とは?

PaperJSX は、JSON レイアウト仕様からプロフェッショナルなドキュメントを生成するためのスキルです。このスキルは生成のみを目的としており、既存のファイルを編集することはできません。ユーザーがプレゼンテーションの作成、スライド生成、Word 文書の作成、Excel スプレッドシートの生成、PDF レポートの生成を依頼した場合に自動的にトリガーされます。各形式に対応した専用パッケージ(`@paperjsx/json-to-pptx`、`@paperjsx/json-to-docx`、`@paperjsx/json-to-xlsx`、`@paperjsx/json-to-pdf`)を使用し、JSON 仕様を PaperJSX エンジンに渡す Node.js スクリプトを作成して実行することで、目的のファイルを生成します。生成後は必ずファイルの存在とサイズ検証を行います。PaperJSX は主に Claude Code、Cursor、Codex などの AI エージェントプラットフォームでの利用を想定しており、開発者は手続き型 API コードを書く代わりに、JSON 仕様を定義するだけでドキュメントが生成されます。

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

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

PaperJSX ドキュメント生成

JSON レイアウト仕様からプロフェッショナルなドキュメントを生成します。PaperJSX は生成専用です — 新しいファイルを作成し、既存のファイルは編集しません。

トリガー

以下のようなリクエストがあった場合にこのスキルを使用します:

  • プレゼンテーションの作成、またはスライドの生成
  • PPTX ファイルまたは PowerPoint ファイルの作成
  • Word 文書または DOCX の作成
  • グラフを含む Excel スプレッドシートの生成
  • JSON から PPTX、JSON から DOCX、または JSON から XLSX ファイルの作成
  • PDF 請求書、レポート、またはグラフ文書の生成

インストール

該当する形式のパッケージをインストールします:

# プレゼンテーション
npm install @paperjsx/json-to-pptx

# Word 文書
npm install @paperjsx/json-to-docx

# スプレッドシート
npm install @paperjsx/json-to-xlsx

# PDF 文書
npm install @paperjsx/json-to-pdf

仕組み

  1. references/json-schema.md のスキーマに従って JSON レイアウト仕様を作成します
  2. JSON を PaperJSX エンジンに渡す Node.js スクリプトを作成します
  3. スクリプトを実行して出力ファイルを生成します
  4. 出力ファイルが存在し、サイズが 0 バイトでないことを確認します

PaperJSX の手続き型 API コードを記述しないでください。実行モデルは常に「JSON 仕様を入力 → ドキュメントファイルを出力」です。

例: PPTX 生成

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

const spec = {
  type: "Document",
  meta: { title: "Q4 レビュー" },
  slides: [
    {
      type: "Slide",
      children: [
        { type: "Text", content: "Q4 2025 事業レビュー", style: { fontSize: 36, bold: true } }
      ]
    }
  ]
};

const buffer = await PaperEngine.render(spec);
fs.writeFileSync("presentation.pptx", buffer);
console.log("presentation.pptx を生成しました");

例: 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: "四半期レポート" },
        { type: "paragraph", text: "セクションの内容はこちらです。" }
      ]
    }
  ]
});

fs.writeFileSync("report.docx", result.buffer);
console.log("report.docx を生成しました");

例: XLSX 生成

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

const spec = {
  meta: { title: "売上データ", creator: "PaperJSX" },
  sheets: [{
    name: "売上",
    rows: [
      { cells: [{ value: "四半期" }, { value: "売上" }] },
      { cells: [{ value: "2026年Q1" }, { value: 420000 }] },
      { cells: [{ value: "2026年Q2" }, { value: 510000 }] }
    ]
  }]
};

const buffer = await SpreadsheetEngine.render(spec);
fs.writeFileSync("revenue.xlsx", buffer);
console.log("revenue.xlsx を生成しました");

検証

ファイル生成後は、必ず以下のように検証します:

import fs from "node:fs";

const stats = fs.statSync("output.pptx");
if (stats.size === 0) {
  throw new Error("生成されたファイルが空です");
}
console.log(`出力ファイル: ${stats.size} バイト`);

エンジンがエラーをスローした場合は、完全なエラーメッセージをユーザーに表示します。

スキーマリファレンス

全対応形式の完全な JSON レイアウト仕様スキーマについては、references/json-schema.md を参照してください。

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.

関連スキル