# What Is the OfficeCLI Skill System? A Complete Guide to Available Skills

> Discover the OfficeCLI skill system and its extensive range of skills. Enhance AI agent capabilities for document creation with this comprehensive guide.

- Repository: [OfficeAI/OfficeCLI](https://github.com/iofficeai/OfficeCLI)
- Tags: deep-dive
- Published: 2026-08-02

---

**OfficeCLI bundles a skill system that lets AI agents extend their capabilities with domain-specific guides for creating Office documents.** Each skill is a [`SKILL.md`](https://github.com/iOfficeAI/OfficeCLI/blob/main/SKILL.md) instruction set bundled with the CLI and installed into agent directories when needed.

The **OfficeCLI skill system** bridges AI agents and Microsoft Office document creation. Rather than prompting an agent with generic instructions, you install specialized skills that teach it exact techniques for building PowerPoint decks, Excel models, Word reports, and more. This article examines how the system works under the hood and catalogs every skill available in the current release.

## How the Skill System Works

At its core, the skill system is implemented in [`src/officecli/Core/SkillInstaller.cs`](https://github.com/iOfficeAI/OfficeCLI/blob/main/src/officecli/Core/SkillInstaller.cs). The **`SkillInstaller`** class orchestrates discovery, listing, installation, and catalog generation for all skills.

### Architecture Components

The system relies on five key structures defined in [`SkillInstaller.cs`](https://github.com/iOfficeAI/OfficeCLI/blob/main/SkillInstaller.cs):

| Component | Purpose | Source Location |
|-----------|---------|---------------|
| **UmbrellaFolder** (`officecli`) | Shared top-level [`SKILL.md`](https://github.com/iOfficeAI/OfficeCLI/blob/main/SKILL.md) across all agents | Lines 24–38 |
| **Tools** | Maps recognized agents (Claude, Copilot, Codex, Cursor, Pi) to their skill directories | Lines 24–38 |
| **SkillMap** | Associates skill names (commands) with resource folders | Lines 45–57 |
| **SkillTriggers** | One-line descriptions injected into MCP tool descriptions for agent discovery | Lines 66–78 |
| **BuildSkillTriggerSummary()** | Generates concise trigger strings agents read before loading | Lines 86–99 |
| **BuildSkillCatalog()** / **ListSkills()** | Returns markdown catalog or prints status table | Lines 86–99, 109–144 |

When an agent needs to create a document, it reads the trigger summary (via `BuildSkillTriggerSummary()`) to determine which `load_skill` command to invoke. The full [`SKILL.md`](https://github.com/iOfficeAI/OfficeCLI/blob/main/SKILL.md) is then loaded on demand.

## Available OfficeCLI Skills

The following skills ship with OfficeCLI, derived from the **SkillMap** and **SkillTriggers** definitions in [`SkillInstaller.cs`](https://github.com/iOfficeAI/OfficeCLI/blob/main/SkillInstaller.cs):

| Skill Command | Folder | Trigger Description | Use Case |
|-------------|--------|---------------------|----------|
| `pptx` | `officecli-pptx` | slide decks / presentations | General PowerPoint presentations |
| `word` | `officecli-docx` | Word docs, reports, letters, memos | Document creation and formatting |
| `excel` | `officecli-xlsx` | spreadsheets, financial models, dashboards | Data workbooks and analysis |
| `morph-ppt` | `morph-ppt` | cross-slide Morph animation / continuous motion | Advanced PowerPoint animations |
| `morph-ppt-3d` | `morph-ppt-3d` | 3D Morph decks (GLB models, camera) | 3D model presentations |
| `pitch-deck` | `officecli-pitch-deck` | fundraising / investor decks (seed, Series A/B/C) | Startup fundraising materials |
| `academic-paper` | `officecli-academic-paper` | academic papers / research reports | Scholarly document formatting |
| `data-dashboard` | `officecli-data-dashboard` | data dashboards | Interactive data visualization |
| `financial-model` | `officecli-financial-model` | financial models / projections | Business forecasting spreadsheets |
| `word-form` | `officecli-word-form` | fillable forms, content controls, protected docs | Structured data entry documents |

## Installing and Using Skills

### Command-Line Workflow

The `officecli skills` command family provides full skill management:

```bash

# List all skills with installation status

officecli skills list

# Install a specific skill for all detected agents

officecli skills install pptx

# Install multiple skills

officecli skills install pitch-deck financial-model

```

### Programmatic API

For custom integrations, `SkillInstaller` exposes static methods:

```csharp
using OfficeCli.Core;

// Print formatted skill table to console
SkillInstaller.ListSkills();

// Install "excel" skill and receive list of paths where installed
List<string> installedPaths = SkillInstaller.InstallSkill("excel");

// Get entire skill catalog as markdown (used by load_skill with no argument)
string fullCatalog = SkillInstaller.BuildSkillCatalog();

// Load specific skill content programmatically
string pitchGuide = SkillInstaller.LoadSkillContent("pitch-deck");

```

### Agent Integration Flow

The system operates through four stages:

1. **`officecli skills list`** — displays the status table showing which skills are installed for detected agents
2. **`officecli skills install <skill>`** — copies embedded [`SKILL.md`](https://github.com/iOfficeAI/OfficeCLI/blob/main/SKILL.md) and binary assets into agent `skills/` folders
3. **`load_skill <skill>`** — invoked by agents to retrieve the full guide and bundled reference files
4. **MCP server commands** — handled in [`src/officecli/Core/McpServer.cs`](https://github.com/iOfficeAI/OfficeCLI/blob/main/src/officecli/Core/McpServer.cs) to bridge agent requests to skill operations

## Skill File Structure

Each skill is packaged as embedded resources following this convention:

```

skills/
├── officecli-pptx/
│   └── SKILL.md          # Full instruction guide

├── officecli-pitch-deck/
│   ├── SKILL.md
│   └── templates/        # Optional reference assets

└── ...

```

The **`UpdateChecker`** class in [`src/officecli/Core/UpdateChecker.cs`](https://github.com/iOfficeAI/OfficeCLI/blob/main/src/officecli/Core/UpdateChecker.cs) automatically refreshes installed skills when the OfficeCLI binary version changes, ensuring agents always use current guides.

## Summary

- **OfficeCLI skills** are [`SKILL.md`](https://github.com/iOfficeAI/OfficeCLI/blob/main/SKILL.md) instruction guides that teach AI agents to build specific Office document types
- The **`SkillInstaller`** class in [`src/officecli/Core/SkillInstaller.cs`](https://github.com/iOfficeAI/OfficeCLI/blob/main/src/officecli/Core/SkillInstaller.cs) manages discovery, listing, installation, and catalog generation
- **10 skills** ship with the current release, covering presentations, documents, spreadsheets, animations, and specialized formats
- Skills install into agent-specific directories (Claude, Copilot, Codex, Cursor, Pi) and are discovered via trigger summaries
- The system supports both CLI interaction and programmatic API access for automation

## Frequently Asked Questions

### How do I know which skills are already installed?

Run `officecli skills list`. The command queries `SkillInstaller.ListSkills()` (lines 109–144) and prints a table showing each skill's name, installation status across detected agents, and truncated description.

### Can I create custom skills for OfficeCLI?

The architecture supports plugin-like extensibility. New skills require a folder with [`SKILL.md`](https://github.com/iOfficeAI/OfficeCLI/blob/main/SKILL.md) and optional assets, plus entries in `SkillMap` and `SkillTriggers` in [`SkillInstaller.cs`](https://github.com/iOfficeAI/OfficeCLI/blob/main/SkillInstaller.cs). The `UmbrellaFolder` mechanism ensures shared instructions propagate to all agents.

### What happens when OfficeCLI updates?

[`UpdateChecker.cs`](https://github.com/iOfficeAI/OfficeCLI/blob/main/UpdateChecker.cs) detects version changes and triggers automatic skill refresh. This ensures installed [`SKILL.md`](https://github.com/iOfficeAI/OfficeCLI/blob/main/SKILL.md) files stay synchronized with the bundled versions in the new binary, preventing drift between agent capabilities and CLI features.

### Why do agents need trigger summaries instead of loading full skills immediately?

`BuildSkillTriggerSummary()` (lines 86–99) generates concise descriptions that fit in MCP tool definitions. This lets agents select the correct `load_skill` command without loading large markdown files, reducing context window usage and improving response latency.