mcpField
P
paperjsx

paperjsx

github.com/composio-communityドキュメント17.1k522 回インストール13 週間前に更新
リポジトリ

paperjsx について

paperjsxは、JSONのレイアウト仕様からプレゼンテーション、文書、スプレッドシート、PDFを生成するスキルです。PaperJSXで新規ファイルを作成する用途向けで、既存ファイルの編集には対応しません。

主な機能

  1. 01JSONレイアウト仕様からファイルを生成
  2. 02PPTXプレゼンテーションの作成
  3. 03DOCX文書の作成
  4. 04XLSXスプレッドシートの作成
  5. 05生成ファイルの検証

活用シーン

  1. 01プレゼンテーションスライドの生成
  2. 02Wordのレポートや文書の作成
  3. 03グラフ付きスプレッドシートの作成
  4. 04PDFの請求書やレポートの作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/composio-community/awesome-codex-skills --skill paperjsx

インストール後、Claude Code で/paperjsxを入力して読み込まれたか確認します。

同梱ファイルLICENSE.txtreferences/json-schema.md

詳細

PaperJSX ドキュメント生成

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

トリガー

ユーザーから次の依頼があった場合に、このスキルを使用します。

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

インストール

形式に適したパッケージをインストールします。

# Presentations
npm install @paperjsx/json-to-pptx

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

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

# PDF documents
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 Review" },
  slides: [
    {
      type: "Slide",
      children: [
        { type: "Text", content: "Q4 2025 Business Review", style: { fontSize: 36, bold: true } }
      ]
    }
  ]
};

const buffer = await PaperEngine.render(spec);
fs.writeFileSync("presentation.pptx", buffer);
console.log("Generated 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: "Quarterly Report" },
        { type: "paragraph", text: "Section content here." }
      ]
    }
  ]
});

fs.writeFileSync("report.docx", result.buffer);
console.log("Generated report.docx");

例:XLSX の生成

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

const spec = {
  meta: { title: "Revenue Data", creator: "PaperJSX" },
  sheets: [{
    name: "Revenue",
    rows: [
      { cells: [{ value: "Quarter" }, { value: "Revenue" }] },
      { cells: [{ value: "Q1 2026" }, { value: 420000 }] },
      { cells: [{ value: "Q2 2026" }, { value: 510000 }] }
    ]
  }]
};

const buffer = await SpreadsheetEngine.render(spec);
fs.writeFileSync("revenue.xlsx", buffer);
console.log("Generated revenue.xlsx");

検証

ファイルを生成した後は、必ず次を確認してください。

import fs from "node:fs";

const stats = fs.statSync("output.pptx");
if (stats.size === 0) {
  throw new Error("Generated file is empty");
}
console.log(`Output file: ${stats.size} bytes`);

エンジンがエラーをスローした場合は、エラーメッセージ全体をユーザーに提示してください。

スキーマのリファレンス

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

コメント