
Document Polisher
- 57 installs
- 12 repo stars
- Updated December 3, 2025
- promptadvisers/claude-code-polished-documents-skills
Apply a structured brand guide (colors, typography, buttons, spacing) when polishing DOCX and other deliverables so investor decks and specs look consistently professional.
About
Document-polisher is an agent skill that encodes an Apple-inspired brand guide—color roles, typography stacks, component treatments, spacing, and asset references—so your coding agent can restyle documents with the same discipline a design team would expect. Solo and indie builders shipping pitch decks, one-pagers, or customer-facing PDFs/DOCX often lack a designer on retainer; this skill turns brand tokens and layout rules into repeatable instructions the agent follows while editing files. Use it when a draft reads fine but looks off-brand, when you need consistent headings and link colors across a doc set, or when you want pill buttons and display typography called out explicitly instead of vague “make it prettier” requests. It pairs well with other polished-document skills in the same repo for end-to-end document workflows. Complexity is beginner-friendly because the taxonomy is tabular and copy-pasteable into agent edits.
- Maps primary, accent, background, and link colors with hex roles and preview labels
- Defines SF Pro Text/Display stacks with Helvetica/Arial fallbacks for body and headings
- Documents H1/H2/body size scale and pill-shaped primary/secondary button specs
- Includes spacing base unit (4px), content radius (5px), and DOCX application guidelines
- Anchors polish to a full brand personality and target-audience narrative, not ad-hoc formatting
Document Polisher by the numbers
- 57 all-time installs (skills.sh)
- +4 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #362 of 688 Office & Documents skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/promptadvisers/claude-code-polished-documents-skills --skill document-polisherAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 57 |
|---|---|
| repo stars | ★ 12 |
| Security audit | 3 / 3 scanners passed |
| Last updated | December 3, 2025 |
| Repository | promptadvisers/claude-code-polished-documents-skills ↗ |
What it does
Apply a structured brand guide (colors, typography, buttons, spacing) when polishing DOCX and other deliverables so investor decks and specs look consistently professional.
Files
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: 1. Display the brand selection menu above 2. 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.docxAvailable 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
1. Loads brand configuration from templates/brand-mapping.json 2. Creates a fresh document (avoids corruption from XML editing) 3. Applies document-level styles:
- Normal text style (font, size, color)
- Heading 1, 2, 3 styles (font, size, color, spacing)
- Title style
- Page margins
4. 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
5. 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"
1. Show brand menu 2. User selects "McKinsey" 3. 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.docxExample 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.docxExample 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.docxDependencies
- 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
1. Match brand to content: Use consulting brands for business docs, tech brands for technical content 2. Consider your audience: Economist for academics, Stripe for developers, Apple for consumers 3. Don't over-brand: The goal is professional polish, not exact brand copying 4. Test with PDF export: Some styling looks different in PDF vs Word 5. Use virtual environment: Keeps dependencies isolated
Troubleshooting
"Module not found: docx"
pip install python-docxDocument 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.docxAdding New Brands
To add a new brand: 1. Use FireCrawl to extract branding: mcp__firecrawl__firecrawl_extract_branding 2. Create a new file in brands/<brand_name>.md 3. Add entry to templates/brand-mapping.json with:
name,description,categorycolors: primary, accent, background, textPrimary, textSecondarytypography: headingFont, bodyFontstyles: h1, h2, h3, body with size, color, bold
4. Test with sample documents
Apple Brand Guide
Overview
- URL: https://www.apple.com
- Color Scheme: Light
- Personality: Modern, high energy
- Target Audience: Tech-savvy consumers and professionals
Colors
| Role | Hex Code | Preview |
|---|---|---|
| Primary | #0071E3 | Apple Blue |
| Accent | #0066CC | Link Blue |
| Background | #999999 | Gray (varies) |
| Text Primary | #999999 | Gray |
| Link | #0066CC | Blue |
Typography
Font Families
- Primary: SF Pro Text
- Heading: SF Pro Display
- Fallbacks: Helvetica Neue, Helvetica, Arial
Font Stacks
/* Body text */
font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif;
/* Display/Headings */
font-family: "SF Pro Display", "SF Pro Icons", "Helvetica Neue", Helvetica, Arial, sans-serif;Font Sizes
- H1: 34px
- H2: 12px
- Body: 28px (large, display-focused)
Components
Primary Button
- Background:
#0071E3 - Text:
#FFFFFF - Border Radius: 980px (pill shape)
- Shadow: none
Secondary Button
- Background:
#F5F5F7 - Text:
#0066CC - Border:
#0066CC - Border Radius: 980px
Spacing
- Base Unit: 4px
- Border Radius: 5px (content), 980px (buttons - pill)
Brand Assets
- Logo: Apple logo (iconic apple silhouette)
- OG Image: apple.com/ac/structured-data/images/open_graph_logo.png
Document Application Guidelines
For DOCX Files
1. Headings: SF Pro Display (or Helvetica Neue), clean and large 2. Body Text: SF Pro Text, generous sizing, gray text on white 3. Accent Elements: Apple Blue (#0071E3) for links and CTAs 4. Buttons: Pill-shaped, blue or light gray
Signature Elements
- Minimalist design with abundant whitespace
- SF Pro font family (San Francisco)
- Pill-shaped buttons and badges
- Premium, clean aesthetic
- Product-focused imagery
- Subtle gray text for secondary content
Deloitte Brand Guide
Overview
- URL: https://www.deloitte.com
- Color Scheme: Light
- Personality: Professional, medium energy
- Target Audience: Business professionals and corporate clients
Colors
| Role | Hex Code | Preview |
|---|---|---|
| Primary | #007CB0 | Deloitte Blue |
| Accent | #0076A8 | Teal Blue |
| Background | #000000 | Black (for headers) |
| Text Primary | #000000 | Black |
| Link | #0076A8 | Teal Blue |
Typography
Font Families
- Primary: Open Sans
- Heading: Open Sans
- Fallbacks: Calibri, Helvetica
Font Stacks
/* All text */
font-family: "Open Sans", Calibri, Helvetica, sans-serif;Font Sizes
- H1: 40px
- H2: 24px
- Body: 16px
Components
Primary Button
- Background:
#1076A8 - Text:
#FFFFFF - Border:
#1076A8 - Border Radius: 100px (pill shape)
- Shadow: none
Secondary Button
- Background:
#FFFFFF - Text:
#1076A8 - Border:
#1076A8 - Border Radius: 100px
Spacing
- Base Unit: 4px
- Border Radius: 8px (content), 100px (buttons)
Brand Assets
- Logo: deloitte.com/content/dam/assets-shared/logos/svg/a-d/deloitte.svg
- Favicon: deloitte.com/content/dam/assets-shared/icons/us/favicon.ico
Document Application Guidelines
For DOCX Files
1. Headings: Open Sans, bold, varying sizes (40px H1, 24px H2) 2. Body Text: Open Sans Regular, 16px, black text 3. Accent Elements: Deloitte Blue/Teal (#007CB0, #0076A8) for highlights 4. Buttons/CTAs: Pill-shaped elements with blue fill
Signature Elements
- Green-teal color palette (Deloitte green often used alongside blue)
- Open Sans typography throughout
- Pill-shaped buttons and badges
- Clean, modern professional aesthetic
- Good use of white space
The Economist Brand Guide
Overview
- URL: https://www.economist.com
- Color Scheme: Light
- Personality: Professional, medium energy
- Target Audience: Educated adults interested in global news and analysis
Colors
| Role | Hex Code | Preview |
|---|---|---|
| Primary | #1F2E7A | Deep navy blue |
| Accent | #0000EE | Classic link blue |
| Background | #FFFFFF | White |
| Text Primary | #0D0D0D | Near black |
| Link | #0000EE | Blue |
Typography
Font Families
- Primary: EconomistSans
- Heading: EconomistSans
- Body/Serif: EconomistSerif
Font Stacks
/* Headings */
font-family: EconomistSerif, ui-serif, Georgia, Times, "Times New Roman", serif;
/* Body */
font-family: EconomistSerif, ui-serif, Georgia, Times, "Times New Roman", serif;Font Sizes
- H1: 17px
- H2: 15px
- Body: 15px
Components
Primary Button
- Background:
#1F2E7A - Text:
#FFFFFF - Border Radius: 20px
- Shadow: none
Secondary Button
- Background:
#333333 - Text:
#FFFFFF - Border Radius: 4px
Spacing
- Base Unit: 4px
- Border Radius: 4px
Brand Assets
- Logo: Red "The Economist" wordmark
- Favicon: economist.com/favicon.ico
Document Application Guidelines
For DOCX Files
1. Headings: Use serif fonts (Georgia as fallback), deep navy (#1F2E7A) for H1 2. Body Text: Serif font, near-black (#0D0D0D), tight line spacing 3. Accent Elements: Use the deep navy for callout boxes and pull quotes 4. Tables: Minimal borders, clean typography
Signature Elements
- Red accent color for logos/headers (The Economist red)
- Serif typography throughout
- Dense, intelligent text layout
- Minimal decorative elements
Figma Brand Guide
Overview
- URL: https://www.figma.com
- Color Scheme: Light
- Personality: Modern, medium energy
- Target Audience: Designers and teams looking for collaborative design tools
Colors
| Role | Hex Code | Preview |
|---|---|---|
| Primary | #697485 | Figma Gray |
| Accent | #4D49FC | Figma Purple |
| Background | #FFFFFF | White |
| Text Primary | #000000 | Black |
| Link | #4D49FC | Purple |
Figma Logo Colors (Multi-color brand)
- Red:
#FF3737 - Orange:
#FF7237 - Purple:
#874FFF - Blue:
#00B6FF - Green:
#24CB71
Typography
Font Families
- Primary: Figma Sans (custom)
- Heading: Figma Sans
- Monospace: Figma Mono
- Fallbacks: SF Pro Display, system-ui, Helvetica
Font Stacks
/* All text */
font-family: figmaSans, "figmaSans Fallback", "SF Pro Display", system-ui, Helvetica, sans-serif;
/* Code */
font-family: "Figma Mono", "SF Mono", monospace;Font Sizes
- H1: 86px (extra large display)
- H2: 64px
- Body: 20px
Components
Primary Button
- Background:
#4D49FC - Text:
#FFFFFF - Border Radius: 8px
- Shadow: none
Secondary Button
- Background:
#FFFFFF - Text:
#000000 - Border Radius: 8px
- Shadow:
rgb(0, 0, 0) 0px 0px 0px 1px inset(outline style)
Spacing
- Base Unit: 4px
- Border Radius: 8px
Brand Assets
- Logo: Figma multi-color logo (4 shapes)
- Favicon: static.figma.com/app/icon/1/favicon.ico
Document Application Guidelines
For DOCX Files
1. Headings: Large display sizes (86px H1), clean sans-serif 2. Body Text: Sans-serif, 20px, black text 3. Accent Elements: Figma Purple (#4D49FC) for CTAs, or multi-color palette 4. Borders/Boxes: 8px border radius, outline-style buttons
Signature Elements
- Vibrant multi-color palette (red, orange, purple, blue, green)
- Extra-large typography for headings
- Clean, design-forward aesthetic
- Purple as primary accent
- Collaborative, creative energy
- Modern rounded corners
- Designer-focused visual language
IBM Brand Guide
Overview
- URL: https://www.ibm.com
- Color Scheme: Light
- Personality: Professional, medium energy
- Target Audience: Business professionals and enterprises
Colors
| Role | Hex Code | Preview |
|---|---|---|
| Primary | #0F62FE | IBM Blue |
| Accent | #0062FE | IBM Blue (variant) |
| Background | #FFFFFF | White |
| Text Primary | #161616 | Carbon Gray |
| Link | #0062FE | IBM Blue |
Typography
Font Families
- Primary: IBM Plex Sans
- Heading: IBM Plex Sans
- Fallbacks: Helvetica Neue, Arial
Font Stacks
/* All text */
font-family: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;Font Sizes
- H1: 60px (large display)
- H2: 60px
- Body: 20px
Components
Primary Button
- Background:
#0F62FE - Text:
#FFFFFF - Border Radius: 0px (sharp corners)
- Shadow: none
Secondary Button
- Background:
#FFFFFF - Text:
#161616 - Border Radius: 0px
Spacing
- Base Unit: 4px
- Border Radius: 4px
Brand Assets
- Logo: IBM 8-bar logo
- Favicon: ibm.com/content/dam/adobe-cms/default-images/icon-16x16.png
- OG Image: IBM logo blue
Document Application Guidelines
For DOCX Files
1. Headings: IBM Plex Sans, large (60px H1), Carbon gray (#161616) 2. Body Text: IBM Plex Sans, 20px, dark gray 3. Accent Elements: IBM Blue (#0F62FE) for CTAs, highlights 4. Borders/Boxes: Sharp corners (0px radius)
Signature Elements
- IBM Plex typeface (open source, highly legible)
- Sharp, rectangular design elements
- Strong IBM Blue accent
- Large, bold typography
- Carbon Design System principles
- Grid-based structured layouts
- Enterprise authority and trust
KPMG Brand Guide
Overview
- URL: https://www.kpmg.com
- Color Scheme: Light
- Personality: Professional, medium energy
- Target Audience: Business professionals and corporate clients
Colors
| Role | Hex Code | Preview |
|---|---|---|
| Primary | #0C233C | KPMG Dark Blue |
| Accent | #1E49E2 | KPMG Bright Blue |
| Background | #FFFFFF | White |
| Text Primary | #1E49E2 | Bright Blue |
| Link | #1E49E2 | Bright Blue |
Typography
Font Families
- Primary: Open Sans
- Heading: Open Sans Condensed Bold
- Body: Open Sans Regular
- Fallbacks: Arial, Times New Roman
Font Stacks
/* Headings */
font-family: "OpenSans_Condensed--Bold", sans-serif;
/* Body */
font-family: "OpenSans--Regular", sans-serif;Font Sizes
- H1: 48px
- H2: 48px
- Body: 16px
Components
Primary Button
- Background:
#1E49E2 - Text:
#FFFFFF - Border:
#FFFFFF - Border Radius: 32px (rounded)
- Shadow: none
Secondary Button
- Background:
#FFFFFF - Text:
#1E49E2 - Border:
#FFFFFF - Border Radius: 32px
Spacing
- Base Unit: 4px
- Border Radius: 32px (highly rounded)
Brand Assets
- Logo: KPMG blue wordmark
- Favicon: kpmg.com/etc.clientlibs/kpmg/clientlibs/clientlib-site/resources/images/favicons/favicon-32x32.png
Document Application Guidelines
For DOCX Files
1. Headings: Open Sans Condensed Bold, large (48px), dark blue (#0C233C) 2. Body Text: Open Sans Regular, 16px 3. Accent Elements: Bright blue (#1E49E2) for highlights, links, CTAs 4. Buttons/Badges: Highly rounded corners (32px radius)
Signature Elements
- Two-tone blue palette (dark navy + bright blue)
- Condensed bold headings for impact
- Rounded UI elements
- Clean corporate structure
- Bold, authoritative typography
Linear Brand Guide
Overview
- URL: https://linear.app
- Color Scheme: Dark
- Personality: Modern, medium energy
- Target Audience: Tech-savvy professionals and developers
Colors
| Role | Hex Code | Preview |
|---|---|---|
| Primary | #5E6AD2 | Linear Purple |
| Accent | #A1A7C1 | Muted lavender |
| Background | #08090A | Near black |
| Text Primary | #F7F8F8 | Off-white |
| Link | #A1A7C1 | Muted lavender |
Typography
Font Families
- Primary: Inter
- Heading: Inter
- Fallbacks: SF Pro Display, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto
Font Stacks
/* All text */
font-family: Inter, "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;Font Sizes
- H1: 64px
- H2: 56px
- Body: 17px
Components
Primary Button
- Background:
#E6E6E6 - Text:
#08090A - Border:
#E6E6E6 - Border Radius: 10px
- Shadow: subtle multi-layer shadow
Secondary Button
- Background:
#28282C - Text:
#F7F8F8 - Border:
#3E3E44 - Border Radius: 10px
- Shadow: none
Spacing
- Base Unit: 4px
- Border Radius: 8px (content), 10px (buttons)
Brand Assets
- Logo: Linear wordmark with icon
- Favicon: linear.app/favicon.ico
- OG Image: Linear homepage preview
Document Application Guidelines
For DOCX Files
1. Headings: Inter font, large (64px H1), off-white on dark or dark on light 2. Body Text: Inter, 17px, clean and precise 3. Accent Elements: Linear Purple (#5E6AD2), muted lavender accents 4. Backgrounds: Near-black (#08090A) for dark mode, white for light mode
Signature Elements
- Dark mode aesthetic (primary)
- Purple accent color
- Inter typeface throughout
- Precise, pixel-perfect design
- Subtle shadows on buttons
- Developer/product-focused
- Ultra-modern SaaS aesthetic
- Gradient-capable purple palette
McKinsey & Company Brand Guide
Overview
- URL: https://www.mckinsey.com
- Color Scheme: Light
- Personality: Professional, medium energy
- Target Audience: Business professionals and corporate clients
Colors
| Role | Hex Code | Preview |
|---|---|---|
| Primary | #2251FF | McKinsey Blue |
| Accent | #2251FF | McKinsey Blue |
| Background | #FFFFFF | White |
| Text Primary | #051C2C | Dark navy |
| Link | #051C2C | Dark navy |
Typography
Font Families
- Primary: McKinsey Sans
- Heading: McKinsey Sans
- Fallbacks: Helvetica Neue, Calibri, Corbel
Font Stacks
/* All text */
font-family: "McKinsey Sans", "Helvetica Neue", Calibri, Corbel, Helvetica, Roboto, Droid, sans-serif;Font Sizes
- H1: 16px (compact)
- H2: 44px (large display)
- Body: 16px
Components
Primary Button
- Background:
#2251FF - Text:
#FFFFFF - Border Radius: 0px (sharp corners)
- Shadow: none
Secondary Button
- Background:
#FFFFFF - Text:
#000000 - Border Radius: 0px
Spacing
- Base Unit: 4px
- Border Radius: 0px (sharp, corporate aesthetic)
Brand Assets
- Favicon: mckinsey.com/favicon.ico
Document Application Guidelines
For DOCX Files
1. Headings: Clean sans-serif (Helvetica Neue), dark navy (#051C2C) 2. Body Text: Sans-serif, 16px equivalent, dark navy text 3. Accent Elements: McKinsey Blue (#2251FF) for highlights, CTAs 4. Borders/Boxes: Sharp corners (0px radius), clean lines
Signature Elements
- Sharp, rectangular design elements (no rounded corners)
- Strong contrast between dark navy text and white backgrounds
- Bold blue accent color used sparingly
- Clean, structured grid-based layouts
- Premium consulting aesthetic
Notion Brand Guide
Overview
- URL: https://www.notion.so
- Color Scheme: Light
- Personality: Modern, medium energy
- Target Audience: Professionals and teams looking for productivity tools
Colors
| Role | Hex Code | Preview |
|---|---|---|
| Primary | #0075DE | Notion Blue |
| Accent | #E6F3FE | Light Blue |
| Background | #FFFFFF | White |
| Text Primary | #191918 | Near Black |
| Link | #E6F3FE | Light Blue |
Typography
Font Families
- Primary: Inter
- Heading: Inter
- Fallbacks: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica
Font Stacks
/* All text */
font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif;Font Sizes
- H1: 64px (large display)
- H2: 14px
- Body: 14px
Components
Primary Button
- Background:
#0075DE - Text:
#FFFFFF - Border Radius: 8px
- Shadow: none
Secondary Button
- Background:
#E6F3FE - Text:
#005BAB - Border Radius: 8px
- Shadow: none
Spacing
- Base Unit: 4px
- Border Radius: 5px (content), 8px (buttons)
Brand Assets
- Logo: Notion "N" icon + wordmark
- Favicon: notion.com/front-static/favicon.ico
- OG Image: Notion workspace preview
Document Application Guidelines
For DOCX Files
1. Headings: Inter font, large display sizes, near-black (#191918) 2. Body Text: Inter, 14px, compact and readable 3. Accent Elements: Notion Blue (#0075DE), Light Blue backgrounds (#E6F3FE) 4. Borders/Boxes: Subtle rounded corners (5-8px)
Signature Elements
- Clean, minimal aesthetic
- Inter typeface (modern, highly readable)
- Blue and light blue color palette
- Generous whitespace
- Block-based content organization
- Productivity-focused design
- Subtle, non-distracting styling
Stripe Brand Guide
Overview
- URL: https://stripe.com
- Color Scheme: Light
- Personality: Professional, medium energy
- Target Audience: Businesses and developers looking for payment solutions
Colors
| Role | Hex Code | Preview |
|---|---|---|
| Primary | #0A2540 | Stripe Dark Blue |
| Accent | #9966FF | Stripe Purple |
| Background | #F6F9FC | Light gray-blue |
| Text Primary | #0A2540 | Dark Blue |
| Link | #0A2540 | Dark Blue |
Typography
Font Families
- Primary: Sohne Var (custom)
- Fallbacks: Helvetica Neue, Arial
Font Stacks
/* All text */
font-family: "sohne-var", "Helvetica Neue", Arial, sans-serif;Font Sizes
- H1: 32px
- H2: 13px
- Body: 16px
Components
Primary Button
- Background:
#FFFFFF - Text:
#000000 - Border Radius: 8px
- Shadow:
rgba(0, 0, 0, 0.1) 0px 4px 8px 0px
Spacing
- Base Unit: 4px
- Border Radius: 4px (content), 8px (buttons)
Brand Assets
- Logo: Stripe wordmark (purple gradient capable)
- Favicon: Stripe "S" icon
Document Application Guidelines
For DOCX Files
1. Headings: Clean sans-serif, dark blue (#0A2540) 2. Body Text: Sans-serif, 16px, dark blue text 3. Accent Elements: Purple (#9966FF) for highlights, gradients 4. Backgrounds: Subtle gray-blue (#F6F9FC) for sections 5. Shadows: Soft shadows for depth
Signature Elements
- Dark blue + purple gradient color scheme
- Subtle, sophisticated shadows
- Clean, developer-friendly typography
- Light gray-blue backgrounds
- Modern, tech-forward aesthetic
- Excellent use of whitespace
#!/usr/bin/env python3
"""
Document Polisher - Brand Style Application Tool
This script applies brand styling to DOCX documents using python-docx.
It reads the source document and creates a new styled version with the
selected brand's visual identity applied to all text and headings.
Usage:
python apply_brand.py <input.docx> <brand_name> <output.docx>
Example:
python apply_brand.py report.docx mckinsey polished_report.docx
Brands available:
economist, mckinsey, deloitte, kpmg, stripe, apple, ibm, notion, linear, figma
"""
import json
import sys
import os
from pathlib import Path
try:
from docx import Document
from docx.shared import Pt, RGBColor, Inches
from docx.enum.text import WD_ALIGN_PARAGRAPH, WD_BREAK
from docx.enum.style import WD_STYLE_TYPE
from docx.oxml.ns import qn
from docx.oxml import OxmlElement
except ImportError:
print("Error: python-docx is required. Install with: pip install python-docx")
sys.exit(1)
def hex_to_rgb(hex_color: str) -> RGBColor:
"""Convert hex color (#RRGGBB) to RGBColor."""
hex_color = hex_color.lstrip('#')
r = int(hex_color[0:2], 16)
g = int(hex_color[2:4], 16)
b = int(hex_color[4:6], 16)
return RGBColor(r, g, b)
def set_font_name(run, font_name: str):
"""Set font name properly including the XML element for full compatibility."""
run.font.name = font_name
# Set the eastAsia and other font attributes via XML for proper rendering
r = run._element
rPr = r.get_or_add_rPr()
rFonts = rPr.find(qn('w:rFonts'))
if rFonts is None:
rFonts = OxmlElement('w:rFonts')
rPr.insert(0, rFonts)
rFonts.set(qn('w:ascii'), font_name)
rFonts.set(qn('w:hAnsi'), font_name)
rFonts.set(qn('w:eastAsia'), font_name)
rFonts.set(qn('w:cs'), font_name)
def set_style_font(style, font_name: str):
"""Set font name on a style element."""
style.font.name = font_name
# Access the underlying XML to set all font attributes
element = style.element
rPr = element.get_or_add_rPr()
rFonts = rPr.find(qn('w:rFonts'))
if rFonts is None:
rFonts = OxmlElement('w:rFonts')
rPr.insert(0, rFonts)
rFonts.set(qn('w:ascii'), font_name)
rFonts.set(qn('w:hAnsi'), font_name)
rFonts.set(qn('w:eastAsia'), font_name)
rFonts.set(qn('w:cs'), font_name)
def load_brand_config(brand_name: str) -> dict:
"""Load brand configuration from the brand-mapping.json file."""
script_dir = Path(__file__).parent.parent
config_path = script_dir / 'templates' / 'brand-mapping.json'
with open(config_path, 'r') as f:
config = json.load(f)
if brand_name not in config['brands']:
available = ', '.join(config['brands'].keys())
raise ValueError(f"Brand '{brand_name}' not found. Available: {available}")
return config['brands'][brand_name]
def add_page_break(doc):
"""Add a page break to the document."""
doc.add_page_break()
def apply_brand_to_docx(input_path: str, brand_name: str, output_path: str):
"""Apply brand styling to a DOCX file by recreating it with proper styles."""
brand = load_brand_config(brand_name)
# Load the source document
source_doc = Document(input_path)
# Create a new document
doc = Document()
# Extract brand settings
heading_font = brand['typography']['headingFont']
body_font = brand['typography']['bodyFont']
h1_style = brand['styles']['h1']
h2_style = brand['styles']['h2']
h3_style = brand['styles']['h3']
body_style = brand['styles']['body']
primary_color = hex_to_rgb(brand['colors']['primary'])
text_color = hex_to_rgb(brand['colors']['textPrimary'])
secondary_color = hex_to_rgb(brand['colors']['textSecondary'])
accent_color = hex_to_rgb(brand['colors']['accent'])
# Apply styles to the new document
styles = doc.styles
# Normal style
normal = styles['Normal']
set_style_font(normal, body_font)
normal.font.size = Pt(body_style['size'])
normal.font.color.rgb = text_color
normal.paragraph_format.space_before = Pt(0)
normal.paragraph_format.space_after = Pt(10)
normal.paragraph_format.line_spacing = 1.15
# Title style
title_style = styles['Title']
set_style_font(title_style, heading_font)
title_style.font.size = Pt(h1_style['size'] + 8)
title_style.font.bold = h1_style.get('bold', True)
title_style.font.color.rgb = primary_color
title_style.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER
# Heading 1 - chapter headings
h1 = styles['Heading 1']
set_style_font(h1, heading_font)
h1.font.size = Pt(h1_style['size'])
h1.font.bold = h1_style.get('bold', True)
h1.font.color.rgb = hex_to_rgb(h1_style['color'])
h1.paragraph_format.space_before = Pt(0)
h1.paragraph_format.space_after = Pt(18)
h1.paragraph_format.line_spacing = 1.0
# Heading 2 - section headings
h2 = styles['Heading 2']
set_style_font(h2, heading_font)
h2.font.size = Pt(h2_style['size'])
h2.font.bold = h2_style.get('bold', True)
h2.font.color.rgb = hex_to_rgb(h2_style['color'])
h2.paragraph_format.space_before = Pt(18)
h2.paragraph_format.space_after = Pt(8)
h2.paragraph_format.line_spacing = 1.0
# Heading 3 - sub-section headings
h3 = styles['Heading 3']
set_style_font(h3, heading_font)
h3.font.size = Pt(h3_style['size'])
h3.font.bold = h3_style.get('bold', True)
h3.font.color.rgb = hex_to_rgb(h3_style['color'])
h3.paragraph_format.space_before = Pt(12)
h3.paragraph_format.space_after = Pt(6)
h3.paragraph_format.line_spacing = 1.0
# List styles
try:
list_bullet = styles['List Bullet']
set_style_font(list_bullet, body_font)
list_bullet.font.size = Pt(body_style['size'])
list_bullet.font.color.rgb = text_color
list_bullet.paragraph_format.space_before = Pt(2)
list_bullet.paragraph_format.space_after = Pt(2)
except:
pass
try:
list_number = styles['List Number']
set_style_font(list_number, body_font)
list_number.font.size = Pt(body_style['size'])
list_number.font.color.rgb = text_color
list_number.paragraph_format.space_before = Pt(2)
list_number.paragraph_format.space_after = Pt(2)
except:
pass
# Set margins
for section in doc.sections:
section.top_margin = Inches(1)
section.bottom_margin = Inches(1)
section.left_margin = Inches(1.25)
section.right_margin = Inches(1.25)
# Copy content from source to new document with styling
for para in source_doc.paragraphs:
style_name = para.style.name if para.style else 'Normal'
para_text = para.text.strip()
# Handle Heading 1 (chapters) - ALWAYS add page break before
if style_name.startswith('Heading 1') or style_name == 'Heading 1':
doc.add_page_break()
new_para = doc.add_heading(para_text, level=1)
elif style_name.startswith('Heading 2') or style_name == 'Heading 2':
new_para = doc.add_heading(para_text, level=2)
elif style_name.startswith('Heading 3') or style_name == 'Heading 3':
new_para = doc.add_heading(para_text, level=3)
elif style_name == 'Title':
# Title centered on page
new_para = doc.add_paragraph()
new_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
new_para.paragraph_format.space_before = Pt(200)
new_para.paragraph_format.space_after = Pt(24)
for run in para.runs:
new_run = new_para.add_run(run.text)
set_font_name(new_run, heading_font)
new_run.font.size = Pt(h1_style['size'] + 14)
new_run.font.bold = True
new_run.font.color.rgb = primary_color
elif 'List Bullet' in style_name or style_name == 'List Bullet':
new_para = doc.add_paragraph(style='List Bullet')
new_para.paragraph_format.space_before = Pt(2)
new_para.paragraph_format.space_after = Pt(2)
for run in para.runs:
new_run = new_para.add_run(run.text)
set_font_name(new_run, body_font)
new_run.font.size = Pt(body_style['size'])
new_run.font.color.rgb = text_color
if run.bold:
new_run.bold = True
if run.italic:
new_run.italic = True
elif 'List Number' in style_name or style_name == 'List Number':
new_para = doc.add_paragraph(style='List Number')
new_para.paragraph_format.space_before = Pt(2)
new_para.paragraph_format.space_after = Pt(2)
for run in para.runs:
new_run = new_para.add_run(run.text)
set_font_name(new_run, body_font)
new_run.font.size = Pt(body_style['size'])
new_run.font.color.rgb = text_color
if run.bold:
new_run.bold = True
if run.italic:
new_run.italic = True
else:
# Regular paragraph
new_para = doc.add_paragraph()
# Preserve alignment
if para.alignment:
new_para.alignment = para.alignment
new_para.paragraph_format.space_before = Pt(0)
new_para.paragraph_format.space_after = Pt(10)
# Copy runs with formatting
for run in para.runs:
new_run = new_para.add_run(run.text)
set_font_name(new_run, body_font)
new_run.font.size = Pt(body_style['size'])
new_run.font.color.rgb = text_color
if run.bold:
new_run.bold = True
if run.italic:
new_run.italic = True
if run.underline:
new_run.underline = True
# Copy tables if any
for table in source_doc.tables:
rows = len(table.rows)
cols = len(table.columns)
new_table = doc.add_table(rows=rows, cols=cols)
new_table.style = 'Table Grid'
for i, row in enumerate(table.rows):
for j, cell in enumerate(row.cells):
new_cell = new_table.rows[i].cells[j]
for para in cell.paragraphs:
if new_cell.paragraphs:
new_para = new_cell.paragraphs[0]
new_para.clear()
else:
new_para = new_cell.add_paragraph()
for run in para.runs:
new_run = new_para.add_run(run.text)
set_font_name(new_run, body_font)
new_run.font.size = Pt(body_style['size'])
new_run.font.color.rgb = text_color
if run.bold:
new_run.bold = True
# Save the new document
doc.save(output_path)
print(f"Successfully applied '{brand['name']}' branding to: {output_path}")
def list_brands():
"""List all available brands with descriptions."""
script_dir = Path(__file__).parent.parent
config_path = script_dir / 'templates' / 'brand-mapping.json'
with open(config_path, 'r') as f:
config = json.load(f)
print("\n" + "=" * 70)
print("DOCUMENT POLISHER - Available Brand Styles")
print("=" * 70 + "\n")
for brand_id, brand in config['brands'].items():
print(f" {brand_id:12} | {brand['name']}")
print(f" {' ':12} | {brand['description']}")
print(f" {' ':12} | Category: {brand['category']}")
print(f" {' ':12} | Primary: {brand['colors']['primary']}, Accent: {brand['colors']['accent']}")
print()
print("-" * 70)
print("Usage: python apply_brand.py <input.docx> <brand_name> <output.docx>")
print("-" * 70 + "\n")
def main():
if len(sys.argv) == 1 or sys.argv[1] in ['-h', '--help', 'list', '--list']:
list_brands()
return
if len(sys.argv) != 4:
print("Usage: python apply_brand.py <input.docx> <brand_name> <output.docx>")
print(" python apply_brand.py --list # Show available brands")
sys.exit(1)
input_path = sys.argv[1]
brand_name = sys.argv[2].lower()
output_path = sys.argv[3]
if not os.path.exists(input_path):
print(f"Error: Input file '{input_path}' not found.")
sys.exit(1)
try:
apply_brand_to_docx(input_path, brand_name, output_path)
except ValueError as e:
print(f"Error: {e}")
sys.exit(1)
except Exception as e:
print(f"Error processing document: {e}")
import traceback
traceback.print_exc()
sys.exit(1)
if __name__ == '__main__':
main()
{
"brands": {
"economist": {
"name": "The Economist",
"description": "Iconic editorial style with signature red and serif typography. Perfect for reports, analysis, and thought leadership.",
"category": "editorial",
"colors": {
"primary": "#E3120B",
"accent": "#1F2E7A",
"background": "#FFFFFF",
"textPrimary": "#0D0D0D",
"textSecondary": "#666666"
},
"typography": {
"headingFont": "Georgia",
"bodyFont": "Georgia",
"headingWeight": "bold",
"bodyWeight": "normal"
},
"styles": {
"h1": {"size": 28, "color": "#E3120B", "bold": true},
"h2": {"size": 18, "color": "#1F2E7A", "bold": true},
"h3": {"size": 13, "color": "#0D0D0D", "bold": true},
"body": {"size": 11, "color": "#0D0D0D"},
"caption": {"size": 9, "color": "#666666", "italic": true}
},
"elements": {
"borderRadius": 0,
"tableStyle": "minimal",
"accentUse": "headers_only"
}
},
"mckinsey": {
"name": "McKinsey & Company",
"description": "Premium consulting aesthetic with sharp corners and bold blue accents. Ideal for strategy decks and executive summaries.",
"category": "consulting",
"colors": {
"primary": "#2251FF",
"accent": "#051C2C",
"background": "#FFFFFF",
"textPrimary": "#051C2C",
"textSecondary": "#666666"
},
"typography": {
"headingFont": "Georgia",
"bodyFont": "Calibri",
"headingWeight": "bold",
"bodyWeight": "normal"
},
"styles": {
"h1": {"size": 52, "color": "#051C2C", "bold": true},
"h2": {"size": 32, "color": "#051C2C", "bold": true},
"h3": {"size": 20, "color": "#051C2C", "bold": true},
"body": {"size": 11, "color": "#051C2C"},
"caption": {"size": 9, "color": "#666666"}
},
"elements": {
"borderRadius": 0,
"tableStyle": "clean_lines",
"accentUse": "cta_and_highlights"
}
},
"deloitte": {
"name": "Deloitte",
"description": "Modern professional with teal-blue accents and pill-shaped elements. Great for audits, assessments, and formal reports.",
"category": "consulting",
"colors": {
"primary": "#007CB0",
"accent": "#0076A8",
"background": "#FFFFFF",
"textPrimary": "#000000",
"textSecondary": "#666666"
},
"typography": {
"headingFont": "Calibri",
"bodyFont": "Calibri",
"headingWeight": "bold",
"bodyWeight": "normal"
},
"styles": {
"h1": {"size": 40, "color": "#007CB0", "bold": true},
"h2": {"size": 28, "color": "#007CB0", "bold": true},
"h3": {"size": 16, "color": "#000000", "bold": true},
"body": {"size": 11, "color": "#000000"},
"caption": {"size": 9, "color": "#666666"}
},
"elements": {
"borderRadius": 8,
"tableStyle": "rounded",
"accentUse": "headers_and_callouts"
}
},
"kpmg": {
"name": "KPMG",
"description": "Bold corporate style with two-tone blue palette and condensed headings. Suitable for financial reports and compliance docs.",
"category": "consulting",
"colors": {
"primary": "#005EB8",
"accent": "#00338D",
"background": "#FFFFFF",
"textPrimary": "#00338D",
"textSecondary": "#666666"
},
"typography": {
"headingFont": "Calibri",
"bodyFont": "Calibri",
"headingWeight": "bold",
"bodyWeight": "normal"
},
"styles": {
"h1": {"size": 42, "color": "#00338D", "bold": true},
"h2": {"size": 38, "color": "#00338D", "bold": true},
"h3": {"size": 16, "color": "#00338D", "bold": true},
"body": {"size": 11, "color": "#00338D"},
"caption": {"size": 9, "color": "#666666"}
},
"elements": {
"borderRadius": 3,
"tableStyle": "rounded_modern",
"accentUse": "buttons_and_badges"
}
},
"stripe": {
"name": "Stripe",
"description": "Tech-forward with dark blue and purple gradients. Perfect for API docs, developer guides, and product specs.",
"category": "tech",
"colors": {
"primary": "#0A2540",
"accent": "#635BFF",
"background": "#FFFFFF",
"textPrimary": "#0A2540",
"textSecondary": "#3F4B66"
},
"typography": {
"headingFont": "Arial",
"bodyFont": "Arial",
"headingWeight": "medium",
"bodyWeight": "normal"
},
"styles": {
"h1": {"size": 32, "color": "#0A2540", "bold": true},
"h2": {"size": 24, "color": "#0A2540", "bold": true},
"h3": {"size": 16, "color": "#0A2540", "bold": true},
"body": {"size": 11, "color": "#0A2540"},
"caption": {"size": 9, "color": "#3F4B66"}
},
"elements": {
"borderRadius": 16,
"tableStyle": "subtle_shadow",
"accentUse": "code_and_highlights"
}
},
"apple": {
"name": "Apple",
"description": "Minimalist premium with SF Pro typography and generous whitespace. Ideal for product docs and user guides.",
"category": "tech",
"colors": {
"primary": "#0071E3",
"accent": "#0066CC",
"background": "#FFFFFF",
"textPrimary": "#1D1D1F",
"textSecondary": "#86868B"
},
"typography": {
"headingFont": "Arial",
"bodyFont": "Arial",
"headingWeight": "medium",
"bodyWeight": "normal"
},
"styles": {
"h1": {"size": 32, "color": "#1D1D1F", "bold": false},
"h2": {"size": 24, "color": "#1D1D1F", "bold": false},
"h3": {"size": 16, "color": "#1D1D1F", "bold": true},
"body": {"size": 12, "color": "#1D1D1F"},
"caption": {"size": 10, "color": "#86868B"}
},
"elements": {
"borderRadius": 12,
"tableStyle": "minimal_clean",
"accentUse": "links_only"
}
},
"ibm": {
"name": "IBM",
"description": "Enterprise authority with Plex typography and Carbon design. Best for technical documentation and enterprise reports.",
"category": "tech",
"colors": {
"primary": "#0F62FE",
"accent": "#161616",
"background": "#FFFFFF",
"textPrimary": "#161616",
"textSecondary": "#525252"
},
"typography": {
"headingFont": "Arial",
"bodyFont": "Arial",
"headingWeight": "bold",
"bodyWeight": "normal"
},
"styles": {
"h1": {"size": 36, "color": "#161616", "bold": true},
"h2": {"size": 28, "color": "#161616", "bold": true},
"h3": {"size": 18, "color": "#161616", "bold": true},
"body": {"size": 12, "color": "#161616"},
"caption": {"size": 10, "color": "#525252"}
},
"elements": {
"borderRadius": 0,
"tableStyle": "grid",
"accentUse": "cta_primary"
}
},
"notion": {
"name": "Notion",
"description": "Clean productivity aesthetic with Inter font and subtle blue accents. Perfect for wikis, docs, and project plans.",
"category": "productivity",
"colors": {
"primary": "#2383E2",
"accent": "#0075DE",
"background": "#FFFFFF",
"textPrimary": "#191918",
"textSecondary": "#6B6B6B"
},
"typography": {
"headingFont": "Segoe UI",
"bodyFont": "Segoe UI",
"headingWeight": "bold",
"bodyWeight": "normal"
},
"styles": {
"h1": {"size": 48, "color": "#191918", "bold": true},
"h2": {"size": 32, "color": "#191918", "bold": true},
"h3": {"size": 20, "color": "#191918", "bold": true},
"body": {"size": 12, "color": "#191918"},
"caption": {"size": 10, "color": "#6B6B6B"}
},
"elements": {
"borderRadius": 5,
"tableStyle": "block_based",
"accentUse": "callouts_and_links"
}
},
"linear": {
"name": "Linear",
"description": "Ultra-modern dark aesthetic with purple accents. Great for product specs, changelogs, and dev documentation.",
"category": "tech",
"colors": {
"primary": "#5E6AD2",
"accent": "#A1A7C1",
"background": "#FFFFFF",
"textPrimary": "#1A1A1A",
"textSecondary": "#6B6B6B"
},
"typography": {
"headingFont": "Arial",
"bodyFont": "Arial",
"headingWeight": "medium",
"bodyWeight": "normal"
},
"styles": {
"h1": {"size": 32, "color": "#1A1A1A", "bold": true},
"h2": {"size": 24, "color": "#1A1A1A", "bold": true},
"h3": {"size": 16, "color": "#1A1A1A", "bold": true},
"body": {"size": 11, "color": "#1A1A1A"},
"caption": {"size": 9, "color": "#6B6B6B"}
},
"elements": {
"borderRadius": 8,
"tableStyle": "modern_subtle",
"accentUse": "badges_and_status"
}
},
"figma": {
"name": "Figma",
"description": "Design-forward with vibrant multi-color palette. Ideal for creative briefs, design docs, and brand guidelines.",
"category": "design",
"colors": {
"primary": "#A259FF",
"accent": "#FF7262",
"background": "#FFFFFF",
"textPrimary": "#1E1E1E",
"textSecondary": "#6B6B6B"
},
"typography": {
"headingFont": "Arial",
"bodyFont": "Arial",
"headingWeight": "bold",
"bodyWeight": "normal"
},
"styles": {
"h1": {"size": 36, "color": "#A259FF", "bold": true},
"h2": {"size": 26, "color": "#1ABCFE", "bold": true},
"h3": {"size": 16, "color": "#0ACF83", "bold": true},
"body": {"size": 11, "color": "#1E1E1E"},
"caption": {"size": 10, "color": "#6B6B6B"}
},
"elements": {
"borderRadius": 8,
"tableStyle": "colorful",
"accentUse": "highlights_and_dividers"
}
}
},
"categories": {
"editorial": ["economist"],
"consulting": ["mckinsey", "deloitte", "kpmg"],
"tech": ["stripe", "apple", "ibm", "linear"],
"productivity": ["notion"],
"design": ["figma"]
}
}
Related skills
FAQ
Is Document Polisher safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.