بنقرة واحدة
paperjsx
使用 PaperJSX 从结构化 JSON 输入生成 PPTX 演示文稿、DOCX 文档、XLSX 表格和 PDF 报告。Keywords: PaperJSX, PPTX, DOCX, XLSX, PDF.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
使用 PaperJSX 从结构化 JSON 输入生成 PPTX 演示文稿、DOCX 文档、XLSX 表格和 PDF 报告。Keywords: PaperJSX, PPTX, DOCX, XLSX, PDF.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
构建、验证和排查 Codex、Cursor、VS Code、Visual Studio 等工具的 deep links。适用于用户需要可点击链接,尤其是在 Slack 中打开线程、文件、文件夹或应用设置时。Keywords: deep links, clickable links, Slack links.
将 OpenAI/Codex 品牌色、字体和视觉规范应用到文档、幻灯片、网页或其他 artifact。适用于需要品牌色、样式指南、视觉格式或公司设计标准的任务。Keywords: OpenAI brand, Codex style, visual formatting.
基于设计原则创建 .png 或 .pdf 静态视觉作品。适用于海报、艺术图、设计稿或其他静态设计产物;必须原创,避免复制现有艺术家作品以降低版权风险。Keywords: poster, visual art, static design.
根据 git commits 自动生成面向用户的 changelog/release notes。会分析提交历史、分类变更,并把技术提交改写成清晰、客户友好的发布说明。Keywords: changelog, release notes, commit history.
执行大型代码库迁移和多文件重构。通过 Composio CLI 协调 issue 跟踪、分批 PR 和 CI 验证,同时由 agent 在本地跨数百个文件执行变换。Keywords: migration, refactor, batched PRs.
从广告库中提取并分析竞品广告,例如 Facebook、LinkedIn 等,用于理解有效的信息表达、问题定位和创意方式,辅助优化自己的广告活动。Keywords: competitor ads, ad library, marketing analysis.
| name | paperjsx |
| description | 使用 PaperJSX 从结构化 JSON 输入生成 PPTX 演示文稿、DOCX 文档、XLSX 表格和 PDF 报告。Keywords: PaperJSX, PPTX, DOCX, XLSX, PDF. |
Generate professional documents from JSON layout specs. PaperJSX is generation-only — it creates new files, it does not edit existing ones.
Use this skill when the user asks to:
Install the format-appropriate package:
# 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
references/json-schema.mdDo not write imperative PaperJSX API code. The execution model is always: JSON spec in, document file out.
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");
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");
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");
After generating any file, always verify:
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.
See references/json-schema.md for the complete JSON layout spec schema for all supported formats.