Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/iofficeai/officecli/officecli-pptxnpx skills add iOfficeAI/OfficeCLI --skill officecli-pptxgit clone --depth 1 https://github.com/iOfficeAI/OfficeCLIWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00106 | $0.12269 |
| Opus 5 | $0.00053 | $0.06135 |
| Sonnet 5 | $0.00021 | $0.02454 |
| Haiku 4.5 | $0.00011 | $0.01227 |
Grade C, and why
officecli-pptx scanned grade C with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
- **macOS / Linux**: `curl -fsSL https://d.officecli.ai/install.sh | bash` Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- **macOS / Linux**: `curl -fsSL https://d.officecli.ai/install.sh | bash` How it starts
The opening of the file, as written. The whole thing — 569 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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.
officecli help pptx # List all pptx elements
officecli help pptx <element> # Full element schema (e.g. shape, chart, animation, connector, zoom, group)
officecli help pptx <verb> <element> # Verb-scoped (e.g. add shape, set slide)
officecli help pptx <element> --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. Escaping happens at three layers — keep them separate (the CLI handles the second for you):
- Shell.
$in a value still belongs to the shell — single-quote the whole value:--prop text='$15M'. Double-quoted"$15M"gets expanded toM. The CLI does NOT unescape\$for you. - CLI (
text=). The two-char escapes\nand\tARE interpreted, consistently across pptx / docx / xlsx —\nis a line / paragraph break,\tis a tab. To produce a literal backslash-n in text, double it (\\n); this is rarely what you want. - JSON (batch heredoc). The recipes below pipe
cat <<EOF | officecli batchunquoted so$SLIDE/$FILEexpand inside the body. That same unquoted heredoc also expands a literal$in a value:"$1.42"silently becomes.42and"$2.4B"becomes.4B($1/$2are empty shell params). Escape currency as\$—"text":"\$1.42"— which still lets$SLIDEexpand.\n/\tinside the JSON work either way. A fully-quoted<<'EOF'protects every$but then$SLIDEwon't expand, so only use it when the body has no shell variables. After writing money values,view textand confirm the$survived.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 569 lines · 106 tokens per session scan C 0d53192751d5
officecli-pptx is a skill published in the GitHub repository iOfficeAI/OfficeCLI (29,674 stars, last pushed yesterday), licensed Apache-2.0. It adds 106 tokens to every session and 12,269 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
chinese-pdf-report
Create professional Chinese PDF reports with reliable font rendering on macOS, especially when previous HTML-to-PDF output produced garbled Chinese text, missing glyphs, or ugly default typography. Use when asked to generate or re-export Chinese-heavy PDFs, fix Chinese font issues, improve typography for formal…
youtube-bilingual-subtitle-delivery
Download a YouTube video, convert to MP4 if needed, build bilingual English/Chinese subtitles, audit completeness, and export softsub + hardcode MP4 deliverables. Includes fallback paths when YouTube auto-captions are partial or Chinese caption download is rate-limited, and notes a hardcode duration drift fix.
precise-bilingual-subtitle
Produce bilingual (EN+ZH) hardcoded-subtitle videos with Whisper word-level timing accuracy, customizable font/color/size, and the full pipeline from raw YouTube video to yellow-subtitle MP4. Use when YouTube auto-captions drift, when the user wants specific subtitle styling (color, size, font), or when subtitle…
youtube-bilingual-transcript-report
Download a YouTube video, build English and Chinese timestamped transcripts, create a structured summary with independent insights, and export a professional Chinese PDF report. Includes fallback when Chinese subtitle download hits HTTP 429 and when full-resolution video download is unnecessarily heavy.
gmail
Gmail API integration with managed OAuth. Read, send, and manage emails, threads, labels, and drafts. Use this skill when users want to interact with Gmail. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).
hermes-manual-update-and-report
Manually update a local Hermes Agent checkout and generate a maintenance report when hermes update is blocked by approval issues or hangs.