Agent skill

PaperJSX Document Generator

by composio-community in composio-community/awesome-codex-skills

Generates PPTX, DOCX, XLSX and PDF files from a JSON layout spec through PaperJSX's packages, creating new documents rather than editing them.

Apache-2.0Auto-check passedDocuments & Office

Install PaperJSX Document Generator

skills CLI
$ npx skills add composio-community/awesome-codex-skills --skill paperjsx -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install composio-community/awesome-codex-skills paperjsx --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/composio-community/awesome-codex-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/paperjsx .claude/skills/paperjsx && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
paperjsx
GitHub stars
17k
Token cost
~842 tokens
SKILL.md length
191 words
Files
3 (incl. references)
Skills in repo
8
Repo updated
First seen
Licence
Apache-2.0

At a glance

Generates PPTX, DOCX, XLSX and PDF files from a JSON layout spec through PaperJSX's packages, creating new documents rather than editing them.

  • Works in 4 steps: Build a JSON layout spec matching the… → Write a Node.js script that passes the… → Run the script to generate the output file → …
  • Generating a PowerPoint deck from structured content
  • SKILL.md covers Triggers, Install, How it works and Example: PPTX generation, plus 4 more sections
  • Calls npm

What it does

For each target format it installs the matching package, such as one for converting JSON to PPTX, DOCX or XLSX, builds a JSON layout spec against a bundled schema reference, then writes and runs a short Node.js script that passes that JSON into the matching PaperJSX engine. The execution model stays JSON in, document file out, and it avoids writing imperative calls against the PaperJSX API directly.

After generation it always verifies the output file exists and is non-zero bytes with a filesystem check, and surfaces the engine's full error message to the user if generation throws, rather than guessing at the cause.

When your agent uses it

  • Generating a PowerPoint deck from structured content
  • Creating a Word document or Excel spreadsheet from JSON data
  • Producing a PDF invoice or report from a layout spec

Example prompts

  • “Generate a PPTX deck from this JSON outline using PaperJSX.”
  • “Turn this JSON spec into an Excel spreadsheet with charts.”
  • “Create a PDF invoice from this JSON layout and confirm the file was written.”

Requirements

  • Node.js
  • The format-specific PaperJSX package

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Build a JSON layout spec matching the schema in references/json-schema.md
  2. Write a Node.js script that passes the JSON to the PaperJSX engine
  3. Run the script to generate the output file
  4. Validate the output file exists and is non-zero bytes

What it can do on your machine

Read from SKILL.md and the folder at commit 0930e13. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

PaperJSX Document Generator loads about 842 tokens when it runs, and up to ~4.2k if it reads all its reference files. Until then it costs about 33 tokens; SKILL.md has 191 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~33
When it runs · the whole SKILL.md, loaded when a task matches
~842
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from composio-community/awesome-codex-skills at commit 0930e13, republished under its Apache-2.0 licence (© composio-community). 191 words, ~842 tokens.

Download SKILL.mdSave it as .claude/skills/paperjsx/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
paperjsx
description
Generate PPTX presentations, DOCX documents, XLSX spreadsheets, and PDF reports from structured JSON input using PaperJSX.

PaperJSX Document Generation

Generate professional documents from JSON layout specs. PaperJSX is generation-only — it creates new files, it does not edit existing ones.

Triggers

Use this skill when the user asks to:

  • Create a presentation or generate slides
  • Make a PPTX or PowerPoint file
  • Create a Word document or DOCX
  • Generate an Excel spreadsheet with charts
  • Create a JSON to PPTX, JSON to DOCX, or JSON to XLSX file
  • Generate a PDF invoice, report, or chart document

Install

Install the format-appropriate package:

bash
# 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

How it works

  1. Build a JSON layout spec matching the schema in references/json-schema.md
  2. Write a Node.js script that passes the JSON to the PaperJSX engine
  3. Run the script to generate the output file
  4. Validate the output file exists and is non-zero bytes

