跳到主要内容

officecli-xlsx 精选

Use this skill any time a .xlsx file is involved -- as input, output, or both. This includes: creating spreadsheets, financial models, dashboards, or trackers; reading, parsing, or extracting data from any .xlsx file; editing, modifying, or updating existing workbooks; working with formulas, charts, pivot tables, or templates; importing CSV/TSV data into Excel format. Trigger whenever the user mentions 'spreadsheet', 'workbook', 'Excel', 'financial model', 'tracker', 'dashboard', or references a .xlsx/.csv filename.

在 GitHub 打开

安装方式

cp -r skills/officecli-xlsx ~/.claude/skills/officecli-xlsx

把该 skill 目录放进客户端 skills 目录。不同客户端的目录可能不同,Claude Code 默认是 ~/.claude/skills/

整仓一次性获取:git clone --depth 1 https://github.com/iOfficeAI/OfficeCLI.git

依赖与权限

  • 无需 API Key
  • 需要联网访问外部服务
  • 依赖外部命令:python curl go
  • 以上为按正文与 frontmatter 自动推断的信号,仅供参考;安装前建议先阅读原文。

SKILL.md 正文

来源 iOfficeAI/OfficeCLI@fb98e59 · 许可 Apache-2.0 · 内容未修改

OfficeCLI XLSX 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 xlsx looks like, not every command flag. When a property name, enum value, or alias is uncertain, consult help BEFORE guessing.

officecli help xlsx                         # List all xlsx elements
officecli help xlsx <element>               # Full element schema (e.g. pivottable, chart, cf)
officecli help xlsx <verb> <element>        # Verb-scoped (e.g. add chart, set cell)
officecli help xlsx <element> --json        # Machine-readable schema

Help reflects the installed CLI version. When this skill and help disagree, help is authoritative.

Shell & Execution Discipline

Shell quoting (zsh / bash). Excel paths contain [], and number formats contain $. Both are shell metacharacters. Rules:

  • ALWAYS quote element paths: "/Sheet1/row[1]", not /Sheet1/row[1].
  • Use single quotes for any prop value containing $: numFmt='$#,##0'.
  • For formulas with cross-sheet ! references, use batch with a <<'EOF' heredoc (see Known Issues).
  • \n and \t in a prop value ARE interpreted by the CLI — \n is a real in-cell line break (pair with --prop wrapText=true), \t a tab — consistent across xlsx / docx / pptx. Double them (\\n) for a literal backslash-n (rarely wanted). ($ is the shell layer above — single-quote it.)

Incremental execution. Run commands one at a time and read each exit code. officecli mutates the file on every call; a 50-command script that fails at command 3 will cascade silently. One command → check output → continue.

Requirements for Outputs

Before reaching for a command, know what a good xlsx looks like. These are the deliverable standards every workbook MUST meet.

All Excel files

Zero formula errors. Every delivered workbook MUST have ZERO #REF!, #DIV/0!, #VALUE!, #NAME?, #N/A. No exceptions — guard denominators with IFERROR or IF(x=0,...).

Formulas, not hardcoded values. If a number can be computed from other cells, it is a formula. Hardcoding 5000 where =SUM(B2:B9) belongs breaks the contract that the workbook stays live when inputs change. This is the single most important rule in this skill.

Professional font. Use one consistent, professional font across the workbook (Arial / Calibri / Times New Roman). Don't mix four fonts because one sheet came from CSV.

Explicit widths. There is no auto-fit. Any column the user will read MUST have width set — default 8.43 chars clips everything. Sensible starts: labels 20-25, numbers 12-15, dates 12, short codes 8-10.

Preserve existing templates. When editing a file that already has a look, match it. Existing conventions override these guidelines.

Visual delivery floor (applies to EVERY workbook)

Before you declare done, run officecli view "$FILE" html and Read the returned HTML path to confirm all of these:

  • No ### in any cell. ### means a column is too narrow for its widest value. Every column the user reads needs an explicit width. ### in a delivered file is unfinished work, never "a small visual nit".
  • No truncated titles. Sheet titles, section headers, long labels must fit. Widen the column or apply wrapText=true on the cell.
  • No placeholder tokens rendered as data. $fy$24, {var}, <TODO>, xxxx must never appear in a cell, chart title, series name, or legend. These are build-time tokens that escaped replacement.
  • Pie / doughnut slices have distinct fill colors. If the slices render same-colored, switch to bar / column or set colors=... explicitly.
  • No empty trailing pages / empty chart anchors. anchor=D2:J18 over empty source cells looks like a broken chart.

