Token导航 LogoToken导航TokenDH.com
研究检索只读clawhub未标认证来源可访问clear审计通过

pptclawpptclaw 演示文稿

Agent Skill

pptclaw 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

4,480

周安装

183

GitHub Stars

公开资料未说明

下载量

1,435
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:pptclaw(pptclaw 演示文稿)
来源仓库:https://github.com/pptclaw/pptclaw
安装命令:
openclaw skills install pptclaw
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install pptclaw

简介

通过 JSON 文件直接创建和编辑演示文稿。

  • 适用于轻量级幻灯片构建需求。
  • 支持灵活的内容结构设计。pptclaw 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 需确认 JSON 格式符合规范。
  • 建议参考示例文件学习语法。适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。

SKILL.md

name
pptclaw
description
>

PPTClaw Skill Reference

PPTClaw is a local-first presentation editor. Decks are JSON files on disk — you create and edit them directly, and the editor syncs changes live via WebSocket.

Setup

If pptclaw is not installed, install it globally:

pnpm add -g pptclaw    # or: npm install -g pptclaw

Deck Format

A deck is a folder with this structure:

my-deck/
├── manifest.json           # Title, theme, viewport, slide order
├── slides/
│   ├── 001-abc123.json     # Slide files: <NNN>-<id>.json
│   ├── 002-def456.json
│   └── ...
└── assets/                 # Images and other media
    ├── hero.jpg
    └── ...

manifest.json

{
  "title": "My Presentation",
  "format": "1",
  "viewport": { "width": 1920, "ratio": 0.5625 },
  "theme": {
    "primary": "#2563eb",
    "secondary": "#7c3aed",
    "tx1": "#1e293b",
    "accents": ["#2563eb", "#7c3aed", "#5b9bd5", "#ff6b6b", "#4ecdc4", "#95e1d3"],
    "fontHeading": "YouSheBiaoTiHei",
    "fontBody": "Microsoft YaHei"
  }
}
  • viewport.ratio is height/width (0.5625 = 16:9, giving 1920x1080)
  • theme.accents is an array of 6 colors used sequentially for chart series, infographic items, etc.

Slide JSON

Each slide file contains one slide object:

{
  "id": "abc123",
  "elements": [ /* PPTElement objects */ ],
  "background": { "type": "solid", "color": "#ffffff" },
  "remark": "Speaker notes text",
  "type": "content"
}
  • type: "cover", "contents", "transition", "content", "end"
  • elements: array of typed element objects (see below)
  • background: optional, defaults to white
  • remark: optional speaker notes (plain text)

Canvas

  • Size: 1920 x 1080 pixels
  • Origin: top-left corner (0, 0)
  • All position/size values are in pixels

Base Element Fields

Every element shares these fields:

id: string        // Unique element ID
left: number      // X position (px from left edge)
top: number       // Y position (px from top edge)
width: number     // Element width (px)
height: number    // Element height (px)
rotate: number    // Rotation in degrees, default 0
lock?: boolean    // Lock element from editing
groupId?: string  // Elements with same groupId form a group
name?: string     // Display name
link?: { type: 'web' | 'slide', target: string }

Exception: line elements omit height and rotate — they use start/end points instead.

Theme Colors

Use CSS variable references instead of hardcoded hex values to stay consistent with the deck's theme:

VariablePurpose
var(--primary)Primary brand color
var(--secondary)Secondary/accent color
var(--tx1)Text color
var(--accent1) to var(--accent6)Chart/emphasis colors

Brightness variants — append a suffix to any theme variable:

  • var(--primary-plus-50) — lighter (+50 brightness)
  • var(--primary-minus-25) — darker (-25 brightness)
  • Works for all theme colors: secondary, tx1, accent1-6

Theme fonts:

  • var(--font-heading) — for titles, subtitles, headers
  • var(--font-body) — for body text, content, items

Common Style Types

Outline (border)

{ style?: 'solid' | 'dashed' | 'dotted', width?: number, color?: string }

Shadow

{ offset: number, angle: number, blur: number, color: string, alpha: number }
// offset: 0-100, angle: 0-359, blur: 0-100 (pt), alpha: 0-100 (0=transparent)

Gradient

{
  type: 'linear' | 'radial',
  colors: [{ pos: number, color: string, alpha?: number }],  // pos: 0-100%
  rotate?: number,
  radialStart?: 'center' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'
}

Text Element (Inline Reference)

Text is the most common element type, so its full schema is included here. For other element types, run pptclaw element-docs <type>.

interface PPTTextElement extends PPTBaseElement {
  type: 'text'
  content: string           // ProseMirror HTML
  defaultColor: string      // Fallback color (overridden by inline HTML styles)
  fill?: string             // Background fill color
  lineHeight?: number       // Line height multiplier, default 1.5
  wordSpace?: number        // Letter spacing, default 0
  paragraphSpace?: number   // Paragraph spacing (px), default 5
  opacity?: number          // 0-1, default 1
  vertical?: boolean        // Vertical text mode
  outline?: Outline
  shadow?: Shadow
  textType?: 'title' | 'subtitle' | 'content' | 'item' | 'itemTitle' | 'notes' | 'header' | 'footer'
}

