fill-protocol
Installation
SKILL.md
Fill-Protocol Skill
Core Principles (Do Not Violate)
- Open the existing template — never create from scratch. Use
Document(template_path), notDocument(): rebuilding loses the header logo, custom margins, footer placeholders and page numbering. Replace cell/paragraph text in place; never a singlecell.text = "value"assignment, which erases run-level styles (bold, color, eastAsia font). - Convert .doc → .docx via LibreOffice headless before any editing.
pandoc -f docis not supported;textutilcorrupts table structure (merged cells dropped). - Match cells by left-label text, not row/column coordinates such as
table.cell(2, 1). Templates evolve and coordinate matching breaks silently. - Apply
cantSplitto every filled row so a row never breaks across pages. - For CJK languages, set the
eastAsiafont attribute, not justrun.font.name, or Hangul/Kanji/Hanzi render in fallback fonts. - Validate every fill operation: resolve every
[MISS]line and everyWARN:line ([TABLE-MISS],[SECTION-MISS],[RAW-NEWLINE]) before the filled form is submitted.