If any of the above fails, STOP and fix before declaring done.

Print layout. Any sheet the user may print or send as a board pack needs page setup. Default portrait + no fit-to-page splits wide tables and charts mid-way. Pick the fit mode by sheet shape:

# Summary / chart / dashboard sheet (small, ≤ ~40 rows): fit to a single page.
officecli set "$FILE" "/Summary" --prop orientation=landscape --prop fitToPage=true
# Tall data table (dozens+ rows): fit WIDTH only, let height paginate naturally.
# fitToPage=true here crushes every row onto one page → unreadable (### dates, 5px rows).
officecli set "$FILE" "/Data" --prop orientation=landscape --prop fitToPage=1x0

fitToPage=true == 1x1 == fit both axes to one page — correct only when the sheet is already short. 1x0 = fit 1 page wide, unlimited pages tall. Trigger: sheet holds a chart, or > 8 columns, or the user's ask mentions print / board / investor.

Financial models only — skip this section if you are building a template, tracker, CSV import, or operational sheet

Scope: budgets, forecasts, 3-statement models, valuation, any $-heavy analytical workbook. A customer-support tracker or onboarding template does not need this section.

Color coding — industry standard. Five core colors used as a language, not decoration. A reviewer should tell what a cell IS by color alone — before reading the formula.

ColorRoleExample
Blue text 0000FFHardcoded inputs, scenario variablesfont.color=0000FF
Black text 000000ALL formulas and calculationsdefault
Green text 008000Cross-sheet links inside this workbookfont.color=008000
Red text FF0000Links to external files / workbooksfont.color=FF0000
Yellow fill FFFF00Key assumptions needing reviewfill=FFFF00

A reviewer should tell what a cell IS just by its color — before reading the formula. This is a communication contract, not a cosmetic preference.

Number formatting — standards, not preferences.

  • Years are text, not numbers. Format 2026 not 2,026 — use numFmt="@" or set type=string.
  • Currency carries its unit in the header (Revenue ($mm)), not in every cell.
  • Zeros display as -, not 0. Use $#,##0;($#,##0);"-".
  • Percentages default to one decimal: 0.0%.
  • Negatives use parentheses: (1,234) not -1,234.
  • Valuation multiples use 0.0x format (EV/EBITDA, P/E, etc.).

Assumptions live in cells, not inside formulas. =B5(1+$B$6) is correct; =B51.05 is a bug. Document each blue hardcoded input with an adjacent source note in the next cell or a cell comment:

Source: Company 10-K, FY2024, Page 45, Revenue Note
Source: Bloomberg, 2026-05-02, AAPL US Equity
Source: Management guidance, Q2 2026 earnings call

Any hardcoded number without a source is an undocumented assumption — a reviewer cannot audit it.

Common Workflow

