JavaScript is disabled. Some features may not work.
officecli-pptx — ★ 7.9K GitHub Stars — Install Guide | SkillsNav
🇺🇸 English🇨🇳 中文
SkillsNav
Home

officecli-pptx

★ 7.9K repouiN/AIntermediateClaude
🤖 AI Summary

This skill enables programmatic creation and manipulation of PowerPoint files via the `officecli` command-line tool, with a strong emphasis on consulting built-in help for slide element schemas (shapes, charts, animations, etc.) before guessing parameters.

How to Install

Claude Code:
git clone --depth 1 https://github.com/iOfficeAI/OfficeCLI.git && cp OfficeCLI/skills/officecli-pptx ~/.claude/skills/officecli-pptx -r
# OfficeCLI PPTX Skill ## Setup If `officecli` is missing: - **macOS / Linux**: `curl -fsSL https://d.officecli.ai/install.sh | bash` - **Windows (PowerShell)**: `irm https://d.officecli.ai/install.ps1 | iex` Verify with `officecli --version` (open a new terminal if PATH hasn't picked up). If install fails, download a binary from https://github.com/iOfficeAI/OfficeCLI/releases. ## ⚠️ Help-First Rule **This skill teaches what good slides look like, not every command flag. When a property name, enum value, or alias is uncertain, consult help BEFORE guessing.** ```bash officecli help pptx # List all pptx elements officecli help pptx # Full element schema (e.g. shape, chart, animation, connector, zoom, group, background) officecli help pptx # Verb-scoped (e.g. add shape, set slide) officecli help pptx --json # Machine-readable schema ``` Help reflects the installed CLI version. When skill and help disagree, **help is authoritative**. Triggers to run help immediately: `UNSUPPORTED props:` warning, unknown animation preset, `connector.shape=` enum drifts, prop-vs-alias (`lineWidth` vs `line.width`, `color` vs `font.color`). ## Shell & Execution Discipline **Shell quoting (zsh / bash).** ALWAYS quote element paths (`"/slide[1]/..."`) — zsh globs unquoted `[1]` to `no matches found`. Escapes happen at two layers; the CLI handles one for you: 1. **Shell.** `$` in a value still belongs to the shell — single-quote the whole value: `--prop text='$15M'`. Double-quoted `"$15M"` gets expanded to `M`. The CLI does NOT unescape `\$` for you. 2. **CLI (`text=`).** The two-char escapes `\n` and `\t` ARE interpreted, consistently across pptx / docx / xlsx — `\n` is a line / paragraph break, `\t` is a tab. To produce a literal backslash-n in text, double it (`\\n`); this is rarely what you want. 3. **JSON (batch).** Real newlines / tabs can also be passed as `"\n"` / `"\t"` inside a `<<'EOF'` heredoc; both forms produce the same result. If in doubt, `view text` after writing and compare character-for-character. **Incremental execution.** One command → check exit code → continue. A 50-command script that fails at command 3 cascades silently. After any structural op (new slide, chart, animation, connector) run `get` before stacking more. ## Requirements for Outputs These are the deliverable standards every deck MUST meet. Violating any one = not done, regardless of content quality. ### All decks **One idea per slide.** If a slide needs a second title to explain what it covers, split it. Dense "everything about X" slides lose the audience inside 3 seconds. Use a section divider to group related one-idea slides, not a mega-slide. **Explicit type hierarchy — do NOT rely on theme defaults.** Theme defaults drift between masters. Set sizes explicitly on every text shape. | Element | Minimum | Typical | Min shape height | |---|---|---|---| | Slide title | **≥ 36pt** bo

Details

Category Design → ui
SourceiOfficeAI/OfficeCLI
SKILL.mdView on GitHub →
Repo Stars★ 7.9K
Est. per SkillN/A (shared across 11 skills from this repo)
DifficultyIntermediate
Risk LevelN/A

Related Skills

Works Well With

Skills from the same repository — often designed to work together