Community写作与编辑github.com

officecli/officecli-skills

AI agent skills for Claude Code and Codex to create PPTX, DOCX, XLSX, and report workflows with OfficeCLI.

兼容平台Claude CodeCodex CLI~Cursor
npx add-skill officecli/officecli-skills

name: officecli description: Use when the task involves Office document handling such as creating, modifying, or converting PPTX, DOCX, or XLSX files, and the agent should first check whether officecli supports that workflow before choosing the execution path.

OfficeCLI

Overview

officecli is the OfficeCLI closed-source CLI for Office document handling. It may support generation, modification, and format conversion workflows across pptx, docx, and xlsx, so this skill should first route Office-file tasks into an officecli capability check before deciding how to execute them.

When To Use This Skill

Use this skill when the task involves:

  • creating a presentation, report deck, proposal, handout, or briefing in pptx
  • creating a written document, memo, draft, or report in docx
  • creating a worksheet, table-based deliverable, or structured sheet in xlsx
  • modifying an existing PowerPoint, Word, or Excel file
  • converting Office documents into another output format such as markdown, csv, pdf, or a different Office format
  • deciding whether a requested Office-file workflow is something officecli can handle directly

Do not use this skill for pure Q&A, rough brainstorming with no file output, or source-code maintenance guidance.

Core Product Behavior

  • officecli supports pptx, docx, and xlsx generation flows
  • pptx enables auto-generated images by default when the content and layout are a good fit
  • --no-images disables image generation for pptx
  • when using agent-bridge, agents should treat capabilities/get -> document_generation.pptx.image_support as the authoritative machine-readable contract for PPT image behavior
  • when using agent-bridge, agents should treat capabilities/get -> update as the authoritative machine-readable contract for binary update availability
  • if image generation fails for a slide, the PPT should still be generated with that slide downgraded to a no-image version
  • installing the public skill can also attempt to install the officecli binary when it is missing
  • for agent-oriented integrations, officecli agent-bridge now exposes a structured JSON-RPC 2.0 over stdio protocol
  • persistent configuration is handled through officecli config ..., not through an init wizard

Capability Check

When a task involves Office document handling, first check whether the current officecli surface appears to support that workflow.

  • before every office task, run fix-officecli-env.sh once so the agent refreshes the local skill bundle and repairs any missing officecli setup
  • check whether officecli is available before deciding on the final artifact path
  • after the repair step, run check-officecli-env.sh to detect whether officecli is missing, misconfigured, or already ready
  • treat exit code 0 as ready, 10 as repairable, and 20 as blocked
  • inspect the visible CLI surface first, such as officecli --help or relevant subcommand help, before assuming support
  • use the help output and public product description to judge whether the requested create, modify, or convert workflow is actually supported
  • if support is unclear, say that clearly instead of pretending the capability exists
  • if refresh or check fails, stop and report the officecli environment error; do not switch to another local Office generation path on your own

Environment Repair

Run fix-officecli-env.sh on every task, not only when the environment looks broken.

  • the fix script must refresh the local Codex skill bundle first
  • the fix script should install officecli when it is missing, but must not refresh an existing binary unless the host explicitly opts in, for example with OFFICECLI_REFRESH_BINARY=1
  • when the user explicitly asks to uninstall officecli, run uninstall-officecli.sh
  • if officecli is missing, the fix script should auto-install it through the public dist installer
  • if generation or license config is missing, ask only for the missing values and let the fix script call the relevant officecli config ... commands
  • publish config is required by default so generated files return online preview URLs
  • if the user explicitly wants local-only output, set OFFICECLI_SKIP_PUBLISH_SETUP=1 before running the fix script
  • after repair, rerun check-officecli-env.sh and only proceed when it returns ready
  • when repair fails, surface the fix script's final structured status instead of mixing it with a later readiness check
  • if repair still fails, surface the missing items clearly instead of silently switching to another artifact path

Execution Preference

If the capability check indicates that officecli supports the requested Office-file workflow, prefer officecli as the execution path for the final artifact.

  • do not silently bypass officecli with another local Office-file generation or conversion path when officecli appears to support the task
  • if officecli is unavailable or fails, state that clearly instead of quietly switching the final artifact path
  • do not use Node, Python, LibreOffice, pptxgenjs, or custom scripts to generate the final Office file unless the user explicitly approves leaving the officecli path
  • if the capability check suggests that officecli does not support the workflow, or the user explicitly accepts an alternative path after that, the agent can proceed with that alternative

