Document Polisher
Transform any document into a polished, professionally-styled masterpiece using world-class brand aesthetics.
Overview
This skill applies premium brand styling from 10 carefully curated brands to DOCX documents. Each brand has been analyzed for its typography, color palette, and design principles to create authentic-looking documents.
Brand Selection Menu
When a user wants to polish a document, ALWAYS present this selection menu:
╔══════════════════════════════════════════════════════════════════════════╗ ║ DOCUMENT POLISHER ║ ║ Select Your Brand Style ║ ╠══════════════════════════════════════════════════════════════════════════╣ ║ ║ ║ EDITORIAL ║ ║ ───────── ║ ║ 1. The Economist │ Deep navy + serif typography ║ ║ │ Best for: Reports, analysis, thought leadership ║ ║ ║ ║ CONSULTING ║ ║ ────────── ║ ║ 2. McKinsey │ Sharp corners + bold blue accents ║ ║ │ Best for: Strategy decks, executive summaries ║ ║ ║ ║ 3. Deloitte │ Teal-blue + pill-shaped elements ║ ║ │ Best for: Audits, assessments, formal reports ║ ║ ║ ║ 4. KPMG │ Two-tone blue + condensed headings ║ ║ │ Best for: Financial reports, compliance docs ║ ║ ║ ║ TECH ║ ║ ──── ║ ║ 5. Stripe │ Dark blue + purple gradients ║ ║ │ Best for: API docs, developer guides, specs ║ ║ ║ ║ 6. Apple │ Minimalist + generous whitespace ║ ║ │ Best for: Product docs, user guides ║ ║ ║ ║ 7. IBM │ Plex typography + Carbon design ║ ║ │ Best for: Technical docs, enterprise reports ║ ║ ║ ║ 8. Linear │ Modern purple + precise typography ║ ║ │ Best for: Product specs, changelogs, dev docs ║ ║ ║ ║ PRODUCTIVITY ║ ║ ──────────── ║ ║ 9. Notion │ Clean blue + subtle accents ║ ║ │ Best for: Wikis, project plans, documentation ║ ║ ║ ║ DESIGN ║ ║ ────────── ║ ║ 10. Figma │ Vibrant multi-color palette ║ ║ │ Best for: Creative briefs, design docs, brands ║ ║ ║ ╚══════════════════════════════════════════════════════════════════════════╝
Workflow
Step 1: Ask the User
When a user wants to polish a document:
-
Display the brand selection menu above
-
Ask: "Which brand style would you like to apply? You can also tell me the purpose of your document and I'll recommend a style."
Step 2: Apply the Styling
IMPORTANT: Always use the Python script with python-docx. Never use direct XML/OOXML manipulation as it can corrupt documents.
Primary Method: Python Script (REQUIRED)
The script uses python-docx to safely recreate documents with brand styling. It:
-
Reads the source document
-
Creates a new document with brand styles applied
-
Copies all content with proper formatting
-
Preserves bold, italic, lists, and structure
Ensure python-docx is installed in the environment
pip install python-docx
Apply brand styling
python scripts/apply_brand.py <input.docx> <brand_name> <output.docx>
Examples:
python scripts/apply_brand.py report.docx economist polished_report.docx python scripts/apply_brand.py proposal.docx mckinsey styled_proposal.docx python scripts/apply_brand.py guide.docx stripe tech_guide.docx
Available Brand Names:
-
economist
-
The Economist (editorial, serif)
-
mckinsey
-
McKinsey & Company (consulting, sharp)
-
deloitte
-
Deloitte (consulting, teal)
-
kpmg
-
KPMG (consulting, bold blue)
-
stripe
-
Stripe (tech, dark blue/purple)
-
apple
-
Apple (tech, minimalist)
-
ibm
-
IBM (tech, enterprise)
-
notion
-
Notion (productivity, clean)
-
linear
-
Linear (tech, modern purple)
-
figma
-
Figma (design, colorful)
What the Script Does
-
Loads brand configuration from templates/brand-mapping.json
-
Creates a fresh document (avoids corruption from XML editing)
-
Applies document-level styles:
-
Normal text style (font, size, color)
-
Heading 1, 2, 3 styles (font, size, color, spacing)
-
Title style
-
Page margins
-
Copies content with formatting:
-
Preserves headings at correct levels
-
Maintains bullet and numbered lists
-
Keeps bold, italic, underline formatting
-
Preserves paragraph alignment
-
Copies tables with styling
-
Saves as new file (never overwrites original)
Brand Reference Files
Detailed brand guidelines are stored in the brands/ directory:
Brand Reference File Key Elements
The Economist brands/economist.md
Georgia serif, #1F2E7A navy, minimal borders
McKinsey brands/mckinsey.md
Helvetica Neue, #051C2C dark, sharp corners
Deloitte brands/deloitte.md
Open Sans, #007CB0 teal, rounded elements
KPMG brands/kpmg.md
Open Sans, #1E49E2 blue
Stripe brands/stripe.md
Helvetica Neue, #0A2540 + #9966FF purple
Apple brands/apple.md
Helvetica Neue, #0071E3 blue, minimal
IBM brands/ibm.md
Arial, #0F62FE blue, sharp corners
Notion brands/notion.md
Arial, #0075DE blue, block-based
Linear brands/linear.md
Arial, #5E6AD2 purple, modern
Figma brands/figma.md
Arial, multi-color palette
Style Mapping
The templates/brand-mapping.json file contains structured data for programmatic styling:
{ "brands": { "economist": { "name": "The Economist", "colors": { "primary": "#1F2E7A", "accent": "#E3120B", "textPrimary": "#0D0D0D" }, "typography": { "headingFont": "Georgia", "bodyFont": "Georgia" }, "styles": { "h1": { "size": 28, "color": "#1F2E7A", "bold": true }, "h2": { "size": 22, "color": "#1F2E7A", "bold": true }, "body": { "size": 11, "color": "#0D0D0D" } } } } }
Examples
Example 1: Polish a Report with McKinsey Style
User: "Make my quarterly report look more professional"
-
Show brand menu
-
User selects "McKinsey"
-
Apply styling:
cd /path/to/project source venv/bin/activate # if using virtual environment python .claude/skills/document-polisher/scripts/apply_brand.py quarterly_report.docx mckinsey polished_quarterly_report.docx
Example 2: Apply Economist Style to a Guide
User: "Style this guide like The Economist"
python .claude/skills/document-polisher/scripts/apply_brand.py guide.docx economist guide_economist.docx
Example 3: Tech Documentation with Stripe Style
User: "Make this API doc look like Stripe's documentation"
python .claude/skills/document-polisher/scripts/apply_brand.py api_doc.docx stripe api_doc_stripe.docx
Dependencies
-
Python 3.x
-
python-docx: pip install python-docx
The script will check for python-docx and provide installation instructions if missing.
Tips for Best Results
-
Match brand to content: Use consulting brands for business docs, tech brands for technical content
-
Consider your audience: Economist for academics, Stripe for developers, Apple for consumers
-
Don't over-brand: The goal is professional polish, not exact brand copying
-
Test with PDF export: Some styling looks different in PDF vs Word
-
Use virtual environment: Keeps dependencies isolated
Troubleshooting
"Module not found: docx"
pip install python-docx
Document looks wrong
-
Ensure the source document uses standard Word styles (Heading 1, 2, 3, Normal)
-
Check that lists use built-in List Bullet/List Number styles
Script path issues
Always run from the project root or use absolute paths:
python /full/path/to/.claude/skills/document-polisher/scripts/apply_brand.py input.docx brand output.docx
Adding New Brands
To add a new brand:
-
Use FireCrawl to extract branding: mcp__firecrawl__firecrawl_extract_branding
-
Create a new file in brands/<brand_name>.md
-
Add entry to templates/brand-mapping.json with:
-
name , description , category
-
colors : primary, accent, background, textPrimary, textSecondary
-
typography : headingFont, bodyFont
-
styles : h1, h2, h3, body with size, color, bold
-
Test with sample documents