Skip to content
Automation
Skill

/pptx-editorial

A native .pptx deck with magazine-grade editorial styling: "pitch deck", "投资人路演 PPT", "美观 PPT", board review, product launch. Named palettes, fixed typography, 10 numbered layouts.

From plugin
xagent
2969 skills
Install
$ npx -y skills add xorbitsai/xagent --skill pptx-editorial --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/pptx-editorial

Context preview

The summary Claude sees to decide when to auto-load this skill.

A native .pptx deck with magazine-grade editorial styling: "pitch deck", "投资人路演 PPT", "美观 PPT", board review, product launch. Named palettes, fixed typography, 10 numbered layouts.

SKILL.md

pptx-editorial.SKILL.md
name: pptx-editorial
description: |
  A native .pptx deck with magazine-grade editorial styling: "pitch deck",
  "投资人路演 PPT", "美观 PPT", board review, product launch. Named palettes,
  fixed typography, 10 numbered layouts.
when_to_use: |
  A polished .pptx that must open in PowerPoint / Keynote / Google Slides.
  Prefer over presentation-generator when visual quality matters; use
  html-deck-editorial when the user wants HTML output.
tags:
  - presentation
  - pptx
  - powerpoint
  - deck
  - editorial

Editorial PPTX Deck

You will generate one `.pptx` file by writing a JavaScript program that uses **pptxgenjs** and runs it via the `execute_javascript_code` tool. Save the file to the workspace (use the output dir the tool returns), then report the path and a 1-line layout summary.

⚠️ Hard rules — NO exceptions

0. **MATCH THE USER'S LANGUAGE.** This is rule zero, the most violated rule. If the user prompt is in Chinese (中文), EVERY string in the deck — kickers, slide titles, body text, captions, kicker labels, folio prefixes, sample names, captions — must be in Chinese. **NEVER** copy English template phrases like `THE PROBLEM`, `FEATURE STORY`, `RESEARCH BRIEF`, `THE BOTTOM LINE`, `BUILT BY BUILDERS` into a Chinese deck. Translate them: e.g. `THE PROBLEM` → `问题所在`, `THE SOLUTION` → `解决方案`, `MARKET OPPORTUNITY` → `市场机会`, `THE TEAM` → `团队`, `USE OF FUNDS` → `资金用途`, `THE BOTTOM LINE` → `一句话总结`, `RESEARCH BRIEF` → `研究简报`, `CASE STUDY` → `案例研究`. Person names in a Chinese deck should be Chinese names (e.g. 张伟 · 陈琳), not transliterated English names. Folio reads `01 / 12` in either language (digits are universal). Same applies to other languages: match the prompt. 1. **One palette only.** Pick one of the 5 palettes below, use only its 4 hex values. Never invent new hex. 2. **Two fonts only.** Display = `Georgia` (serif, present on all OSes). Body = `Calibri` (sans, Office default). No custom fonts — `.pptx` recipients won't have them and the deck will fall back to Times. **For Chinese decks**: Georgia + Calibri both render Chinese via system fallback fonts (PingFang on macOS, Microsoft YaHei on Windows) — that's fine, do not switch to custom Chinese fonts. 2a. **🚫 NEVER apply `charSpacing` to CJK / non-Latin text.** The trick of "tracked-out caps" only works for Latin letters (`A B C D`). On Chinese, Japanese, Korean characters — which are already full-square glyphs — `charSpacing: 10` (0.10em) renders as `部 署 周 期` with huge gaps between every character. This looks broken on EVERY rendering platform. Rule: if the text contains ANY CJK character, set `charSpacing: 0` (or omit the property entirely). Only apply `charSpacing: 8-15` when the entire string is uppercase Latin (e.g. `RESEARCH BRIEF`, `PART 02`). For Chinese kickers, just use bold + small caps look via 11pt bold ink-tint text WITHOUT any character spacing. 3. **Forbidden visual elements** (PowerPoint defaults to these — you must actively avoid):

  • drop shadow / glow / reflection / soft edge / bevel / 3-D rotation
  • gradient backgrounds
  • rounded rectangles (use `rectRadius: 0`)
  • clipart, emoji as decoration, stock-photo placeholders
  • Comic Sans, Times New Roman default, Arial Black
  • smart-art with default styling
  • rainbow chart palettes (chart uses ink + paper-tint only)

4. **Real content only.** No lorem ipsum, no `[Title here]` placeholders, no fabricated statistics. If a slot has no user data, drop the slot.

  • **Team slides especially**: if the user did not provide team names,

titles, or bios, DO NOT invent them. Don't make up `陈明远 · 前阿里 云智能平台总监 · 清华大学计算机硕士` — that's fabrication and looks fake to anyone in the industry. Either ask the user for team info OR drop the team slide entirely and note "团队信息待补充".

  • Same for fake financial metrics (MRR / ARR / growth rate), fake

customer names, fake competitive comparisons. If you don't have it, don't ship it. 5. **Slide count is driven by content.** 6–12 short, 15–25 long. No padding. 6. **Fill the slide.** The 13.33 × 7.5 inch canvas is large. Do NOT cram everything into the left third. Use `align: 'center'` on hero text, place the body block across columns 1–11 (x: 0.7 to 12.6), use the full vertical range top-to-bottom. A slide that looks 60%+ empty is broken. 7. **Sizing for Chinese text**: Chinese characters take MORE horizontal space per char than Latin. Rules of thumb:

  • Hero title at fontSize 40-48: give the textbox at least `w: 12` inches

(the full content width). Title at `w: 6` will overflow / wrap badly.

  • 1 Chinese character at 40pt ≈ 0.55 inch wide. Plan accordingly.
  • For section titles (24-28pt) keep `w` ≥ 8 inches.
  • For body text (14-16pt) `w: 11+` is safe for full sentences.

8. **No overlapping shapes.** When you place a dark section header / banner on a slide, leave at least 0.3 inch of vertical clearance before any text shape. Banners at `y: 1.2, h: 0.8` should not have a title block starting at `y: 1.5` — that overlaps and clips text.

🎨 Palettes — pick ONE

Each: `ink` (text + dark surfaces), `paper` (slide background), `paper-tint` (card background / chart fill), `ink-tint` (kicker + dividers).

  • **Monocle** (default / business / tech)

ink `0A0A0B` · paper `F1EFEA` · paper-tint `E8E5DE` · ink-tint `18181A`

  • **Indigo Porcelain** (data / research)

ink `0A1F3D` · paper `F1F3F5` · paper-tint `E4E8EC` · ink-tint `152A4A`

  • **Forest Ink** (sustainability / culture)

ink `1A2E1F` · paper `F5F1E8` · paper-tint `ECE7DA` · ink-tint `253D2C`

  • **Kraft Paper** (humanities / literature)

ink `2A1E13` · paper `EEDFC7` · paper-tint `E0D0B6` · ink-tint `3A2A1D`

  • **Dune** (art / design / fashion)

ink `1F1A14` · paper `F0E6D2` · paper-tint `E3D7BF` · ink-tint `2D2620`

(pptxgenjs takes hex without the `#` prefix.)

✒️ Typography rules (use exactly these sizes)

Read more
Ships withxagent

Start with a personal agent. Scale into an AI workforce. Xagent helps individuals complete real tasks, teams publish reusable agents, and enterprises run agent systems with their own tools, models, knowledge, and infrastructure — without brittle workflows.

Get the whole plugin

Other skills on xagent.