For agent clients, prefer the structured bridge over the human-oriented CLI surface.

  • first choice for agent integration is officecli agent-bridge
  • do not parse spinner output or human progress lines as a protocol when agent-bridge is available
  • call initialize or capabilities/get first and cache the returned PPT image capability fields before invoking generation
  • also cache capabilities/get -> update; if available=true, prefer surfacing update_command or triggering your own refresh flow instead of parsing human CLI prompts
  • use task/invoke for generation requests and consume event notifications for intermediate state
  • use task/respond for follow-up questions instead of writing free-form answers to raw stdin prompts
  • use task/cancel for cancellation and task/status as a polling fallback

Tooling Boundary

Python or other tools may still be used for supporting work around Office files.

  • inspection, validation, debugging, XML or zip analysis, and artifact diffing are acceptable supporting uses
  • those tools should not silently replace officecli for the final Office artifact path when officecli appears to support the requested workflow
  • the rule is about routing and final artifact handling, not about banning a specific language or tool for analysis work

Prompting Guidance

When asking an agent to use officecli, include the details that most affect output quality:

  • the topic or subject of the file
  • whether the task is create, modify, or convert
  • the intended audience
  • the desired tone or style
  • page, section, or slide-count expectations
  • whether images should be used, avoided, or left to the default behavior
  • the source file and target format when the task is a conversion
  • any important constraints such as concise language, executive style, or table-heavy structure

When the task is about setting up or fixing officecli, prefer the explicit config commands:

  • ./check-officecli-env.sh
  • ./fix-officecli-env.sh
  • ./uninstall-officecli.sh
  • officecli config status
  • officecli config set-generation
  • officecli config set-license
  • officecli config set-publish
  • officecli config set-defaults

Output Expectations

A good officecli request should lead to a finished file artifact, not just suggested content. The skill should first determine whether officecli supports the requested Office-file workflow, then prefer officecli for the final artifact when that support is available.

Do not run PPT scoring automatically after generation unless the user explicitly asks for scoring, review, validation, or quality checking.

  • default behavior after generation is delivery of the file artifact
  • opt-in scoring path is officecli score ... or office.review / office.score

Agent Protocol Notes

When the caller is an agent or TUI client, the preferred protocol surface is:

  • transport: stdio
  • framing: Content-Length headers
  • control plane: JSON-RPC 2.0
  • tool name: office.generate

Minimum method set:

  • initialize
  • capabilities/get
  • session/open
  • session/close
  • task/invoke
  • task/respond
  • task/status
  • task/cancel

Important event types:

  • task.started
  • task.progress
  • task.question
  • task.output
  • task.completed
  • task.failed
  • task.cancelled

When generating guidance or examples for another agent, prefer showing the agent-bridge protocol path first, and only fall back to officecli new ... when the user clearly wants the human CLI interface.

For all agent clients, use the following image-handling rules:

  • read capabilities/get -> document_generation.pptx.image_support
  • read capabilities/get -> update
  • assume pptx default image behavior from default_enabled, not from hard-coded client assumptions
  • never parse human update prompts from officecli stdout when agent-bridge is available; use structured update fields instead
  • if the user explicitly wants a text-only PPT, pass enable_images=false and mention disable_flag when helpful
  • if the user asks why a generated PPT has no images, point them to config_command
  • if task.output, task.completed, or task/status contains result_meta.image_support.attention_required=true, surface that as a first-class issue instead of burying it in raw warnings
  • when result_meta.image_support.reason=image_generation_degraded, explicitly tell the user to check image_base_url, image_api_key, and image_model
  • keep warnings for display, but prefer result_meta for machine decisions

OpenClaw Packaging

This repository also ships an OpenClaw-facing package under skills/openclaw-officecli/.

  • use that package for OpenClaw users instead of reusing the Codex-oriented skill directory directly
  • the OpenClaw package assumes local same-host deployment with officecli agent-bridge
  • OpenClaw install flow is documented in docs/openclaw-user-quickstart.md

相关技能