Codex · Community skill
Paperjsx
Generate PPTX presentations, DOCX documents, XLSX spreadsheets, and PDF reports from structured JSON input using PaperJSX.
What this skill covers
This page keeps a stable Remote OpenClaw URL for the upstream skillwhile preserving the original source content below. The shell stays consistent, and the body can vary as much as the upstream SKILL.md or README varies.
Source files and registry paths
Source path
paperjsx
Entry file
paperjsx/SKILL.md
Repository
ComposioHQ/awesome-codex-skills
Format
skill-md
Original source content
Raw file# 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.Related Codex skills
awesome-codex-skills
Brand Guidelines
Applies OpenAI's brand colors and typography to any artifact that should match the Codex/OpenAI look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
awesome-codex-skills
Canvas Design
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece.
awesome-codex-skills
Changelog Generator
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
awesome-codex-skills
Codebase Migrate
Run large codebase migrations and multi-file refactors. Uses the Composio CLI to coordinate issue tracking, batched PRs, and CI verification while the agent executes the transforms locally across hundreds of files.
awesome-codex-skills
Competitive Ads Extractor
Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.
awesome-codex-skills
Connect
Connect Codex to any app via the Composio CLI. Send emails, create issues, post messages, update databases - take real actions across Gmail, Slack, GitHub, Notion, and 1000+ services from the terminal.