CtrlK
BlogDocsLog inGet started
Tessl Logo

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 on docx — payload is `<w:sdt>` + `<w:ffData>` + `<w:fldChar>` + `documentProtection`, none of which docx base skill covers. Do NOT trigger for regular reports, letters, memos, academic papers, pitch decks, or any document with no user-fillable fields — route those to officecli-docx or its scene layers.

72

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

77%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A highly actionable, well-sequenced skill with executable recipes and an unusually strong validation culture (Delivery Gates, known-issue workarounds). Its weaknesses are token efficiency — the same trap knowledge is restated several times — and the total absence of progressive disclosure: 45KB of reference-grade material is inlined in a single SKILL.md with no bundle files.

Suggestions

Split reference-grade material out of SKILL.md into bundle files: move the 19-row Known Issues table to references/known-issues.md, the Path B raw-set recipes and XML fragments to references/raw-set.md, and the MERGEFIELD pattern table to references/fields.md, leaving a one-line summary plus pointer per topic in the body.

Deduplicate the protection=forms semantics — currently stated in the Mental Model, the 'protection=forms is the LAST structural command' section, the Protection modes KEY, and the lock×protection interaction section — into one canonical section and cross-reference it elsewhere.

Move the inline Python XML-extraction snippet (block-level lock recipe) into scripts/ (e.g. scripts/extract_paragraph.py), invoking it with one line instead of a 10-line heredoc.

DimensionReasoningScore

Conciseness

The body is dense with genuinely non-obvious CLI knowledge (shell-escape layers, K1–K19 issues, batch traps), but the same facts are repeated: protection=forms semantics are restated in the Mental Model, the "LAST structural command" section, the Protection modes KEY, and the lock×protection interaction table; the checkbox-is-formfield-not-SDT rule appears ~5 times; the file is 45KB. Matches "mostly efficient but includes some unnecessary explanation or could be tightened"; not 4 because the repetition is substantial, not minor trimmings.

3 / 5

Actionability

Fully copy-paste-ready: exact bash commands, xpaths, namespace-carrying XML fragments, readback expectations ("expect: type=dropdown items=Engineering,Finance,HR"), decision tables per need, and a six-gate executable Delivery Gate script covering validation, leak detection, field inventory, and protection checks. Matches the fully-executable anchor with common cases covered.

5 / 5

Workflow Clarity

An explicit build order ("create+open → metadata → structure → … per-field lock → protection=forms LAST → close") plus the Delivery Gate section gives explicit validation steps with REJECT/exit-1 feedback loops and symptom→fix tables for raw-set failures and WARNING: UNSUPPORTED. Matches the clear-sequence-with-feedback-loops anchor.

5 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are all absent), so all 45KB lives inline in SKILL.md: a 19-row Known Issues table, three Path B raw-set recipes, MERGEFIELD pattern tables, and an inline Python XML-extraction snippet — reference material that belongs in separate files. Section headers, decision tables, and a Quick Start keep it navigable, matching "some structure but … content that should be separate is inline"; not 2 because structure and navigation are far better than the header-less inlined-API-reference example, not 4 because the monolithic 45KB single file is the core anti-pattern this dimension exists to catch.

3 / 5

Total

16

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: concrete capabilities across all four form payload layers, an explicit positive trigger list with natural user phrases and use-case terms, negative triggers, and explicit disambiguation from the sibling docx skill. Every dimension sits at its top anchor.

DimensionReasoningScore

Specificity

Names multiple specific concrete actions — "create fillable Word forms (.docx) with real Content Controls (SDT) + legacy FormField checkboxes + MERGEFIELD mail-merge placeholders + document protection" — covering every payload layer plus output behavior ("specific fields are editable and the rest is locked"). Matches the comprehensive-coverage anchor; a 4 would require a visible coverage gap, and none exists.

5 / 5

Completeness

Explicitly answers what (create forms with SDT, FormField checkboxes, MERGEFIELD placeholders, protection) and when — both a positive trigger list ("Trigger on: …") and negative triggers ("Do NOT trigger for regular reports, letters, memos, academic papers, pitch decks"). Matches the both-what-and-when-with-concrete-triggers anchor; a 4 would mean the when-clause were weaker than the explicit enumerated triggers given here.

5 / 5

Trigger Term Quality

"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'" — natural user phrasings, synonyms, concrete use cases, and the .docx extension. Matches the comprehensive anchor including synonyms and file extensions; not 4 because no common variation is missing.

5 / 5

Distinctiveness Conflict Risk

"This skill is INDEPENDENT, not a scene layer on docx — payload is <w:sdt> + <w:ffData> + <w:fldChar> + documentProtection, none of which docx base skill covers" plus explicit reverse routing ("route those to officecli-docx or its scene layers") gives a clear niche with minimal conflict risk. Not 4: overlap with the sibling docx skill is not just minor-acknowledged but actively pre-empted by negative triggers.

5 / 5

Total

20

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (677 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository
iOfficeAI/OfficeCLI
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.