Six steps. Every non-trivial build follows this shape.

  1. Open/save lifecycle. Use officecli open <file> at the start and officecli save <file> at the end to flush to disk — save only writes and leaves the resident warm for follow-up edits; reach for officecli close <file> only to release the resident on a one-shot handoff. Both are always safe (never error or lose work). For many cells, use batch: ≤ 50 ops/block recommended; tested up to 80+ ops per block on pure value-set payloads with zero failures. Cross-sheet formula batches are the exception — run those non-resident, single heredoc (see Known Issues). Flush only at the non-officecli boundary: officecli's own reads always see your edits; run save/close only before a non-officecli program reads the file (openpyxl/pandas, Excel, a renderer, delivery).
  2. Create or load. officecli create "$FILE" (new) or officecli view "$FILE" outline (existing — get the lay of the land first).
  3. Build incrementally. One command, read the output, continue. After any structural op (new sheet, chart, named range, pivot), run get on it to confirm shape before stacking more on top.
  4. Format. Column widths, number formats, freeze panes, tab colors, header fills. Formatting is not optional polish — per "Requirements for Outputs" it is part of the deliverable.
  5. Save, then reckon with the cache. officecli save <file> writes to disk. Newly-added formulas ship without cached values; when a human opens the file in a spreadsheet app, the app recalculates and populates them. But your downstream INDEX/MATCH, SUMPRODUCT, or any formula that references an upstream formula will cache whatever the upstream cached at write-time — often 0 or a stale value — and that cached lie survives into non-recalculating readers. After any multi-formula build involving array formulas (SUMPRODUCT, SUMIFS with dynamic criteria) or cross-sheet chains, re-touch every downstream cell (run set again with the same formula) so the engine recomputes its cache from the freshly-cached upstream. ⚠️ Re-touch on cross-sheet chains via resident is unreliable (see Batch / resident caveats) — prefer non-resident set for the re-touch pass. Then officecli get a few downstream cells and eyeball that their cachedValue= is plausible. validate is safe with a resident open and itself flushes pending edits to disk (same as docx / pptx).
  6. QA — assume there are problems. See the QA section. You are not done when your last command exited 0; you are done after one fix-and-verify cycle finds zero new issues.

Quick Start

Minimal viable xlsx: 3 months of revenue + a total formula + column widths + a currency format. Adapt, don't copy-paste — your file, your data.

officecli create "$FILE"
officecli open "$FILE"
officecli set "$FILE" /Sheet1/A1 --prop value=Month --prop bold=true
officecli set "$FILE" /Sheet1/B1 --prop value=Revenue --prop bold=true
officecli set "$FILE" /Sheet1/A2 --prop value=Jan
officecli set "$FILE" /Sheet1/A3 --prop value=Feb
officecli set "$FILE" /Sheet1/A4 --prop value=Mar
officecli set "$FILE" /Sheet1/B2 --prop value=42000 --prop numFmt='$#,##0'
officecli set "$FILE" /Sheet1/B3 --prop value=45000 --prop numFmt='$#,##0'
officecli set "$FILE" /Sheet1/B4 --prop value=48000 --prop numFmt='$#,##0'
officecli set "$FILE" /Sheet1/A5 --prop value=Total --prop bold=true
officecli set "$FILE" /Sheet1/B5 --prop formula="SUM(B2:B4)" --prop bold=true --prop numFmt='$#,##0'
officecli set "$FILE" "/Sheet1/col[A]" --prop width=12
officecli set "$FILE" "/Sheet1/col[B]" --prop width=15
officecli close "$FILE"
officecli validate "$FILE"

Verified: validate returns no errors found, B5 resolves to 135000. This is the shape of every build: open → set cells/formulas → format → close → validate.

CSV / bulk import

Native import command (preferred for CSV/TSV). Fastest path; loads a CSV into a sheet in one call. --header sets AutoFilter + freeze pane on row 1. Widths and numFmt still need a follow-up pass (per D-12 in Dashboard skill).

officecli import "$FILE" /Sheet1 --file data.csv --header
officecli import "$FILE" /Sheet1 --file data.tsv --format tsv --header
officecli import "$FILE" /Sheet1 --stdin --start-cell B2 < data.csv

Python + batch fallback — use when you need custom type coercion, formula injection, or the CSV lives inside another data pipeline. Recipe for 600-6000+ cells:

# gen_batch.py — produces batch chunks of 80 value-set ops each
import csv, json
ops = []
with open("data.csv") as f:
    reader = csv.reader(f)
    for r, row in enumerate(reader, start=1):
        for c, val in enumerate(row):
            col = chr(ord('A') + c)
            ops.append({"command":"set","path":f"/Data/{col}{r}",
                        "props":{"value": val}})
for i in range(0, len(ops), 80):
    print(json.dumps(ops[i:i+80]))
python gen_batch.py | while IFS= read -r chunk; do
  printf '%s\n' "$chunk" | officecli batch "$FILE"
done

Outcome: 648-row retail CSV (6490 cells) loads in ~30s, zero failures. Tune: start at 80 ops/chunk, drop to 40 if any chunk fails. Numeric type inference and formulas come later via targeted set — batch in this recipe is pure value injection.

Reading & Analysis