HTML Content Format

The content field uses ProseMirror HTML with inline styles:

<p style="font-size: 72px; font-family: var(--font-heading); font-weight: bold;">Title Text</p>
<p style="font-size: 36px; font-family: var(--font-body);">Body paragraph</p>

Supported inline styles: font-size (px), color, font-weight, font-style, text-decoration, text-align, font-family.

Font Size Rules

Font sizes in HTML are in px, which equals 2x the PowerPoint pt value. This matters because presentations are viewed on large screens — small text becomes unreadable.

RolePtPxNotes
Title36pt72pxMinimum for slide titles
Subtitle24pt48px
Body18pt36pxRecommended 36-40px
Minimum16pt32pxNothing smaller than this

Common mistake: using web-scale sizes like 14px, 16px, 18px — these are too small for presentations.

Slide Background

{
  "background": {
    "type": "solid",
    "color": "var(--primary-plus-80)"
  }
}

Types: "solid" (with color) or "gradient" (with gradient object). Set backgrounds on the slide object, not by creating a full-canvas shape.

Layout Conventions

Standard Content Page

  • Title: left: 80, top: 80, font-size: 72px, bold
  • Content area: left: 80, top: 200, width: 1760, height: 800
  • Large elements (charts, infographics, tables) should fill the content area when shown alone

Centering

To horizontally center an element: left = (1920 - width) / 2

Note: left: 960 does NOT center — it places the element's left edge at the midpoint, pushing it right.

Layout Self-Check

Before finalizing element positions, verify:

  1. No overlap — element rectangles don't unintentionally intersect
  2. Readable text — all font sizes >= 32px, content fits within element bounds
  3. Edge margins — elements stay >= 60px from canvas edges
  4. Element spacing — >= 20px gap between elements
  5. Consistency — use 20px card gap and 10px border-radius across all slides

Element Types

Beyond the text element documented above, PPTClaw supports these element types:

TypeDescriptionKey Fields
imageImage with cover/fill, clipping, maskingimageSource, fit, clipShape, mask
shapeVector shape with optional inner textshapeId, fill, gradient, text
lineLine/arrow/connector (no height/rotate)start, end, points, width (stroke)
chartData visualization (8 chart types)chartType, data, color
tableGrid table with styled cellsdata (2D TableCell), colWidths, theme
iconSVG icon by keyword searchkeyword, color
artTextDecorative wave text (cover pages only)content, style, defaultColor
infographicTemplate-based infographic/diagramtemplate, data, color

Get the full schema for any type:

pptclaw element-docs <type>           # e.g., pptclaw element-docs image
pptclaw element-docs chart table      # multiple types at once
pptclaw element-docs                  # list all types

CLI Reference

All commands support -p, --port <port> (default: 3059).

pptclaw serve [deck]

Start the editor server as a background daemon. Optionally open a deck immediately.

pptclaw serve                    # start server
pptclaw serve ./my-deck          # start and open deck
pptclaw serve --port 4000        # custom port

Exit code: 0 on success, 1 if server fails to start.

pptclaw open \<path\>

Open a deck folder in the running editor.

pptclaw open ./my-deck
pptclaw open ./my-deck --session custom-id

Output: session ID, path, slide count.

pptclaw validate \<path\>

Validate a deck folder structure and content. Returns JSON with valid, errors, warnings.

pptclaw validate ./my-deck

Exit code: 0 if valid, 1 if errors found. Requires running server.

pptclaw list-decks

List active sessions (open decks) with slide counts.

pptclaw list-decks

pptclaw status

Show server status, auth state, and active sessions as JSON.

pptclaw init

Copy the PPTClaw skill file to .claude/skills/pptclaw/SKILL.md in the current directory.

pptclaw element-docs [type...]

Print element type documentation.

pptclaw element-docs              # list available types
pptclaw element-docs image        # print image element docs
pptclaw element-docs chart table  # print multiple

pptclaw search-images \<query\>

Search Unsplash images. Returns JSON array of results with id, description, dimensions.

pptclaw download-image \<url\> --deck \<path\>

Download an image to a deck's assets folder.

Workflows

Create a New Deck

  1. Create the folder structure:
   mkdir -p my-deck/slides my-deck/assets
  1. Write manifest.json with title, theme, and viewport
  1. Create slide files in slides/ (numbered: 001-<id>.json, 002-<id>.json, ...)
  1. Validate:
   pptclaw validate ./my-deck
  1. Open in editor:
   pptclaw serve ./my-deck

Edit an Existing Slide

  1. Read the slide JSON file
  2. Modify the elements array — add, update, or remove elements
  3. Write the file back — the editor picks up changes automatically via file watcher
  4. Validate if needed: pptclaw validate ./my-deck

Add Images

  1. Search for images:
   pptclaw search-images "mountain landscape"
  1. Download to deck assets:
   pptclaw download-image <url> --deck ./my-deck
  1. Reference in slide JSON via imageSource field on an image element

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

91.96%
按下载量换算1,320

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills