← 返回 Skills 市场
176
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install corespeed-pptx
功能描述
Generate professional PowerPoint (.pptx) presentations using JSX/TSX with Deno. Supports slides, text, shapes, tables, charts (bar, line, pie, donut), images...
使用说明 (SKILL.md)
Corespeed PPTX — PowerPoint Generation with JSX
Generate professional .pptx files using TypeScript JSX via @pixel/pptx.
Workflow
- Write a
.tsxfile that exports adeckvariable - Run the generator to produce the
.pptx
Usage
deno run --allow-read --allow-write --config {baseDir}/scripts/deno.json {baseDir}/scripts/generate.ts slides.tsx output.pptx [--json]
- First arg: path to your
.tsxslide file (mustexport const deck = ...) - Second arg: output
.pptxfilename --json— structured JSON output for agent consumption
Writing Slides
Create a .tsx file. It must export a deck variable:
/** @jsxImportSource @pixel/pptx */
import { Align, clr, Presentation, Slide, Text, u } from "@pixel/pptx";
export const deck = (
\x3CPresentation title="My Deck">
\x3CSlide background={{ kind: "solid", color: clr.hex("F7F4EE") }}>
\x3CAlign x="center" y="center" w={u.in(8)} h={u.in(1.5)}>
\x3CText.P style={{ fontSize: u.font(32), bold: true }}>
Hello, World!
\x3C/Text.P>
\x3C/Align>
\x3C/Slide>
\x3C/Presentation>
);
Components
Layout
| Component | Purpose |
|---|---|
\x3CPresentation> |
Root container. Props: title, layout |
\x3CSlide> |
Single slide. Props: background, layout |
\x3CRow> |
Horizontal flex layout. Has \x3CRow.Start>, \x3CRow.End> |
\x3CColumn> |
Vertical flex layout. Has \x3CColumn.Start>, \x3CColumn.End> |
\x3CStack> |
Overlapping layers |
\x3CAlign x y w h> |
Center/align a single child |
\x3CPositioned x y w h> |
Absolute positioning |
Content
| Component | Purpose |
|---|---|
\x3CText> |
Multi-paragraph text body. Props: gap, style |
\x3CText.P> |
Single paragraph |
\x3CText.Span> |
Inline text run |
\x3CText.Bold>, \x3CText.Italic>, \x3CText.Underline> |
Inline formatting |
\x3CText.Link href="..."> |
Hyperlink |
\x3CShape preset="..."> |
Shape: rect, roundRect, ellipse, etc. |
\x3CImage src={bytes} w={...} h={...} /> |
Embed image (Uint8Array) |
\x3CTable cols=[...]> |
Table with \x3CTable.Row> and \x3CTable.Cell> |
Charts
| Component | Purpose |
|---|---|
\x3CChart.Bar data={[...]} category="key" series={[...]} /> |
Bar chart |
\x3CChart.Line data={[...]} category="key" series={[...]} /> |
Line chart |
\x3CChart.Pie data={[...]} category="key" series={[...]} /> |
Pie chart |
\x3CChart.Donut data={[...]} category="key" series={[...]} /> |
Donut chart |
Units & Colors
import { u, clr } from "@pixel/pptx";
u.in(1) // inches
u.cm(2.5) // centimeters
u.pt(12) // points
u.pct(50) // percentage
u.font(24) // font size (hundredths of a point)
clr.hex("1F4E79") // hex color (no #)
Styling
Style props are plain objects. Use style on any component:
const style = {
fill: { kind: "solid", color: clr.hex("1F4E79") },
fontSize: u.font(24),
fontColor: clr.hex("FFFFFF"),
bold: true,
italic: false,
align: "center",
verticalAlign: "middle",
padding: u.in(0.2),
shadow: {
color: clr.hex("000000"),
blur: u.emu(12000),
distance: u.emu(4000),
angle: 50,
alpha: u.pct(18),
},
bullet: { kind: "char", char: "•" },
};
Backgrounds support solid, linear-gradient, and image.
Example: Multi-Slide Deck
/** @jsxImportSource @pixel/pptx */
import {
Align, Chart, clr, Column, Presentation, Row, Shape, Slide,
Stack, Table, Text, u, type Style,
} from "@pixel/pptx";
const title: Style = {
fill: { kind: "solid", color: clr.hex("1F4E79") },
fontSize: u.font(28), fontColor: clr.hex("FFFFFF"), bold: true,
verticalAlign: "middle", padding: u.in(0.2),
};
export const deck = (
\x3CPresentation title="Q2 Report" layout={{ rowGap: u.in(0.3), columnGap: u.in(0.3) }}>
\x3CSlide background={{ kind: "solid", color: clr.hex("F7F4EE") }}>
\x3CColumn>
\x3CShape preset="roundRect" h={u.in(1.2)} style={title}>
\x3CText.P>Q2 Report\x3C/Text.P>
\x3C/Shape>
\x3CRow>
\x3CStack grow={1}>
\x3CShape preset="roundRect" style={{ fill: { kind: "solid", color: clr.hex("FFFFFF") } }} />
\x3CAlign x="center" y="center" w={u.in(4)} h={u.in(3)}>
\x3CChart.Bar
data={[
{ q: "Q1", rev: 8 }, { q: "Q2", rev: 12 },
{ q: "Q3", rev: 10 }, { q: "Q4", rev: 15 },
]}
category="q"
series={[{ name: "Revenue", value: "rev", color: clr.hex("2678B4") }]}
labels
/>
\x3C/Align>
\x3C/Stack>
\x3CTable cols={[u.in(1.5), u.in(1)]} grow={1}>
\x3CTable.Row height={u.in(0.4)}>
\x3CTable.Cell style={{ bold: true }}>Metric\x3C/Table.Cell>
\x3CTable.Cell style={{ bold: true }}>Value\x3C/Table.Cell>
\x3C/Table.Row>
\x3CTable.Row height={u.in(0.4)}>
\x3CTable.Cell>Revenue\x3C/Table.Cell>
\x3CTable.Cell>$1.2M\x3C/Table.Cell>
\x3C/Table.Row>
\x3C/Table>
\x3C/Row>
\x3C/Column>
\x3C/Slide>
\x3C/Presentation>
);
Notes
- No manual setup required. Deno auto-downloads
@pixel/pptxfrom JSR on first run. - The
.tsxfile mustexport const deck = ...(the JSX Presentation element). - Use
--jsonfor structured output:{"ok": true, "file": "...", "size": 1234} - Output opens in PowerPoint, Google Slides, LibreOffice Impress, and Keynote.
- Use timestamps in filenames:
yyyy-mm-dd-hh-mm-ss-name.pptx.
Support
Built by Corespeed. If you need help or run into issues:
- 💬 Discord: discord.gg/mAfhakVRnJ
- 🐦 X/Twitter: @CoreSpeed_io
- 🐙 GitHub: github.com/corespeed-io/skills
安全使用建议
This skill appears to do what it says, but it runs user-supplied .tsx code under Deno with filesystem permissions and may fetch remote dependencies. Before installing/use: (1) Do not run untrusted .tsx files — inspect slide files for unexpected code. (2) Prefer installing Deno manually from https://deno.land rather than piping remote scripts, or at least review the install script. (3) Run the generator with least-privilege flags (e.g., --allow-read=/path/to/slides --allow-write=/path/to/output.pptx) rather than broad --allow-read/--allow-write, and avoid enabling network unless necessary or run in an isolated environment. (4) If you will allow autonomous agent invocation, be aware the agent could invoke the skill and thereby execute code that reads files — restrict agent scope or require user confirmation when running this skill if that is a concern.
功能分析
Type: OpenClaw Skill
Name: corespeed-pptx
Version: 0.0.1
The bundle provides a legitimate utility for generating PowerPoint presentations from JSX/TSX templates using Deno and the @pixel/pptx library. It includes a standard Deno installation command (curl|sh) and a generation script (scripts/generate.ts) that requires file system access to read slide definitions and write the output. No evidence of malicious intent, data exfiltration, or harmful prompt injection was found; the requested permissions and execution patterns are consistent with the tool's stated purpose.
能力评估
Purpose & Capability
The name/description (Generate .pptx from JSX/TSX using Deno) matches the actual artifacts: a Deno wrapper (scripts/generate.ts), a deno.json mapping @pixel/pptx, and SKILL.md usage. Requiring the deno binary is appropriate.
Instruction Scope
The runtime instructions and generate.ts dynamically import a user-provided file via file:// and run it under Deno with --allow-read and --allow-write. That is necessary to evaluate JSX/TSX slides, but it means arbitrary code in the slide file will execute with filesystem permissions (can read/write local files). Also Deno will auto-download remote deps (jsr:@pixel/pptx), so remote packages can be fetched and executed.
Install Mechanism
There is no separate install manifest, but SKILL.md includes an install step that pipes https://deno.land/install.sh to sh. The URL is the official Deno domain (well-known), but curl | sh is higher-risk than a manual install — it downloads and executes remote shell script. Deno itself may fetch @pixel/pptx from the JSR registry at runtime.
Credentials
The skill only requires the deno binary and requests no credentials, config paths, or secrets. This is proportional to its stated purpose.
Persistence & Privilege
always is false (no forced persistence). The default autonomous invocation is allowed; combined with the fact the skill runs Deno to execute arbitrary local modules with read/write, an agent invoking it could run code that reads local files. Autonomous invocation alone is normal, but be aware of the increased blast radius because of the execute-read/write behavior.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install corespeed-pptx - 安装完成后,直接呼叫该 Skill 的名称或使用
/corespeed-pptx触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.0.1
Initial release: PowerPoint generation with JSX/TSX via Deno + @pixel/pptx
元数据
常见问题
Corespeed Pptx 是什么?
Generate professional PowerPoint (.pptx) presentations using JSX/TSX with Deno. Supports slides, text, shapes, tables, charts (bar, line, pie, donut), images... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 176 次。
如何安装 Corespeed Pptx?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install corespeed-pptx」即可一键安装,无需额外配置。
Corespeed Pptx 是免费的吗?
是的,Corespeed Pptx 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Corespeed Pptx 支持哪些平台?
Corespeed Pptx 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Corespeed Pptx?
由 claw-bot(@claw-bot)开发并维护,当前版本 v0.0.1。
推荐 Skills