Start wide, then narrow. outline first tells you what sheets exist and where the data is; jump into view / get / query only once you know where to look.

Open the rendered workbook to eyeball your own work.

  • officecli view $FILE html — Read the returned HTML to audit the rendered output. Each sheet is addressable, charts render inline. Catches ###, placeholder leakage, pivot layout, row-height clipping.
  • officecli watch $FILE keeps a live preview running for the human user — they open it at their own discretion. Use when the user wants to watch along; agent self-check uses view html above.

Use view html as your first visual check after a batch of edits — fix at source. For final visual verification, the user opens the .xlsx in their Excel / WPS / Numbers viewer.

Orient. Sheets, dimensions, formula counts.

officecli view "$FILE" outline

Extract. Plain text dump for content QA or LLM context; scope with --start / --end / --cols for big files.

officecli view "$FILE" text --start 1 --end 50 --cols A,B,C

Other view modes worth knowing: annotated (cell values + types/formulas + warnings), stats (numeric summaries), issues (broken formulas, empty sheets, missing refs).

Round-trip dump. officecli dump "$FILE" [path] serializes the workbook — or one worksheet (/Sheet1, /sheet[N]) — into a replayable batch JSON; officecli batch new.xlsx --input dump.json replays it. Use it to learn from an existing workbook's structure or clone/adapt a template instead of reading raw OOXML. Coverage per dump --help; subtree dumps don't carry workbook-level resources (settings, named ranges) — the replay target must already define them.

officecli dump "$FILE" -o blueprint.json            # whole workbook
officecli dump "$FILE" /Sheet1 -o sheet.json        # one worksheet
officecli batch new.xlsx --input blueprint.json

Inspect one element. Use XPath-style paths. Always quote — shells glob [N].

officecli get "$FILE" "/Sheet1/A1"            # one cell
officecli get "$FILE" "/Sheet1/A1:D10"        # range
officecli get "$FILE" "/Sheet1/chart[1]"      # chart
officecli get "$FILE" "/Sheet1/table[1]"      # ListObject
officecli get "$FILE" "/namedrange[1]"        # workbook-level named range

Add --depth N to expand children; add --json for machine output. Full element list: officecli help xlsx.

Query across the workbook. CSS-like selectors. Use for systematic checks (formula coverage, error cells, empty headers) rather than hand-walking.

officecli query "$FILE" 'cell:has(formula)'       # every formula cell
officecli query "$FILE" 'cell:contains("#REF!")'  # broken references
officecli query "$FILE" 'cell[type=Number]'       # typed filter
officecli query "$FILE" 'Sheet1!B[value!=0]'      # sheet-scoped

Operators: =, !=, ~= (contains), >=, <=, [attr] (exists).

Merge cells shortcut. officecli query $FILE merge or mergedrange — both are aliases for mergeCell. Returns every merged range in the workbook without hand-walking <mergeCell> entries.

When the data is big enough that a row-walk is useless, reach for Excel's own analytical elements:

  • Build a pivot table with officecli add (--type pivottable) to group/aggregate without writing 20 SUMIFs. Attach a slicer (--type slicer) to give the reader a filter UI.
  • Drop a sparkline (--type sparkline) in a row to show per-row trends — cheaper than one line chart per row and they print inline. type is a strict enum: line | column | stacked (plus aliases winloss / win-loss → stacked). Invalid type= values hard-fail — no silent fallback to line anymore.
  • Run officecli help xlsx pivottable, officecli help xlsx slicer, officecli help xlsx sparkline for the exact prop names.

Creating & Editing

Ninety percent of a build is cells, formulas, formatting, and one or two charts. The verbs: add (new element), set (change a prop), remove, move, swap, batch.

Cells and formulas

Set a value and its format in one call. Never write = at the start of a formula — the CLI strips it.

officecli set "$FILE" /Sheet1/B5 --prop formula="SUM(B2:B4)" --prop numFmt='$#,##0'
officecli set "$FILE" /Sheet1/C5 --prop formula="B5/A5" --prop numFmt="0.0%"

Structural properties (width, height, freeze, tabColor) live on row / col / sheet nodes:

officecli set "$FILE" "/Sheet1/col[A]" --prop width=20
officecli set "$FILE" "/Sheet1/row[1]" --prop height=22
officecli set "$FILE" "/Sheet1" --prop freeze=A2 --prop tabColor=1F4E79

Named ranges

Prefer named ranges over $B$6 in formulas. They self-document (GrowthRate beats $B$6) and they let you move the assumption cell without breaking formulas. Because ref values contain both ! and $, add them through a batch heredoc:

cat <<'EOF' | officecli batch "$FILE"
[
  {"command":"add","parent":"/","type":"namedrange","props":{"name":"GrowthRate","ref":"Sheet1!$B$6"}}
]
EOF

See officecli help xlsx namedrange for the full schema.

Batch JSON does NOT accept shell aliases. Inside batch props, always use the full dotted name — "font.color": "FF0000", "font.size": 14, never "color": "FF0000" (ambiguous: text vs fill). On a bare cell, even the shell form is rejected: --prop color=1F4E79 errors with ambiguous in cell context — use 'font.color' (text) or 'fill' (bg). Rule: in any batch JSON or cell prop, write font.color / fill explicitly. parent should be "/" for workbook-level elements and "/SheetName" for sheet-scoped; empty string is not equivalent.

Charts

Chart types live under officecli help xlsx chart — the enum is long (20+). Pick the right one for the message: column for category comparison, line for time series, pie only when slices are self-evidently proportional, scatter for correlation. Avoid exotic types unless they answer a specific question.

Three ways to feed chart data. Pick one per chart — mixing them at add-time is a common trap.

FormShapeWhen to use
(a) inline data--prop data="Sales:100,200,300" --prop categories="Jan,Feb,Mar"Tiny demo charts, numbers you will not edit. Source of truth lives in the chart XML, not a cell.
(b) 2D dataRange--prop dataRange="Sheet1!A1:B4" (first col = categories, first row = header / series name)Normal case. Must be 2-D — single column fails with "Chart requires data".
(c) dotted per-series--prop series1.name=Sales --prop series1.values="Sheet1!B2:B4" --prop series1.categories="Sheet1!A2:A4"Multi-series charts where each series points at non-contiguous ranges, or you want explicit series naming. series1.values alone (no categories) emits a chart with 1,2,3 as the x-axis.

The single-column trap. dataRange="Sheet1!B2:B13" looks like "value column" but the engine rejects it with Chart requires data. Either widen the range to include the category column (A2:B13), or switch to form (c) with explicit series1.categories.

Move / resize a chart after create: set chart[N] --prop anchor="F5:N25" (also --prop x= --prop y= --prop width= --prop height=). Series are still immutable — to add/change a series, officecli remove the chart and officecli add with the full series list. Note remove chart[1] shifts chart[2] → chart[1] and re-add appends at the end — to preserve chart order, remove all and rebuild in order.

Anchor sizing. No auto-fit. A column chart with 5-6 categories + 2 series needs roughly A5:L22 (12 cols × 18 rows) to show all labels uncut. Narrower and X-axis labels clip; wider and the chart can split across pages on print/export. If in doubt, start narrow, preview via view html (Read the returned HTML path), widen in increments. Page layout (below) is the other half of the fix.

Chart dataRange — always prefix with the sheet. Even when the chart lives on the same sheet, write dataRange="Summary!A17:C22", not A17:C22. The sheet-less form works inconsistently; the prefixed form is 100% reliable.

officecli adds extended chart types the classic Excel object model lacks: boxWhisker, waterfall, funnel, histogram, treemap, sunburst, pareto. Use them when the data calls for them.

NEVER put unreplaced template tokens in chart title / series name / legend / axis title. $fy$24, {var}, <TODO>, $VAR, {{placeholder}} render literally in the legend — validate passes, but a CFO sees $fy$24 where "FY2024" should be. Always bind to final text or a cell reference (title="FY2024 Revenue" or series1.name="Sheet1!A1").

Conditional formatting

Three common flavors, each with its own prop shape (consult officecli help xlsx cf):

  • Color scales: cells shaded on a gradient by value — type=colorscale with minColor / midColor / maxColor.
  • Data bars: in-cell bars showing magnitude — type=databar. Set explicit min / max for consistent scaling across a column; defaults are valid if you omit them.
  • Formula rules (the formulacf element): highlight row when a condition is true — type=formula with formula="$C2>1000" and a fill/font.

