Agent skill · Backend & API

officecli-word-form

Use this skill to create fillable Word forms (.docx) with real Content Controls (SDT) + legacy FormField checkboxes + MERGEFIELD mail-merge placeholders + document protection. Trigger on: 'fillable form', 'form fields', 'content controls', 'SDT', 'word form', 'fill in', 'only editable fields', 'protect document', 'onboarding form', 'HR intake', 'survey template', 'contract / SOW template', 'mail-merge template', 'compliance checklist', 'medical intake questionnaire'. Output is a single .docx where specific fields are editable and the rest is locked. This skill is INDEPENDENT, not a scene layer

iOfficeAIgithub.com/iOfficeAIGitHub ↗
claude-codecodexApache-2.0
Install
npx skills add iOfficeAI/OfficeCLI --skill officecli-word-form --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 45 KB
Bundled scripts: none
Path: skills/officecli-word-form/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 25,311
Language: C#
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# OfficeCLI Word-Form Skill **This skill is INDEPENDENT, not a scene layer on docx.** A form's payload — `<w:sdt>` controls, `<w:ffData>` legacy fields, `<w:fldChar>` mail-merge, `documentProtection` — is a distinct element class from docx's paragraph/heading/style primitives. Its QA is different too: docx's Delivery Gate cares about visual layout and live PAGE fields, this skill's cares about data plumbing (protection enforced / alias+tag / items injected / name ≤ 20 / no underscore anti-pattern). **Reverse handoff:** if the user's document has no fillable fields (report, letter, memo, thesis, proposal), route to `officecli-docx` or a docx scene skill — don't use this one. ## BEFORE YOU START (CRITICAL) **If `officecli` is not installed:** `macOS / Linux` ```bash if ! command -v officecli >/dev/null 2>&1; then curl -fsSL https://d.officecli.ai/install.sh | bash fi ``` `Windows (PowerShell)` ```powershell if (-not (Get-Command officecli -ErrorAction SilentlyContinue)) { irm https://d.officecli.ai/install.ps1 | iex } ``` Verify: `officecli --version` If `officecli` is still not found after first install, open a new terminal and run the verify command again. If the install command ab

What's inside
Steps it walks through
  1. BEFORE YOU START (CRITICAL)
  2. Help-First Rule
  3. Mental Model & Inheritance
  4. Shell & Execution Discipline
  5. --after find: micro-playbook
  6. What makes a real form (identity)
  7. Requirements for Outputs (hard floor)
  8. Three Paths (core decision)
  9. Path A — Pure CLI (the default for almost everything)
  10. Path B — CLI + raw-set bridge (only an attribute help does NOT expose)
  11. Path C — Word template (only what no API reaches)
  12. Decision table
  13. Quick Start — Path A + FormField (minimal intake form)
  14. Path B — raw-set recipes
Commands it runs
if ! command -v officecli >/dev/null 2>&1; then
curl -fsSL https://d.officecli.ai/install.sh | bash
fi
officecli add "$FILE" /body --type sdt --after 'find:签字'
officecli add "$FILE" /body --type sdt --prop alias=Party_A_Name --prop tag=party_a \
officecli add "$FILE" "/body/p[@paraId='$PID_A']" --type sdt --prop alias=Party_A_Title --prop tag=party_a_title
dropdown WITH its options and a non-default date format, in one add each — no raw-set:
officecli add "$FILE" /body --type sdt \
lock works on add AND set:
officecli add "$FILE" /body --type sdt --prop type=text --prop tag=full_name \
More from OfficeCLI
All skills →
About this skill
What does the officecli-word-form skill do?

Use this skill to create fillable Word forms (.docx) with real Content Controls (SDT) + legacy FormField checkboxes + MERGEFIELD mail-merge placeholders + document protection. Trigger on: 'fillable form', 'form fields', 'content controls', 'SDT', 'word form', 'fill in', 'only editable fields', 'protect document', 'onboarding form', 'HR intake', 'survey template', 'contract / SOW template', 'mail-merge template', 'compliance checklist', 'medical intake questionnaire'. Output is a single .docx where specific fields are editable and the rest is locked. This skill is INDEPENDENT, not a scene layer

How do I install it?

Run `npx skills add iOfficeAI/OfficeCLI --skill officecli-word-form --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From iOfficeAI/OfficeCLI, a repository with 25,311 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going