Fareon Docs Skill
Overview
This skill creates properly branded Fareon Word documents by opening Fareon's own template files and writing content into them using python-docx. This approach preserves the header wordmark, footer page numbering, defined named styles, and theme — no style reconstruction needed.
Four templates ship with this skill, chosen to match the type of document:
| Template | Use for |
|---|---|
Fareon blank template.docx |
General-purpose docs, internal memos, quick writeups |
Fareon Letterhead Template 2026.docx |
External correspondence, formal letters |
Fareon Memo Template.dotx |
Structured memos with Title/Author/Date header table |
Fareon Regulatory Strategy.docx |
Long-form regulatory / clinical / scientific reports |
For brand colors, typography, voice conventions, and logo usage, read references/brand-system.md.
Decision: which template to pick
- Letter or external correspondence →
Fareon Letterhead Template 2026.docx - Internal memo, structured header wanted →
Fareon Memo Template.dotx - Regulatory / clinical / scientific / strategy doc with sections →
Fareon Regulatory Strategy.docx - Anything else →
Fareon blank template.docx
If the user is ambiguous, default to the blank template and ask.
Quick Start (python-docx)
pip install python-docx --break-system-packages
from docx import Document
SKILL_ASSETS = "<skill-path>/assets/templates"
TEMPLATE = f"{SKILL_ASSETS}/Fareon blank template.docx"
doc = Document(TEMPLATE)
# The template ships with sample content — clear the body first
# (header/footer live on the section, so this is safe)
for p in list(doc.paragraphs):
p._element.getparent().remove(p._element)
# Title (once, at top)
doc.add_paragraph("Regulatory strategy for XYZ indication", style="Title")
# Headings — Heading 1 for top sections, Heading 2 for sub-sections
doc.add_paragraph("Executive summary", style="Heading 1")
doc.add_paragraph(
"This document summarizes the proposed regulatory pathway…",
style="Normal",
)
doc.add_paragraph("Timeline", style="Heading 2")
# Bulleted lists — use "List Paragraph" for standard bullets (indented, bullet marker).
# This is the default bullet style for Fareon docs.
# Do NOT use "Bulleted Heading 1" / "Bulleted Heading 2" for ordinary bullet lists —
# those styles are bold heading-style bullets, not standard list items.
doc.add_paragraph("Phase 1 starts Q1 2026 with regulatory submission.", style="List Paragraph")
doc.add_paragraph("Phase 2 begins Q3 2026 with pivotal trial enrollment.", style="List Paragraph")
doc.add_paragraph("Phase 3 closes out by Q4 2028.", style="List Paragraph")
doc.save("output.docx")
Because the template already defines the named styles (Title, Heading 1, Heading 2, Heading 3, Normal, List Paragraph), you almost never need to set fonts/colors/sizes manually. Just use the styles.
Style choice cheat sheet
| Content type | Use this style |
|---|---|
| Document title (once at top) | Title |
| Top-level section headers | Heading 1 |
| Sub-section headers (e.g. "Recommendation", "Math", inside a top-level section) | Heading 2 |
| Sub-sub-sections | Heading 3 |
| Body paragraphs | Normal |
| Standard bulleted list (default for any bullets) | List Paragraph |
| Outlined bullet with bold heading-style marker (rare) | Bulleted Heading 1 / Bulleted Heading 2 — only when explicitly requested |
Template structure (reference)
Page setup (all templates)
- Page size: US Letter (8.5" × 11"), portrait
- Margins: 1" left / right / bottom, 1.15" top (to clear the header wordmark)
- Section headers contain the embedded Fareon wordmark (PNG)
- Section footers contain right-aligned page numbering (9pt)
Named styles (canonical across templates)
| Style | Font | Size | Color | Notes |
|---|---|---|---|---|
Title |
DIN Next LT Pro | 14pt | Oxford Blue (default) | Used once at top of doc |
Heading 1 |
DIN Next LT Pro | 12pt bold | Oxford Blue | Major sections |
Heading 2 |
DIN Next LT Pro | 11pt bold | Humanity Blue #283891 |
Subsections |
Heading 3 |
DIN Next LT Pro | 10pt bold | #1F4D78 |
Sub-subsections |
Normal |
DIN Next LT Pro | 11pt | Oxford Blue #031D44 |
Body text |
List Paragraph |
DIN Next LT Pro | 11pt | Oxford Blue | Default bulleted list style — standard indented bullets |
Bulleted Heading 1 / Bulleted Heading 2 |
DIN Next LT Pro | 11pt | Oxford Blue | Bold heading-style bullets — use only when explicitly requested, not for ordinary lists |
(Document body uses DIN Next LT Pro per the template's current standard. Rethink Sans is also an acceptable brand-system body font — see references/brand-system.md.)
Memo template specifics
The .dotx memo template ships with a table-based header containing:
- Left cell: Fareon wordmark (logo)
- Right cells:
Memo: <Title>,Author, and a date field (DD MMM YYYY)
When using this template, locate the header table and write into those three cells — don't restructure the table:
doc = Document(".../Fareon Memo Template.dotx")
# Templates opened via python-docx save as .docx automatically
hdr = doc.sections[0].header
hdr_table = hdr.tables[0]
# Inspect hdr_table.rows to find the right cells, then set their text
Working with the header logo
Do not replace the header image. The Fareon wordmark is embedded in each template's section header. If you want a different logo variant (Mint on dark, White on dark, etc.), copy one of the variants from ../logos/Fareon Brand Identity/1. Fareon Logo/Logotype/PNG/ into the header via python-docx's image replacement APIs — but this is almost never needed for standard internal docs.
If a logo replacement is genuinely needed, the variants available are:
| Variant | PNG file |
|---|---|
| Oxford (default, for light backgrounds) | HMN003_Fareon Logotype (Oxford)_r1a.png |
| White (for dark backgrounds) | HMN003_Fareon Logotype (White)_r1a.png |
| Mint (accent on dark) | HMN003_Fareon Logotype (Mint)_r1a.png |
| Aluminum (subdued) | HMN003_Fareon Logotype (Aluminum)_r1a.png |
Brand & style rules
(Full brand system in references/brand-system.md.)
- Use named styles, not direct formatting. The template's styles already encode Fareon branding. Don't override fonts/sizes/colors unless you have a specific reason.
- Default bullet style is
List Paragraphfor ordinary bullet lists. ReserveBulleted Heading 1/2for outlined bullet sections with bold heading-style markers — and only when explicitly requested. - Leave the header and footer alone. The wordmark and page numbers are already configured.
- Lead with impact. "cognitive impairment due to Long COVID" — not "Long COVID cognitive impairment."
- Use commas, not em dashes, for parenthetical asides.
- Positioning: "biophysics" not "bioelectric"; "neuroimmune modulation" not "neuromodulation."
- File names use spaces, not underscores.
- Stay in scope. Answer the question that was asked. Do not append extra sections that weren't requested (e.g. "bottom-line tie-out" or "open items" sections in a memo whose stated purpose was narrower). If the user asks for a discrepancy memo, write a discrepancy memo — not a status update on the broader project.
Editing the template's XML directly (advanced)
For anything python-docx can't express (tracked-changes-aware inserts, complex table modifications, custom content controls), unpack the .docx and edit XML:
cp "$TEMPLATE" ./working.docx
python /mnt/skills/public/docx/scripts/office/unpack.py working.docx unpacked/
# edit word/document.xml, word/header*.xml, word/styles.xml, etc.
python /mnt/skills/public/docx/scripts/office/pack.py unpacked/ output.docx --original working.docx
QA
After generating the document:
python /mnt/skills/public/docx/scripts/office/validate.py output.docx
python /mnt/skills/public/docx/scripts/office/soffice.py --headless --convert-to pdf output.docx
pdftoppm -jpeg -r 150 output.pdf page
ls -1 page-*.jpg
Check that:
- Every page shows the Fareon wordmark in the header
- Page numbering appears in the footer
- Headings use the expected named style (look for Oxford/Humanity Blue coloration)
- Body text is DIN Next LT Pro (may substitute to a fallback in LibreOffice preview — will render correctly in Word on any machine with DIN Next LT Pro installed; font ships at
logos/Fareon Brand Identity/3. Fareon Brand Typefaces/DIN Next LT Pro/) - No orphaned placeholder text from the template (like "Memo: Title" or "Author") remains