Rule: apply CF sparingly. A workbook where every cell is colored tells the reader nothing.

Data validation

Input cells in trackers and templates MUST carry data validation. It's cheap and it stops entire classes of downstream bugs. Three list-source patterns — pick based on where the allowed values live.

(a) Inline list — allowed values are short and fixed in the rule itself.

officecli add "$FILE" /Sheet1 --type validation \
  --prop sqref="C2:C100" --prop type=list \
  --prop formula1="Yes,No,Maybe" \
  --prop showError=true --prop errorTitle="Invalid" --prop error="Select from list"

(b) Named range (preferred for cross-sheet lookups) — allowed values live in another sheet and may grow. Define the named range first, then reference it. Use a batch heredoc because ref contains ! and $:

cat <<'EOF' | officecli batch "$FILE"
[
  {"command":"add","parent":"/","type":"namedrange","props":{"name":"StatusList","ref":"Lookups!$A$2:$A$4"}},
  {"command":"add","parent":"/Sheet1","type":"validation","props":{"sqref":"B2:B100","type":"list","formula1":"=StatusList"}}
]
EOF

(c) Direct cross-sheet range — no named range, raw Lookups!$A$2:$A$4 inside formula1. Also needs a batch heredoc to keep ! and $ intact:

cat <<'EOF' | officecli batch "$FILE"
[
  {"command":"add","parent":"/Sheet1","type":"validation","props":{"sqref":"C2:C100","type":"list","formula1":"Lookups!$A$2:$A$4"}}
]
EOF

If you write the cross-sheet variant as --prop formula1=... on the shell, the ! gets shell-mangled into \! and the dropdown will silently fall back to no list. Verify with officecli get "$FILE" /Sheet1/validation[N] — formula1= must show a plain !, no backslash.

Other common type values: decimal, whole, date, textLength, custom. See officecli help xlsx validation for operators and the full prop list.

Other elements (one-liners)

  • Tables (ListObjects) — add --type table with a range; gives auto-filter + structured refs. officecli help xlsx table.
  • Comments — add --type comment; use for documenting hardcoded assumptions. officecli help xlsx comment.
  • Sheet reordering — officecli move, not swap. swap only works on row/cell paths.
  • New row/column with the neighbours' formatting — `add "$FILE" /Sheet1 -

质量与来源

所属仓库
iOfficeAI/OfficeCLI
仓库星标
3.2 万
最近更新
今天
采集时间
今天
commit
fb98e593612d
内容指纹
sha256:95ed125c9c06def
文件路径
skills/officecli-xlsx/SKILL.md

同仓库其它 Skill