Do not write imperative PaperJSX API code. The execution model is always: JSON spec in, document file out.

Example: PPTX generation

javascript
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");

Example: DOCX generation

javascript
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");

Example: XLSX generation

javascript
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");

Validation

After generating any file, always verify:

javascript
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`);

If the engine throws an error, surface the full error message to the user.

Schema reference

See references/json-schema.md for the complete JSON layout spec schema for all supported formats.

© composio-community, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in paperjsx of composio-community/awesome-codex-skills.

  • SKILL.md
  • LICENSE.txt
  • references/json-schema.md

Open the folder on GitHubat commit 0930e13

Compare with similar skills

PaperJSX Document Generator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

PaperJSX Document Generator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
PaperJSX Document Generator this skillcomposio-community/awesome-codex-skills17k—~842Automated safety check: PassApache-2.0
MarkitdownImCa0/just-laws78214 repos~3.2kAutomated safety check: NotesMIT
Markitdownjimmc414/Kosmos5952 repos~1.7kAutomated safety check: PassNone
Office DocumentsZS520L/HanakoPro103—~1.6kAutomated safety check: PassApache-2.0
Skill Doc Deliverynyldn/claude-octopus4.2k1 repos~2.4kAutomated safety check: PassMIT
Exam IngestZeKaiNie/universal-examprep-skill303—~5.6kAutomated safety check: PassMIT

Similar skills

  • Markitdown

    ImCa0/just-laws

    Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.

    782 GitHub starsUsed in 14 repos~3.2k tokens
    Documents & OfficeAuto-check: notes
  • Markitdown

    jimmc414/Kosmos

    Convert various file formats (PDF, Office documents, images, audio, web content, structured data) to Markdown optimized for LLM processing.

    595 GitHub starsUsed in 2 repos~1.7k tokens
    Documents & OfficeAuto-check passed
  • Office Documents

    ZS520L/HanakoPro

    A skill your agent uses when the user asks to open, read, inspect, understand, summarize, analyze, extract tables/text from, modify, update, repair, split, merge, rotate, or convert information from…

    103 GitHub stars~1.6k tokensUpdated 4 mo ago
    Documents & OfficeAuto-check passed
  • Skill Doc Delivery

    nyldn/claude-octopus

    Convert markdown to DOCX, PPTX, XLSX, PDF office documents — use when you need exportable deliverables

    4.2k GitHub starsUsed in 1 repo~2.4k tokens
    Documents & OfficeAuto-check passed
  • Exam Ingest

    ZeKaiNie/universal-examprep-skill

    从学生上传的课件/大纲/老师勾的重点/真题,一键初始化并验证备考工作区:解析 PDF、DOCX、PPTX、 XLSX、常见独立图片与 txt/md,建立分章节 LLM Wiki、标准题库、结构化接管队列与进度状态;仅在 Python 确实无法运行时 明确降级为手动写盘。当工作区尚未建立、资料发生变化、或建库 readiness 被阻断时使用。

    303 GitHub stars~5.6k tokensUpdated 11 days ago
    Documents & OfficeAuto-check passed
  • Process, convert, OCR, extract, redact, sign, and fill documents using the Nutrient DWS API.

    276k GitHub starsUsed in 4 repos~1.5k tokens
    Documents & OfficeAuto-check passed

More from composio-community/awesome-codex-skills

All 8 skills in this repo
  • Agent Deep Links

    composio-community/awesome-codex-skills

    Builds and checks clickable deep links that open a thread, file, folder or settings panel in tools like Codex, Cursor and VS Code, usually for sharing in Slack.

    17k GitHub stars~513 tokensUpdated 2 mo ago
    Auto-check passed
  • Brand Guidelines

    composio-community/awesome-codex-skills

    Applies OpenAI's brand colors and typography to any artifact that should match the Codex/OpenAI look-and-feel.

    17k GitHub stars~617 tokensUpdated 2 mo ago
    Auto-check passed
  • Helium MCP

    composio-community/awesome-codex-skills

    Search real-time news with bias scoring, get live stock/ETF/crypto data with AI analysis, ML options pricing, balanced news synthesis, and meme search via the Helium MCP server.

    17k GitHub stars~599 tokensUpdated 2 mo ago
    Auto-check passed
  • Email Draft Polish

    composio-community/awesome-codex-skills

    Draft, rewrite, or condense emails with target tone, length, and audience; use for cold outreach, replies, status updates, or escalations where clarity and brevity matter.

    17k GitHub stars~302 tokensUpdated 2 mo ago
    Auto-check passed
  • Meeting Notes And Actions

    composio-community/awesome-codex-skills

    Turn meeting transcripts or rough notes into crisp summaries with decisions, risks, and owner-tagged action items; use for Zoom/Meet/Teams transcripts, call notes, or long meeting chats to generate…

    17k GitHub stars~357 tokensUpdated 2 mo ago
    Auto-check passed
  • Spreadsheet Formula Helper

    composio-community/awesome-codex-skills

    Write and debug spreadsheet formulas (Excel/Google Sheets), pivot tables, and array formulas; translate between dialects; use when users need working formulas with examples and edge-case checks.

    17k GitHub stars~328 tokensUpdated 2 mo ago
    Auto-check passed

Questions about PaperJSX Document Generator

What does PaperJSX Document Generator do?

Generates PPTX, DOCX, XLSX and PDF files from a JSON layout spec through PaperJSX's packages, creating new documents rather than editing them. js script that passes that JSON into the matching PaperJSX engine. The execution model stays JSON in, document file out, and it avoids writing imperative calls against the PaperJSX API directly.

When should I use PaperJSX Document Generator?

PaperJSX Document Generator fits situations like: generating a PowerPoint deck from structured content; creating a Word document or Excel spreadsheet from JSON data; producing a PDF invoice or report from a layout spec.

How do I install PaperJSX Document Generator in Claude Code?

Run `npx skills add composio-community/awesome-codex-skills --skill paperjsx -a claude-code`. Or copy the skill folder (paperjsx in composio-community/awesome-codex-skills) into .claude/skills/paperjsx in your project. Claude Code loads it when a task matches its description.

How do I install PaperJSX Document Generator in Codex?

Run `npx skills add composio-community/awesome-codex-skills --skill paperjsx -a codex`. Or copy the skill folder (paperjsx in composio-community/awesome-codex-skills) into .agents/skills/paperjsx in your project. Codex loads it when a task matches its description.

Can I use PaperJSX Document Generator in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add composio-community/awesome-codex-skills --skill paperjsx -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/paperjsx, .gemini/skills/paperjsx, .github/skills/paperjsx and .opencode/skills/paperjsx in your project.

What does PaperJSX Document Generator need to run?

Going by SKILL.md and its folder, PaperJSX Document Generator needs the command-line tools its instructions call (npm). Our summary lists: Node.js; The format-specific PaperJSX package.

Does PaperJSX Document Generator access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is PaperJSX Document Generator safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does PaperJSX Document Generator use?

PaperJSX Document Generator is published under the Apache-2.0 licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does PaperJSX Document Generator use?

About 842 tokens (SKILL.md is roughly 3.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.4k tokens, read only when the agent opens those files.

What are the alternatives to PaperJSX Document Generator?

Skills that share tags, products or a category with PaperJSX Document Generator: Markitdown (ImCa0/just-laws, 782 stars), Markitdown (jimmc414/Kosmos, 595 stars), Office Documents (ZS520L/HanakoPro, 103 stars) and Skill Doc Delivery (nyldn/claude-octopus, 4.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains PaperJSX Document Generator?

composio-community (a GitHub organization) maintains it in composio-community/awesome-codex-skills, which has 16,818 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on July 26, 2026.

Source: composio-community/awesome-codex-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.