查看全部 11 个
officecli
Create, analyze, proofread, and modify Office documents (.docx, .xlsx, .pptx) using the officecli CLI tool. Use when the user wants to create, inspect, check formatting, find issues, add charts, or modify Office documents.
精选 iOfficeAI/OfficeCLI 3.2 万 原文
Claude CodeCodex CLIMCP 客户端
morph-ppt-3d
3D Morph PPT — extends morph-ppt with GLB model insertion, cinematographic camera, model-content layout, and enriched visual design system.
精选 iOfficeAI/OfficeCLI 3.2 万 原文
Claude CodeCodex CLIMCP 客户端
morph-ppt
Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style continuous motion, shapes that grow / move / rotate as the slide advances. Trigger on: 'morph', 'morph transition', 'smooth transition', 'continuous animation across slides', 'Keynote-style transition', 'animated slide sequence', 'shape continuity across slides'. Output is a single .pptx. This skill is a scene layer on top of officecli-pptx — inherits every pptx v2 rule (visual floor, grid, palettes, connector canon, Delivery Gate 1–5a). DO NOT invoke for a generic deck, pitch deck, or board review without cross-slide motion — route those to officecli-pptx base or officecli-pitch-deck.
精选 iOfficeAI/OfficeCLI 3.2 万 原文
Claude CodeCodex CLIMCP 客户端
officecli-academic-paper
Use this skill to build academic-style .docx output: journal / conference / thesis chapters carrying formal citation style (APA, Chicago, IEEE, MLA), numbered equations, figure & table cross-references, footnotes/endnotes, bibliography, or multi-column journal layout. Trigger on: 'research paper', 'journal paper', 'conference paper', 'manuscript', 'thesis', 'APA', 'MLA', 'Chicago', 'IEEE two-column', 'bibliography', 'hanging indent', 'citation style', 'abstract + keywords', 'equation numbering', 'cross-reference', paper with footnotes/endnotes. Output is a single .docx.
精选 iOfficeAI/OfficeCLI 3.2 万 原文
Claude CodeCodex CLIMCP 客户端
officecli-data-dashboard
Use this skill to build a multi-element Excel dashboard — Dashboard sheet on open, multiple formula-driven KPI cards, multiple charts, sparklines, and conditional formatting — from CSV or tabular input. Trigger on: 'dashboard', 'KPI dashboard', 'analytics dashboard', 'executive dashboard', 'metrics dashboard', 'CSV to dashboard', 'data visualization'. Output is a single .xlsx. Scene-layer on officecli-xlsx: inherits every xlsx hard rule. DO NOT invoke for: a single budget tracker / one-sheet CSV-with-formatting (use xlsx), a 3-statement / DCF / LBO financial model (use financial-model), a weekly report with at most 1 chart and fewer than 10 rows (use xlsx).
精选 iOfficeAI/OfficeCLI 3.2 万 原文
Claude CodeCodex CLIMCP 客户端
officecli-docx
Use this skill any time a .docx file is involved -- as input, output, or both. This includes: creating Word documents, reports, letters, memos, or proposals; reading, parsing, or extracting text from any .docx file; editing, modifying, or updating existing documents; working with templates, tracked changes, comments, headers/footers, or tables of contents. Trigger whenever the user mentions 'Word doc', 'document', 'report', 'letter', 'memo', or references a .docx filename.
精选 iOfficeAI/OfficeCLI 3.2 万 原文
Claude CodeCodex CLIMCP 客户端

相似 Skill

更多「办公」
opencli-adapter-author
Use when writing an OpenCLI adapter for a new site or adding a new command to an existing site. Guides end-to-end from first recon through field decoding, adapter coding, and verify. Replaces opencli-oneshot / opencli-explorer. For ad-hoc browser driving (no adapter), see opencli-browser instead; for a top-level orientation to opencli, see opencli-usage.
精选 jackwener/OpenCLI 3.0 万 原文
Gemini CLI
opencli-autofix
Automatically fix broken OpenCLI adapters when commands fail. Load this skill when an opencli command fails — it guides you through collecting a trace artifact, patching the adapter, retrying, and filing an upstream GitHub issue after a verified fix. Works with any AI agent.
精选 jackwener/OpenCLI 3.0 万 原文
Gemini CLI
opencli-browser
Use when an agent needs to drive a real Chrome window via opencli — inspect a page, fill forms, click through logged-in flows, or extract data ad-hoc. Covers the selector-first target contract, compound form fields, stale-ref handling, network capture, and the agent-native envelopes the CLI returns. Not for writing adapters — see opencli-adapter-author for that.
精选 jackwener/OpenCLI 3.0 万 原文
Gemini CLI
opencli-usage
Use at the start of any OpenCLI session — this is the top-level map of what `opencli` can do, how to discover adapters, what flags and output formats are universal, and which specialized skill to load next. Point here when an agent asks "what can opencli do?" or "how do I find the right command?".
精选 jackwener/OpenCLI 3.0 万 原文
Gemini CLI
smart-search
基于 opencli 命令的智能搜索路由器。当用户想要使用 OpenCLI、CLI 或 API 搜索、查询、查找或研究信息时,尤其是涉及指定网站、社交媒体、技术资料、新闻、购物、旅游、求职、金融或中文内容时,务必使用此 skill
精选 jackwener/OpenCLI 3.0 万 原文
Gemini CLI
deeptutor-cli
终身个性化辅导系统:根据学习者情况持续调整教学方式。
精选 HKUDS/DeepTutor 4.1 万 仓库简介
Codex CLIMCP 客户端